acts icon indicating copy to clipboard operation
acts copied to clipboard

feat: Telescope style seeding

Open ssdetlab opened this issue 1 year ago • 2 comments

PR introduces the first version of the base class, tasked to perform seeding in the telescope-style detectors.

Given a set of SourceLinks the PathSeeder produces a set of seeds. Each seed includes the estimates of the IP parameters (vertex, energy, momentum) and a list of SourceLinks to be considered as candidates for the track hits.

In order to do that PathSeeder employs a list of delegates:

  • SourceLinkCalibrator is used to convert the SourceLinks attached local hits to global coordinates
  • PathWidthLookup is used to define the SourceLink collection region around the rough track estimate (see below)
  • IntersectionLookup is used to collect the IDs of the surfaces being intersected by the rough track estimate, as well as the intersection coordinates
  • TrackEstimator is used to estimate the energy of the track candidate, IP parameters, and the momentum direction at the first tracking layer

And a single interface:

  • ISourceLinkGrid is used to sort the SourceLinks, associated with different telescope layers, into bins that can be used for fast lookup when constructing the seed

The Delegate-based structure of the algorithm allows for quite flexible extensions of the algorithm, thus accommodating for various experiment-specific optimizations. Locally, the algorithm was tested on the telescope geometries of various complexity, in presence and absence of the magnetic field.

This is a first version of the algorithm, so everything is up to discussion here. As soon as the structure of the class is agreed upon, I'll put up PRs with some possible implementations of the Delegate-holding classes, Examples FW algorithms, Python bindings, etc.

The intended use is showcased in the UnitTest coming with the PR.

As a side note, to accommodate the tests had to modify the TestSourceLink a bit, so that it supports the Detector geometry

ssdetlab avatar Jun 17 '24 09:06 ssdetlab

📊: Physics performance monitoring for 133e026dd58f83a16487f6e042932383b21c24b1

Full contents

physmon summary

github-actions[bot] avatar Jun 17 '24 10:06 github-actions[bot]

Codecov Report

Attention: Patch coverage is 41.07143% with 33 lines in your changes missing coverage. Please review.

Project coverage is 47.29%. Comparing base (7e1e819) to head (048f6d4). Report is 51 commits behind head on main.

Files Patch % Lines
Core/include/Acts/Seeding/PathSeeder.hpp 36.73% 5 Missing and 26 partials :warning:
...e/include/Acts/EventData/detail/TestSourceLink.hpp 66.66% 1 Missing and 1 partial :warning:
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3300      +/-   ##
==========================================
- Coverage   47.31%   47.29%   -0.02%     
==========================================
  Files         512      514       +2     
  Lines       30437    30492      +55     
  Branches    14795    14826      +31     
==========================================
+ Hits        14400    14422      +22     
- Misses       5404     5410       +6     
- Partials    10633    10660      +27     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar Jun 17 '24 14:06 codecov[bot]

This is now good to go in.

asalzburger avatar Aug 15 '24 07:08 asalzburger

:white_check_mark: Athena integration test results [5c46e0d4777aaf86822c2b3664566accf46ea35f]

:white_check_mark: All tests successful

status job report
:green_circle: report_pull_request
:green_circle: run_art_test: test_data18_13TeV_1000evt
:green_circle: run_art_test: test_ttbarPU40_reco
:green_circle: test_ActsDumpGeometryIdentifiers
:green_circle: test_ActsCheckObjectCountsCachedWorkflow
:green_circle: test_ActsCheckObjectCountsWorkflow
:green_circle: test_ActsEFTrackFit
:green_circle: test_ActsPersistifySeeds
:green_circle: test_ActsBenchmarkWithSpot
:green_circle: test_ActsAnalogueClustering
:green_circle: test_ActsWorkflowHeavyIons
:green_circle: test_ActsWorkflowFastTracking
:green_circle: test_ActsWorkflowCached
:green_circle: test_ActsWorkflow
:green_circle: test_ActsValidateAmbiguityResolution
:green_circle: test_ActsValidateResolvedTracks
:green_circle: test_ActsValidateTracks
:green_circle: test_ActsValidateActsCoreSpacePoints
:green_circle: test_ActsValidateActsSpacePoints
:green_circle: test_ActsValidateSeeds
:green_circle: test_ActsValidateOrthogonalSeeds
:green_circle: test_ActsValidateClusters
:green_circle: test_ActsPersistifyEDM
:green_circle: test_ActsGSFRefitting
:green_circle: test_ActsKfRefitting
:green_circle: test_ActsExtrapolationAlgTest
:green_circle: test_ActsITkTest
:green_circle: run_workflow_tests_run4_mc
:green_circle: run_workflow_tests_run2_mc
:green_circle: run_workflow_tests_run2_data
:green_circle: run_workflow_tests_run3_mc
:green_circle: run_workflow_tests_run3_data
:green_circle: run_unit_tests

acts-project-service avatar Aug 22 '24 14:08 acts-project-service