-
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
PackedCandidate PF MuonID flags not properly set in PATPackedCandidateProducer? Implications on Type-1 MET re-correction #45814
Comments
cms-bot internal usage |
A new Issue was created by @nurfikri89. @Dr15Jones, @antoniovilela, @makortel, @mandrenguyen, @rappoccio, @sextonkennedy, @smuzaffar can you please review it and eventually sign/assign? Thanks. cms-bot commands are listed here |
assign PhysicsTools/PatAlgos |
New categories assigned: reconstruction,xpog @vlimant,@hqucms,@ftorrresd,@jfernan2,@mandrenguyen you have been requested to review this Pull request/Issue and eventually sign? Thanks |
Fixed with PR #45818, merged with |
+1 |
+1 |
This issue is fully signed and ready to be closed. |
@cmsbuild, please close |
I have encountered what might be an unintentional wrong set up (?) regarding the MuonID flags of
pat::PackedCandidates
in MiniAODs. It seems that there are (somewhat rare) instances wherepat::PackedCandidate
PF muons,whose
isStandAloneMuon()
andisGlobalMuon()
flags arefalse
but for its originalreco::PFCandidate
in the parent AOD, the two MuonID flags aretrue
. Technically for thereco::PFCandidate
, these flags are retrieved through itsmuonRef()
.This inconsistency can be traced back to how the MuonID flags are set up in
PATPackedCandidateProducer
:cmssw/PhysicsTools/PatAlgos/plugins/PATPackedCandidateProducer.cc
Lines 326 to 328 in bbbd522
where
setMuonID()
is called when thereco::PFCandidate
hascand.muonRef().isNonnull()
and the candidate has atrackRef()
:cmssw/PhysicsTools/PatAlgos/plugins/PATPackedCandidateProducer.cc
Line 244 in bbbd522
The instances that I mentioned above are when a
reco::PFCandidate
muon have amuonRef()
but do not have atrackRef()
. To fix this inconsistency, we just need to move MuonID flags setting block, to outside of theif (ctrack)
block.One implication for this is the consistency of Type-1 MET corrections for different data-tiers usage (which is the context of my study).
The Type-1 correction procedure requires that PF muon candidates inside a jet are to be removed from the jet raw four-vector if it passes
isStandAloneMuon()
orisGlobalMuon()
flags and this is where the Muon ID flag differences betweenreco::PFCandidate
andpat::PackedCandidate
becomes a source of inconsistency between (Type-1 corrected) MET in MiniAOD and the MET re-corrections when they are done during MiniAOD processing.At the PAT step, the jet cleaning stage (to remove PF muon constituents) loops over
reco::PFCandidates
while for the NANO step (or any analysis using MiniAODs as input), it loops overpat::PackedCandidates
. This leads to situations where the PF muon is removed because it passes either MuonID flags if it is areco::PFCandidate
but it does not get removed when it is apat::PackedCandidate
due to the two ID flags not being set at all in PATPackedCandidateProducer.The text was updated successfully, but these errors were encountered: