-
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: TrackProxy::copyFrom copies track states #2205
refactor: TrackProxy::copyFrom copies track states #2205
Conversation
Great ! Seems to work. I suppose the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me!
If the track state containers are not identical, even if the tip index is copied it's not valid in the target track container. |
Codecov Report
@@ Coverage Diff @@
## main #2205 +/- ##
=======================================
Coverage 49.31% 49.32%
=======================================
Files 441 441
Lines 25209 25247 +38
Branches 11627 11643 +16
=======================================
+ Hits 12433 12452 +19
- Misses 4513 4520 +7
- Partials 8263 8275 +12
... and 3 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
📊 Physics performance monitoring for c74eeb8Summary VertexingSeedingCKFAmbiguity resolutionTruth tracking (Kalman Filter)Truth tracking (GSF) |
Ok it seems I need to debug a bit more. |
Ok I think I fixed the crash, let's see if the CI agrees. |
Looks good. Can you reapprove? |
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 uses a newly added function to reverse track states to create the track states with reverted order and then flip the order around to produce a good copy.
Blocked by: