-
Notifications
You must be signed in to change notification settings - Fork 157
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: TrackStateType safety, bitsize, conversion #2201
refactor: TrackStateType safety, bitsize, conversion #2201
Conversation
Codecov Report
@@ Coverage Diff @@
## main #2201 +/- ##
==========================================
- Coverage 49.33% 49.32% -0.02%
==========================================
Files 441 441
Lines 25207 25208 +1
Branches 11622 11626 +4
==========================================
- Hits 12436 12433 -3
Misses 4513 4513
- Partials 8258 8262 +4
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
📊 Physics performance monitoring for afd9f5aSummary VertexingSeedingCKFAmbiguity resolutionTruth tracking (Kalman Filter)Truth tracking (GSF) |
We use a lot of memory in busy events, e.g. for ttbar pu200 we use multiple gigabytes of track state storage. This PR reduces this by rolling a track selection into the track finding algorithm. The CKF now operates on a temporary track container that is cleared between seeds and reused. Only tracks that pass the selection are copied into the output collection. In my testing this reduces the memory consumption by about 2x. Before: ![main_PrMon_wtime_vs_vmem_pss_rss_swap](https://github.com/acts-project/acts/assets/1058585/38d424fc-6a36-4f01-a522-5bb89e756409) After: ![feat_v3_PrMon_wtime_vs_vmem_pss_rss_swap](https://github.com/acts-project/acts/assets/1058585/36df26c7-701e-478c-b972-c1bd6ab2027c) Blocked by: - #2202 - #2201 - #2203 - #2204 - #2205 - #2267
This makes TrackStateType check it's internal pointer, fixes the size of the bitset used for manipulation, and allow auto-conversion from mutable to const.