Skip to content
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

Missing jet EM fraction requirements in Type-1 MET correction code? #238

Open
aminnj opened this issue May 13, 2020 · 1 comment
Open

Missing jet EM fraction requirements in Type-1 MET correction code? #238

aminnj opened this issue May 13, 2020 · 1 comment

Comments

@aminnj
Copy link

aminnj commented May 13, 2020

When recalculating Type-1 corrected MET in this loop:

for iJet, jet in enumerate(itertools.chain(jets, lowPtJets)):

I don't see that jets are skipped if they have an EM fraction above a threshold, as is done in CMSSW here, where the threshold is defined here to be 0.9.

Is this intentional, or something that needs to be implemented? In principle, this is already doable with the nominal jet collection since there are Jet_chEmEF and Jet_neEmEF branches, but this information is not available for the low pT jets in the CorrT1METJet collection.

Checking on some 2018 data events with a different framework for correction, I find that 0.7% of events will have a MET value that differs by >0.1GeV between applying this EM veto and not applying it.

@aminnj
Copy link
Author

aminnj commented May 13, 2020

Sorry, it is indeed done for the nominal jet collection and I just missed it:

if jet_pt_L1L2L3 > self.unclEnThreshold and (jet.neEmEF+jet.chEmEF) < 0.9:
if not ( self.metBranchName == 'METFixEE2017' and 2.65<abs(jet.eta)<3.14 and jet.pt*(1-jet.rawFactor)<50 ): # do not re-correct for jets that aren't included in METv2 recipe
jet_cosPhi = math.cos(jet.phi)
jet_sinPhi = math.sin(jet.phi)
met_px_nom = met_px_nom - (jet_pt_L1L2L3 - jet_pt_L1)*jet_cosPhi
met_py_nom = met_py_nom - (jet_pt_L1L2L3 - jet_pt_L1)*jet_sinPhi

but it can't be done for CorrT1METJet jets because chEmEF and neEmEF branches aren't available. Are there plans to add them?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant