-
Notifications
You must be signed in to change notification settings - Fork 4.6k
Fix idLastStoredAncestor to point to a track parent when the full graph is not saved
#48986
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
Conversation
|
cms-bot internal usage |
|
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48986/46163 |
|
A new Pull Request was created by @AuroraPerego for master. It involves the following packages:
@civanch, @cmsbuild, @kpedro88, @mdhildreth can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
|
@AuroraPerego , it would be good to have a discussion on this modifications. We would like to understand how this modification affect Run2 and Run3 WFs? How proposed modification affect future asynchronous approach for Phase2 WFs, when track will be handled in parallel? |
|
Another question: does this change impact the fineCalo approach for MC truth? |
Sure
The
If mother / daughter tracks aren't handled in parallel, there should be no problem. If they are, then the daughter should know if the mother is saved or not before filling this member, but I suppose it's a general problem here. |
|
please test |
1 similar comment
|
please test |
|
+1 Size: This PR adds an extra 16KB to repository Comparison SummarySummary:
|
|
+1 |
|
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @ftenchini, @sextonkennedy, @mandrenguyen (and backports should be raised in the release meeting by the corresponding L2) |
|
+1 |
PR description:
Currently the
idLastStoredAncestor()in the track info stores:simTrackcollectionsimTrackcollection if the track itself will not be savedThis led to a problem in the case of a particle which is saved in the collection but its parent is not, because
idLastStoredAncestor()pointed to that track, but there was no way in the final simtrack collection to understand from which particle this track originated.With this change the
idLastStoredAncestor()will contain:simTrackcollection, and all its parents up to the first G4 track are savedsimTrackcollection otherwiseAs an example, suppose we have track 1
->track 2->track 3->track 4 (a -> bmeans that trackais the mother of trackb) and track 3 is the only one not saved in the event. Before this PR track 4 was saved but there was no way to link it to track 1, now it stores the Geant4 Id of track 2.This is a follow-up of #47883 that eventually will allow us to recover the
simClusters that are currently discarded.PR validation:
Looked at the output files of the
SimGeneral/Debugging/python/caloParticleDebugger_cfg.py, the only expected change is in the value returned by the methodgetPrimaryOrLastStoredID()of the simTrack.FYI @rovere @fabiocos