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
Reorganization of kdtrees for PFBlockAlgo and optimize track-hcal links #31295
Reorganization of kdtrees for PFBlockAlgo and optimize track-hcal links #31295
Conversation
…he number of max hcal links per track.
…d tracks, V0, and gammaconv tracks.
The code-checks are being triggered in jenkins. |
The code-checks are being triggered in jenkins. |
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-31295/18022
|
A new Pull Request was created by @hatakeyamak (Kenichi Hatakeyama) for master. It involves the following packages: DataFormats/ParticleFlowReco @perrotta, @Martin-Grunewald, @slava77, @cmsbuild, @fwyzard, @jpata 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: ba64a58 CMSSW: CMSSW_11_2_X_2020-08-30-2300 I found follow errors while testing this PR Failed tests: RelVals
When I ran the RelVals I found an error in the following workflows: runTheMatrix-results/23234.0_TTbar_14TeV+2026D49+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14+DigiTrigger+RecoGlobal+HARVESTGlobal/step3_TTbar_14TeV+2026D49+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14+DigiTrigger+RecoGlobal+HARVESTGlobal.log28234.0 step3 runTheMatrix-results/28234.0_TTbar_14TeV+2026D60+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14+DigiTrigger+RecoGlobal+HARVESTGlobal/step3_TTbar_14TeV+2026D60+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14+DigiTrigger+RecoGlobal+HARVESTGlobal.log23434.999 step4 runTheMatrix-results/23434.999_TTbar_14TeV+2026D49PU_PMXS1S2PR+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14+PREMIX_PremixHLBeamSpot14PU+DigiTriggerPU+RecoGlobalPU+HARVESTGlobalPU/step4_TTbar_14TeV+2026D49PU_PMXS1S2PR+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14+PREMIX_PremixHLBeamSpot14PU+DigiTriggerPU+RecoGlobalPU+HARVESTGlobalPU.log |
Comparison not run due to runTheMatrix errors (RelVals and Igprof tests were also skipped) |
Since the largest changes appeared in electrons, I looked at gedGefElectrons (well, actually slimmedElectrons in MINIAODSIM) more closely. The above plot comes from QCD,so the reduction of electron yields is likely the reduction of fakes, but another question is what would be the impact on real electrons. So, I looked at ZEE PU 2021 relval samples (slimmedElectrons, no ID on top of it): This is probably due to reduced combinatorics in PFEGammaAlgo, thanks to more granular PFBlock sizes. So, it looks like this is a favored changes as I already commented. This might also indicates that more close review of PFEGammaAlgo and how links are handled can improve its performance a little more. To me this PR looks good to go. @jainshilpi (any other EGamma people should be notified?) |
+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. @silviodonato, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
This appears to have broken today's IB. The problem is
so we can no longer read the previously written Another item of note is In addition A better data structure for an Event data product would be a sorted |
I see. Thank you. I will look into
I see. I am not clear what we should do about it, and I will appreciate suggestions. Sorry for the trouble. |
Can the earlier "scalar" |
I see. Maybe we can make it work so that it won't crash, but I am not sure if it will do right thing, given that how PFMultiLinksTC is used for different combinations of links is being changed. |
Workflows: 134.807, 134.808, 134.907, 134.908, 136.727, 136.728 and 136.8391 are the ones failing in the IB all in step 2. |
Thank you. I will have a deeper look with urgency. |
this is reading /DoubleEG/Run2015C-ZElectron-PromptReco-v1/RAW-RECO |
I am hoping the latter is the case, but I don't know. I will attack this after my class... Of course I will be happy if somebody come up with a solution by then. |
So, if I comment out: |
if the input |
I'm a bit concerned that this bug did not show up in the jenkins tests. How can we improve this? |
It does not seem like the multilinks are used anywhere outside of PFBlockAlgo. As they are created within PFBlockAlgo for internal consumption, how about marking them transient in the future (or otherwise not saving them in the EDM file, also to save disk space), and just initializing them with defaults to prevent a crash in case of reading legacy files. Just to note, in #31191 (a rebase wrt. this PR is almost done) we change multilinks to be index-based, so this can be revisited once more. |
For the framework, we have ROOT files containing RAW data for all the different file 'format's we've had throughout the history of CMSSW. We have unit tests which run over those files to be sure we can always read the old formats. We have this since the framework guarantees that we can always read all old RAW data files. We don't have anything similar for files containing other data formats. |
OK, understood. Maybe we can look increasing the unit test coverage for reading old files also for reco. In order to fix the issue arising in the IB now, I tried the following: #31485, perhaps we can address that particular approach there. |
A simpler idea would be to just have a job that only reads/writes a file (forcing it not to do a 'fast copy'). |
PR description:
This PR re-organizes kdtrees for track-hcal and track-ecal links, and optimize the track-hcal link storage. It should give much more granular PFBlocks without changing PF outputs (with some caveats [a]), adding huge PFBlocks discussed at:
J. Pata (Sep 2019): https://indico.cern.ch/event/846887/contributions/3557300/
K. Hatakeyama (Mar 2020): https://indico.cern.ch/event/897397/contributions/3784811/
The PFBlock size change:
igprof output with 2023PU ttbar (matrix 12634.99)
I believe this speed-up mainly comes that now we are distinguishing two preshower layers at prefilter stage of linker. (not very time-consuming to start with in offline sequence, but this is a sanity check.)
(Original)
http://hep.baylor.edu/hatake/PFval/misc/igreport_perf_12634.99_PFBlockLinks_ref.res
(with this PR)
http://hep.baylor.edu/hatake/PFval/misc/igreport_perf_12634.99_PFBlockLinks_test.res
[a] Some changes are observed in, for example, rawCaloFraction and rawHcalFraction of packed candidates, while the caloFraction and hcalFraction stay the same. These "raw" quantities follow the history of how candidates are produced in PFBlocks, so this is not surprising.
Also, some changes in btag csv values are observed. In the past, when candidate order changes, we also observed that btag related quantities change. I believe this shouldn't have systematic bias toward the physics performance (to be confirmed by relval etc).
This PR also includes some cleanup, as a follow-up from #31151.
This PR also include a long-standing request from JME to have a config parameter to control the eta range for ECAL-HCAL linkings (currently performed only for |eta|>2.5 i.e. outside the traditional tracker acceptance). @lathomas @ahinzmann
This will have some interference with ongoing: #31191.
It probably makes sense that this simpler PR goes first.
@bendavid @jpata
PR validation:
Run the matrix test 11834.0 (ttbar 2021 with PU), make sure we don't see changes in PF outputs in hlt, reco, and miniaod.
Now also ran 23234.0_TTbar_14TeV+2026D49 and made sure reco PF candidates stay the same.
The PF validation based on 2021 samples can be found at:
http://hep.baylor.edu/hatake/PFval/PFValidation_PFBlockLinks/
if this PR is a backport please specify the original PR and why you need to backport that PR:
This is not backport.