-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
Fix MET unclustered energy computation [10_6_X] #29330
Conversation
A new Pull Request was created by @ahinzmann for CMSSW_10_6_X. It involves the following packages: CommonTools/CandAlgos @perrotta, @cmsbuild, @santocch, @slava77 can you please review it and eventually sign? Thanks. cms-bot commands are listed here
|
FYI @danbarto @camclean @alefisico @saghosh |
@cmsbuild please test |
The tests are being triggered in jenkins. |
}; | ||
|
||
CandPtrProjector::CandPtrProjector(edm::ParameterSet const& iConfig): | ||
candSrcToken_{consumes<edm::View<reco::Candidate>>(iConfig.getParameter<edm::InputTag>("src"))}, | ||
vetoSrcToken_{consumes<edm::View<reco::Candidate>>(iConfig.getParameter<edm::InputTag>("veto"))} | ||
{ | ||
useDeltaRforFootprint_ = iConfig.exists("useDeltaRforFootprint") ? iConfig.getParameter<bool>("useDeltaRforFootprint") : false; |
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.
looks like fillDescriptions is in order
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.
even though a fillDescriptions would be nice in general, my comment was triggered mostly by the use of ::exists.
It seems like in this case the new parameter can just be added as required and inserted in existing .py files with an appropriate default value.
@@ -39,6 +39,7 @@ metsig::METSignificance::METSignificance(const edm::ParameterSet& iConfig) { | |||
jetEtas_ = cfgParams.getParameter<std::vector<double> >("jeta"); | |||
jetParams_ = cfgParams.getParameter<std::vector<double> >("jpar"); | |||
pjetParams_ = cfgParams.getParameter<std::vector<double> >("pjpar"); | |||
useDeltaRforFootprint_ = cfgParams.exists("useDeltaRforFootprint") ? cfgParams.getParameter<bool>("useDeltaRforFootprint") : false; |
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.
fillPSetDescription is in order, in line with https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideConfigurationValidationAndHelp#A_Plugin_Module_Using_Another_He
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.
here as well, it looks like the useDeltaRforFootprint can just be added as required (in case implementation of the PSet validation is less motivating)
Tag for #27889 |
+1 |
Comparison job queued. |
Comparison is ready Comparison Summary:
|
The tests are being triggered in jenkins. |
+1 |
Comparison job queued. |
Comparison is ready Comparison Summary:
|
+1
|
+1 |
This pull request is fully signed and it will be integrated in one of the next CMSSW_10_6_X IBs (tests are also fine) and once validation in the development release cycle CMSSW_11_1_X is complete. This pull request will now be reviewed by the release team before it's merged. @silviodonato, @fabiocos (and backports should be raised in the release meeting by the corresponding L2) |
backport of #29331 |
+1 |
PR description:
Fix MET significance and unclustered pT computation for PUPPI MET. Previously these lines failed for the candidates inside jets as puppi MET and puppi jets are clustered from different particle collections with different particle momenta:
cmssw/RecoMET/METAlgorithms/src/METSignificance.cc
Lines 95 to 99 in 760c981
Particles from jets with puppi!=puppiForMET weights were not removed or falsely kept from unclustered energy.
Fix MET unclusted pT uncertainty computation for PUPPI MET. Previously this line failed for the candidates inside jets as puppi MET and puppi jets are clustered from different particle collections:
cmssw/PhysicsTools/PatUtils/python/tools/runMETCorrectionsAndUncertainties.py
Line 791 in 760c981
Particles from jets were not removed from unclustered energy.
Replace dE-matching by dR-matching when computing unclustered pT and MET signficance for PF MET and PUPPI MET. Some low pT particles randomly passed the dE matching even though they did not point in the same direction, leading to changes up to 25%.
In this PR for UL-reMiniAOD, the issue is fixed by matching candidates based on dR instead of Ptrs. In the corresponding PR in the master #29254, the issue is solved by using the same particle flow collections for puppi jets and puppi MET and separate weight valuemaps.
PR validation:
On 100 events of 136.8311, it was checked that this PR obtains the same values of metSumPtUnlustered, metSignficance and unclustered energy uncertainties as the corresponding PT in the master #29254.
if this PR is a backport please specify the original PR and why you need to backport that PR:
This is a backport of the fix in #29331.