Skip to content
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

Merged

Conversation

paulgessinger
Copy link
Member

@paulgessinger paulgessinger commented Jun 13, 2023

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:

@paulgessinger paulgessinger added this to the next milestone Jun 13, 2023
@paulgessinger
Copy link
Member Author

@goetzgaycken

@goetzgaycken
Copy link
Contributor

Great ! Seems to work. I suppose the tipIndex() = other.tipIndex(); in the version without this patch causes the invalid track states.

@github-actions github-actions bot added the Component - Core Affects the Core module label Jun 13, 2023
@noemina noemina self-requested a review June 13, 2023 15:22
Copy link
Contributor

@noemina noemina left a 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!

@paulgessinger
Copy link
Member Author

Great ! Seems to work. I suppose the tipIndex() = other.tipIndex(); in the version without this patch causes the invalid track states.

If the track state containers are not identical, even if the tip index is copied it's not valid in the target track container.

@paulgessinger paulgessinger added the 🛑 blocked This item is blocked by another item label Jun 14, 2023
@codecov
Copy link

codecov bot commented Jun 14, 2023

Codecov Report

Merging #2205 (c74eeb8) into main (990a060) will increase coverage by 0.00%.
The diff coverage is 54.54%.

@@           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     
Impacted Files Coverage Δ
Core/include/Acts/EventData/TrackProxy.hpp 78.70% <50.00%> (-4.51%) ⬇️
Core/include/Acts/EventData/MultiTrajectory.hpp 70.47% <100.00%> (+0.14%) ⬆️

... and 3 files with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@github-actions
Copy link

github-actions bot commented Jun 14, 2023

📊 Physics performance monitoring for c74eeb8

Summary
Full report
Seeding: seeded, truth estimated, orthogonal
CKF: seeded, truth smeared, truth estimated, orthogonal
IVF: seeded, truth smeared, truth estimated, orthogonal
AMVF: seeded, truth smeared, truth estimated, orthogonal
Ambiguity resolution: seeded, orthogonal
Truth tracking
Truth tracking (GSF)

Vertexing

Vertexing vs. mu
IVF seeded

IVF truth_smeared

IVF truth_estimated

IVF orthogonal

AMVF seeded

AMVF truth_smeared

AMVF truth_estimated

AMVF orthogonal

Seeding

Seeding seeded

Seeding truth_estimated

Seeding orthogonal

CKF

CKF seeded

CKF truth_smeared

CKF truth_estimated

CKF orthogonal

Ambiguity resolution

seeded

Truth tracking (Kalman Filter)

Truth tracking

Truth tracking (GSF)

Truth tracking

@paulgessinger paulgessinger removed the 🛑 blocked This item is blocked by another item label Jun 14, 2023
@paulgessinger
Copy link
Member Author

Ok it seems I need to debug a bit more.

@paulgessinger paulgessinger added the 🚧 WIP Work-in-progress label Jun 14, 2023
@paulgessinger
Copy link
Member Author

Ok I think I fixed the crash, let's see if the CI agrees.

@paulgessinger paulgessinger removed the 🚧 WIP Work-in-progress label Jun 15, 2023
@paulgessinger
Copy link
Member Author

Looks good. Can you reapprove?

@kodiakhq kodiakhq bot merged commit fc0e58c into acts-project:main Jun 15, 2023
50 checks passed
@paulgessinger paulgessinger deleted the refactor/tc-copy-from-track-states branch June 15, 2023 16:08
paulgessinger added a commit to paulgessinger/acts that referenced this pull request Jun 19, 2023
@paulgessinger paulgessinger modified the milestones: next, v27.0.0 Jun 20, 2023
kodiakhq bot pushed a commit that referenced this pull request Jul 6, 2023
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants