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
Better consumes interface for TrackerHitAssociator #8999
Better consumes interface for TrackerHitAssociator #8999
Conversation
A new Pull Request was created by @wmtan for CMSSW_7_5_X. Better consumes interface for TrackerHitAssociator It involves the following packages: SimTracker/TrackerHitAssociation @civanch, @nclopezo, @danduggan, @mdhildreth, @cmsbuild, @deguio can you please review it and eventually sign? Thanks. |
Please test |
The tests are being triggered in jenkins. |
+1 |
This pull request is fully signed and it will be integrated in one of the next CMSSW_7_5_X IBs unless changes (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @nclopezo, @smuzaffar |
+1 |
…HitAssociator Better consumes interface for TrackerHitAssociator
This PR replaces the previous consumes interface for TrackerHitAssociator (implemented in #8647) with a much better interface. Prior to #8647, each TrackerHitAssociator instance was created and destroyed on a per event per module basis, which guaranteed that each auxiliary structure (e.g. map of PSimHits) were deleted as soon as it was no longer needed. PR #8647 unfortunately extended the lifetime of each TrackerHitAssociator instance to be the entire job, so that each map needed to be manually deleted. This is an error prone interface.
This new interface restores the lifetime of each TrackerHitAssociator instance to be per module per event, which automatically guarantees that the memory problems will not occur. The consumes interface is implemented by using a helper class TrackerHitAssociator::Config. Instances of this helper class do last the entire job, but this helper class does not contain any per event data, so there are no memory issues.
Although this PR needs to be tested, it should be expedited, as use of the consumes interface for other TrackerHitAssociator users (there are many) depends on this PR, and development will be hindered if this is not merged in a timely manner. I would strongly suggest that L2 signatures be bypassed if not signed in a timely manner, unless, of course, an L2 has issues with this PR.