[15_0_X] Optimizations for the MkFit converters #47927
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR description:
Tracking with mkFit depends on a series of converters that translate the standard CMSSW objects (e.g. tracking rechits) to the mkFit specific formats.
Given the introduction of mkFit for the tracking iteration at HLT in 2025, it's important that all these converters are as fast as possible.
This PR includes two commits:
SiStripRecHitConverterAlgorithm
that allows filling further collections and a new plugin (MkFitSiStripHitConverterFromClusters
), which acts as drop-in replacement for bothSiStripRecHitConverter
andMkFitSiStripHitConverter
while being faster than the sum of the two.Only the first commit touches code that is currently being executed in release (but it amounts to a call to reserve on some vectors), while the second is fully opt in and needs to be added to sequences to be active.
To avoid touching existing code (for a faster review) there is a small amount of code repetition in
convertHits.h
that can be corrected with a future PR.PR validation:
This change was validated on 731 TTbar MC events from the Winter25 campaign.
The results can be found here.
No differences were observed in either of the commits.
No other code physics object depend on the modules that are being modified.
The timing improvement was measured in the HLT timing server:
If this PR is a backport please specify the original PR and why you need to backport that PR. If this PR will be backported please specify to which release cycle the backport is meant for:
Backport of #47926 for 15_0_X
cc @mmasciov @kskovpen