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
Migrate 4D vertexing and downstream reco to full simulation/reconstruction track timestamps and add TOF PID (10_5_X) #25628
Conversation
…ime of flight particle id
… populate the default offlinePrimaryVertices collections
The code-checks are being triggered in jenkins. |
assign upgrade |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-25628/7942
|
New categories assigned: upgrade @kpedro88 you have been requested to review this Pull request/Issue and eventually sign? Thanks |
A new Pull Request was created by @bendavid (Josh Bendavid) for master. It involves the following packages: CommonTools/RecoAlgos @perrotta, @cmsbuild, @kpedro88, @slava77 can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
@cmsbuild please test |
The tests are being triggered in jenkins. |
-1 Tested at: f487a29 You can see the results of the tests here: I found follow errors while testing this PR Failed tests: Build ClangBuild
I found compilation warning when building: See details on the summary page.
I found compilation warning while trying to compile with clang. Command used:
See details on the summary page. |
Comparison not run due to Build errors (RelVals and Igprof tests were also skipped) |
+upgrade |
+1 |
code-checks |
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-25628/8127 |
from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing | ||
_phase2_timing_slimmingTask = cms.Task(slimmingTask.copy(), | ||
offlineSlimmedPrimaryVertices4D) | ||
phase2_timing.toReplaceWith(slimmingTask,_phase2_timing_slimmingTask) |
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.
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.
Yes, this adds an additional slimmed primary vertex collection to the miniaod. In the case of phase2_timing alone, this corresponds to the fastsim 4d vertices, in the case of phase2_timing_layer, this corresponds to fullsim 4d vertices.
|
||
_phase2_timing_extraCommands = ["keep *_offlineSlimmedPrimaryVertices4D_*_*"] | ||
from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing | ||
phase2_timing.toModify(MicroEventContentMC, outputCommands = MicroEventContentMC.outputCommands + _phase2_timing_extraCommands) |
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.
+1 |
merge |
@bendavid @pmeridian @slava77 @kpedro88 this PR is creating problems in the scenario D19, the old MTD simulation, as it crashes in the test 20434.0, see where in the RECO step3 you get ----- Begin Fatal Exception 23-Jan-2019 05:23:18 CET----------------------- Additional Info: ----- End Fatal Exception ------------------------------------------------- Do we really want to modify this scenario? My understanding is that @kpedro88 preferred to keep it frozen, waiting for the final new MTD simulation to become official to get rid of it |
@bendavid what is the purpose of touching the old simulation? Wouldn't be simpler just modify (phase2_timing_layer_tile | phase2_timing_layer_bar) ? |
Looking at this now, the old scenario was not supposed to be modified here in the end (except for adding the new collection to miniaod which is generic), but since the configuration files for RecoVertex were heavily restructured, probably something was touched by mistake. |
Ok, sorry, we're talking about two different things. |
@bendavid ok, I believe now we understand better, please check https://github.com/fabiocos/cmssw/tree/fc-fixMTD4D |
This actually would remove parts of the track and vertex validation which were already present in the old scenario (and using fastsim inputs). I opened a new PR here which should really preserve the existing behaviour (except for adding the additional slimmed collection in miniaod, which would still be useful/desirable in case this is ever used) |
I suggested a while ago to make a common
|
What would the |
To combine with the |
Ok, thanks. |
(master version of #25627)
Implements changes needed to propagate full simulation and reconstruction based track timestamps to 4D vertex reconstruction and particle flow.
(Previously this was already implemented and running based on the fastsim timestamps used for the MTD Technical Proposal)
The following strategy is used to deal with particles moving slower than the speed of light:
Existing timestamps from the TrackExtender assume the pion mass hypothesis when propagating the MTD cluster time back to the beamline. The valuemaps produced at this step have been extended to provide some additional information in a more convenient form. (Time at MTD, momentum magnitude of refitted track, etc) As well the uncertainty is inflated by adding in quadrature the time of flight difference between the pion and proton mass hypothesis for each track.
First pass of 4D vertex reconstruction runs on the output as above. After a bugfix/protection, combined with the inflated uncertainties it is able to deal with the resulting outliers from slower kaons/protons in a reasonable way.
Additional TOFPIDProducer which tests compatibility of kaon and proton mass hypotheses for the tracks with the 4D vertices from 2) and produces updated timestamps where appropriate. This producer also creates value maps of particle ID probabilities which can be used downstream.
Second pass of 4D vertex reconstruction based on the refined timestamps from 3)
This pull request also migrates the PFCandidate timestamps to the fullsim/reconstruction ones (previously populated from the fastsim). This automatically propagates to the packed candidates in MINIAOD as well.
An additional collection of slimmed primary vertices with timing is added to MINIAOD, but the PackedCandidate-vertex association, puppi, etc are still based on the default primary vertices without timing.
In order to facilitate comparisons and benchmarking, the fastsim-based timestamps and 4d vertex reco is still run and stored. This is especially relevant since direct comparisons may validate the continued use of existing/fastsim-based results where fullsim-based ones are not yet available.
Some discussion and validation/performance plots in https://indico.cern.ch/event/783100/contributions/3273442/attachments/1780769/2896933/mtdvtxJan17-2019.pdf
@pmeridian @lgray