Skip to content

Commit

Permalink
Merge pull request cms-sw#204 from mariadalfonso/heppyMETjetFIX
Browse files Browse the repository at this point in the history
Pull cms-sw#198 into Heppy branch (as it was supposed to be)
  • Loading branch information
gpetruc committed Jan 16, 2015
2 parents 0ceb381 + de41ba8 commit c5ae251
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 13 deletions.
Expand Up @@ -90,6 +90,7 @@ def process(self, event):
"trkPOG_manystripclus53X" : [ "Flag_trkPOG_manystripclus53X" ],
"trkPOG_toomanystripclus53X" : [ "Flag_trkPOG_toomanystripclus53X" ],
"trkPOG_logErrorTooManyClusters" : [ "Flag_trkPOG_logErrorTooManyClusters" ],
"METFilters" : [ "Flag_METFilters" ],
}
)
)
9 changes: 5 additions & 4 deletions PhysicsTools/Heppy/python/analyzers/objects/METAnalyzer.py
Expand Up @@ -68,13 +68,13 @@ def makeMETNoMu(self, event):
mupy += mu.py()

#subtract muon momentum and construct met
if hasattr(event, 'deltaMetFromJetSmearing'):
if self.cfg_ana.recalibrate and hasattr(event, 'deltaMetFromJetSmearing'):
import ROOT
px,py = event.metNoMu.px()+event.deltaMetFromJetSmearing[0]-mupx, event.metNoMu.py()+event.deltaMetFromJetSmearing[1]-mupy
event.metNoMu.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, math.hypot(px,py)))
px,py = event.metNoMuNoPU.px()+event.deltaMetFromJetSmearing[0]-mupx, event.metNoMuNoPU.py()+event.deltaMetFromJetSmearing[1]-mupy
event.metNoMuNoPU.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, hypot(px,py)))
if hasattr(event, 'deltaMetFromJEC') and event.deltaMetFromJEC[0] != 0 and event.deltaMetFromJEC[1] != 0:
if self.cfg_ana.recalibrate and hasattr(event, 'deltaMetFromJEC') and event.deltaMetFromJEC[0] != 0 and event.deltaMetFromJEC[1] != 0:
import ROOT
px,py = event.metNoMu.px()+event.deltaMetFromJEC[0]-mupx, event.metNoMu.py()+event.deltaMetFromJEC[1]-mupy
event.met.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, math.hypot(px,py)))
Expand All @@ -85,13 +85,13 @@ def makeMETNoMu(self, event):
def makeMETs(self, event):
event.met = self.handles['met'].product()[0]
event.metNoPU = self.handles['nopumet'].product()[0]
if hasattr(event, 'deltaMetFromJetSmearing'):
if self.cfg_ana.recalibrate and hasattr(event, 'deltaMetFromJetSmearing'):
import ROOT
px,py = event.met.px()+event.deltaMetFromJetSmearing[0], event.met.py()+event.deltaMetFromJetSmearing[1]
event.met.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, math.hypot(px,py)))
px,py = event.metNoPU.px()+event.deltaMetFromJetSmearing[0], event.metNoPU.py()+event.deltaMetFromJetSmearing[1]
event.metNoPU.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, math.hypot(px,py)))
if hasattr(event, 'deltaMetFromJEC') and event.deltaMetFromJEC[0] != 0 and event.deltaMetFromJEC[1] != 0:
if self.cfg_ana.recalibrate and hasattr(event, 'deltaMetFromJEC') and event.deltaMetFromJEC[0] != 0 and event.deltaMetFromJEC[1] != 0:
import ROOT
px,py = event.met.px()+event.deltaMetFromJEC[0], event.met.py()+event.deltaMetFromJEC[1]
event.met.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, math.hypot(px,py)))
Expand All @@ -117,6 +117,7 @@ def process(self, event):

setattr(METAnalyzer,"defaultConfig", cfg.Analyzer(
class_object = METAnalyzer,
recalibrate = True,
doTkMet = False,
doMetNoMu = False,
candidates='packedPFCandidates',
Expand Down
11 changes: 6 additions & 5 deletions PhysicsTools/Heppy/python/physicsobjects/Jet.py
Expand Up @@ -48,11 +48,12 @@ def jetID(self,name=""):
if not self.isPFJet():
raise RuntimeError, "jetID implemented only for PF Jets"
eta = abs(self.eta());
chf = self.chargedHadronEnergyFraction();
nhf = self.neutralHadronEnergyFraction();
phf = self.neutralEmEnergyFraction();
muf = self.muonEnergyFraction();
elf = self.chargedEmEnergyFraction();
energy = (self.p4()*self.rawFactor()).energy();
chf = self.chargedHadronEnergy()/energy;
nhf = self.neutralHadronEnergy()/energy;
phf = self.neutralEmEnergy()/energy;
muf = self.muonEnergy()/energy;
elf = self.chargedEmEnergy()/energy;
chm = self.chargedHadronMultiplicity();
npr = self.chargedMultiplicity() + self.neutralMultiplicity();
#if npr != self.nConstituents():
Expand Down
8 changes: 4 additions & 4 deletions PhysicsTools/Heppy/python/physicsobjects/Photon.py
Expand Up @@ -6,15 +6,15 @@ class Photon(PhysicsObject ):
'''
def hOVERe(self):
# return self.physObj.full5x5_hadTowOverEm()
hadTowDepth1O = self.physObj.hadTowDepth1OverEm() * (self.physObj.superCluster().energy()/self.physObj.full5x5_e5x5() if self.physObj.full5x5_e5x5() else 1)
hadTowDepth2O = self.physObj.hadTowDepth2OverEm() * (self.physObj.superCluster().energy()/self.physObj.full5x5_e5x5() if self.physObj.full5x5_e5x5() else 1)
hadTowDepth1O = self.physObj.hadTowDepth1OverEm() * (self.physObj.superCluster().energy()/self.physObj.e5x5() if self.physObj.e5x5() else 1)
hadTowDepth2O = self.physObj.hadTowDepth2OverEm() * (self.physObj.superCluster().energy()/self.physObj.e5x5() if self.physObj.e5x5() else 1)
return hadTowDepth1O + hadTowDepth2O

def r9(self):
return self.physObj.full5x5_r9()
return self.physObj.r9()

def sigmaIetaIeta(self):
return self.physObj.full5x5_sigmaIetaIeta()
return self.physObj.sigmaIetaIeta()

def chargedHadronIso(self):
return self.physObj.chargedHadronIso()
Expand Down

0 comments on commit c5ae251

Please sign in to comment.