CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Public Attributes | Static Public Attributes
objects.JetAnalyzer.JetAnalyzer Class Reference
Inheritance diagram for objects.JetAnalyzer.JetAnalyzer:

Public Member Functions

def __init__
 
def beginLoop
 
def declareHandles
 
def jetFlavour
 
def matchJets
 
def process
 
def smearJets
 
def testJetID
 
def testJetNoID
 

Public Attributes

 addJERShifts
 
 allJetsUsedForMET
 
 bqObjects
 
 cqObjects
 
 deltaMetFromJEC
 Read jets, if necessary recalibrate and shift MET. More...
 
 doJEC
 
 genJets
 
 heaviestQCDFlavour
 
 jetGammaDR
 
 jetGammaLepDR
 
 jetLepArbitration
 
 jetLepDR
 
 jetReCalibrator
 
 lepPtMin
 
 partons
 
 qglcalc
 
 rho
 
 shiftJEC
 
 shiftJER
 
 type1METCorr
 

Static Public Attributes

 addJECShifts = False,
 
int addJERShifts = 0
 
 alwaysCleanPhotons = False,
 
string applyL2L3Residual = 'Data'
 
 attachNeutrinos = True,
 
 calculateSeparateCorrections = False,
 
 calculateType1METCorrection = False,
 
 checkLeptonPFOverlap = True,
 
 class_object = JetAnalyzer,
 
 cleanFromLepAndGammaSimultaneously = False,
 
 cleanGenJetsFromPhoton = False,
 
 cleanJetsFromFirstPhoton = False,
 
 cleanJetsFromIsoTracks = False,
 
 cleanJetsFromTaus = False,
 
 cleanSelectedLeptons = True,
 
string collectionPostFix = ""
 
 copyJetsByValue = False,
 
 do_mc_match = True,
 
 doPuId = False,
 
 doQG = False,
 
string genJetCol = 'slimmedGenJets'
 
 genNuSelection = lambdanu:True,
 
tuple has_overlaps = p1.key()
 
tuple incleptons = event.inclusiveLeptonsifhasattr(event, 'inclusiveLeptons')
 Jet Id, after jet/lepton cleaning. More...
 
string jecPath = ""
 
list jet = jlpairs[lep]
 
string jetCol = 'slimmedJets'
 
float jetEta = 4.7
 
float jetEtaCentral = 2.4
 
float jetGammaDR = 0.4
 
float jetGammaLepDR = 0.4
 
tuple jetLepArbitration = (lambda jet,lepton : lepton)
 
float jetLepDR = 0.4
 
list jetNus = [x for x in event.genParticles if abs(x.pdgId()) in [12,14,16] and self.cfg_ana.genNuSelection(x) ]
 
int jetPt = 25
 
list jetsEtaCut = [j for j in self.jets if abs(j.eta()) < self.cfg_ana.jetEta ]
 
tuple jlpairs = matchObjectCollection(incleptons, allJets, self.jetLepDR**2)
 
tuple jtaupairs = matchObjectCollection( taus, allJets, self.jetLepDR**2)
 
list leps_with_overlaps = []
 Apply jet selection. More...
 
 lepSelCut = lambdalep:True,
 
list leptons = []
 Sort Jets by pT. More...
 
int minLepPt = 10
 
tuple p1 = jet.sourceCandidatePtr(i)
 
tuple p2 = lep.sourceCandidatePtr(j)
 
tuple pairs = matchObjectCollection(jetNus, self.genJets, 0.4**2)
 
list photons = []
 First cleaning, then Jet Id. More...
 
 recalibrateJets = False,
 
string recalibrationType = "AK4PFchs"
 
 relaxJetId = False,
 
tuple rho = ('fixedGridRhoFastjetAll','','')
 
int shiftJEC = 0
 
int shiftJER = 0
 
 smearJets = True,
 
tuple taus = getattr(event,'selectedTaus',[])
 Associate jets to taus. More...
 
dictionary type1METParams = { 'jetPtThreshold':15., 'skipEMfractionThreshold':0.9, 'skipMuons':True }
 

Detailed Description

Taken from RootTools.JetAnalyzer, simplified, modified, added corrections    

Definition at line 65 of file JetAnalyzer.py.

Constructor & Destructor Documentation

def objects.JetAnalyzer.JetAnalyzer.__init__ (   self,
  cfg_ana,
  cfg_comp,
  looperName 
)

Definition at line 67 of file JetAnalyzer.py.

67 
68  def __init__(self, cfg_ana, cfg_comp, looperName):
69  super(JetAnalyzer,self).__init__(cfg_ana, cfg_comp, looperName)
70  mcGT = cfg_ana.mcGT if hasattr(cfg_ana,'mcGT') else "PHYS14_25_V2"
71  dataGT = cfg_ana.dataGT if hasattr(cfg_ana,'dataGT') else "GR_70_V2_AN1"
72  self.shiftJEC = self.cfg_ana.shiftJEC if hasattr(self.cfg_ana, 'shiftJEC') else 0
73  self.recalibrateJets = self.cfg_ana.recalibrateJets
74  self.addJECShifts = self.cfg_ana.addJECShifts if hasattr(self.cfg_ana, 'addJECShifts') else 0
75  if self.recalibrateJets == "MC" : self.recalibrateJets = self.cfg_comp.isMC
76  elif self.recalibrateJets == "Data": self.recalibrateJets = not self.cfg_comp.isMC
77  elif self.recalibrateJets not in [True,False]: raise RuntimeError, "recalibrateJets must be any of { True, False, 'MC', 'Data' }, while it is %r " % self.recalibrateJets
78 
79  calculateSeparateCorrections = getattr(cfg_ana,"calculateSeparateCorrections", False);
80  calculateType1METCorrection = getattr(cfg_ana,"calculateType1METCorrection", False);
81  self.doJEC = self.recalibrateJets or (self.shiftJEC != 0) or self.addJECShifts or calculateSeparateCorrections or calculateType1METCorrection
82  if self.doJEC:
83  doResidual = getattr(cfg_ana, 'applyL2L3Residual', 'Data')
84  if doResidual == "MC": doResidual = self.cfg_comp.isMC
85  elif doResidual == "Data": doResidual = not self.cfg_comp.isMC
86  elif doResidual not in [True,False]: raise RuntimeError, "If specified, applyL2L3Residual must be any of { True, False, 'MC', 'Data'(default)}"
87  GT = getattr(cfg_comp, 'jecGT', mcGT if self.cfg_comp.isMC else dataGT)
88  # Now take care of the optional arguments
89  kwargs = { 'calculateSeparateCorrections':calculateSeparateCorrections,
90  'calculateType1METCorrection' :calculateType1METCorrection, }
91  if kwargs['calculateType1METCorrection']: kwargs['type1METParams'] = cfg_ana.type1METParams
92  # instantiate the jet re-calibrator
93  self.jetReCalibrator = JetReCalibrator(GT, cfg_ana.recalibrationType, doResidual, cfg_ana.jecPath, **kwargs)
94  self.doPuId = getattr(self.cfg_ana, 'doPuId', True)
95  self.jetLepDR = getattr(self.cfg_ana, 'jetLepDR', 0.4)
96  self.jetLepArbitration = getattr(self.cfg_ana, 'jetLepArbitration', lambda jet,lepton: lepton)
97  self.lepPtMin = getattr(self.cfg_ana, 'minLepPt', -1)
98  self.lepSelCut = getattr(self.cfg_ana, 'lepSelCut', lambda lep : True)
99  self.jetGammaDR = getattr(self.cfg_ana, 'jetGammaDR', 0.4)
100  self.jetGammaLepDR = getattr(self.cfg_ana, 'jetGammaLepDR', 0.4)
101  self.cleanFromLepAndGammaSimultaneously = getattr(self.cfg_ana, 'cleanFromLepAndGammaSimultaneously', False)
103  if hasattr(self.cfg_ana, 'jetGammaLepDR'):
104  self.jetGammaLepDR = self.jetGammaLepDR
105  elif (self.jetGammaDR == self.jetLepDR):
106  self.jetGammaLepDR = self.jetGammaDR
107  else:
108  raise RuntimeError, "DR for simultaneous cleaning of jets from leptons and photons is not defined, and dR(gamma, jet)!=dR(lep, jet)"
109  if(self.cfg_ana.doQG):
110  qgdefname="{CMSSW_BASE}/src/PhysicsTools/Heppy/data/pdfQG_AK4chs_13TeV_v2b.root"
111  self.qglcalc = QGLikelihoodCalculator(getattr(self.cfg_ana,"QGpath",qgdefname).format(CMSSW_BASE= os.environ['CMSSW_BASE']))
112  if not hasattr(self.cfg_ana ,"collectionPostFix"):self.cfg_ana.collectionPostFix=""
if(dp >Float(M_PI)) dp-

Member Function Documentation

def objects.JetAnalyzer.JetAnalyzer.beginLoop (   self,
  setup 
)

Definition at line 121 of file JetAnalyzer.py.

122  def beginLoop(self, setup):
123  super(JetAnalyzer,self).beginLoop(setup)
def objects.JetAnalyzer.JetAnalyzer.declareHandles (   self)

Definition at line 113 of file JetAnalyzer.py.

References core.AutoHandle.AutoHandle.handles, core.Analyzer.Analyzer.handles, and HTTP.RequestManager.handles.

114  def declareHandles(self):
115  super(JetAnalyzer, self).declareHandles()
116  self.handles['jets'] = AutoHandle( self.cfg_ana.jetCol, 'std::vector<pat::Jet>' )
117  self.handles['genJet'] = AutoHandle( self.cfg_ana.genJetCol, 'vector<reco::GenJet>' )
118  self.shiftJER = self.cfg_ana.shiftJER if hasattr(self.cfg_ana, 'shiftJER') else 0
119  self.addJERShifts = self.cfg_ana.addJERShifts if hasattr(self.cfg_ana, 'addJERShifts') else 0
120  self.handles['rho'] = AutoHandle( self.cfg_ana.rho, 'double' )
def objects.JetAnalyzer.JetAnalyzer.jetFlavour (   self,
  event 
)

Definition at line 393 of file JetAnalyzer.py.

References funct.abs().

394  def jetFlavour(self,event):
395  def isFlavour(x,f):
396  id = abs(x.pdgId())
397  if id > 999: return (id/1000)%10 == f
398  if id > 99: return (id/100)%10 == f
399  return id % 100 == f
400 
401 
403  self.bqObjects = [ p for p in event.genParticles if (p.status() == 2 and isFlavour(p,5)) ]
404  self.cqObjects = [ p for p in event.genParticles if (p.status() == 2 and isFlavour(p,4)) ]
406  self.partons = [ p for p in event.genParticles if ((p.status() == 23 or p.status() == 3) and abs(p.pdgId())>0 and (abs(p.pdgId()) in [1,2,3,4,5,21]) ) ]
407  match = matchObjectCollection2(self.cleanJetsAll,
408  self.partons,
409  deltaRMax = 0.3)
410 
411  for jet in self.cleanJetsAll:
412  parton = match[jet]
413  jet.partonId = (parton.pdgId() if parton != None else 0)
414  jet.partonMotherId = (parton.mother(0).pdgId() if parton != None and parton.numberOfMothers()>0 else 0)
415 
416  for jet in self.jets:
417  (bmatch, dr) = bestMatch(jet, self.bqObjects)
418  if dr < 0.4:
419  jet.mcFlavour = 5
420  else:
421  (cmatch, dr) = bestMatch(jet, self.cqObjects)
422  if dr < 0.4:
423  jet.mcFlavour = 4
424  else:
425  jet.mcFlavour = 0
427  self.heaviestQCDFlavour = 5 if len(self.bqObjects) else (4 if len(self.cqObjects) else 1);
def bestMatch
Definition: deltar.py:139
def matchObjectCollection2
Definition: deltar.py:167
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
def objects.JetAnalyzer.JetAnalyzer.matchJets (   self,
  event,
  jets 
)

Definition at line 428 of file JetAnalyzer.py.

References funct.abs(), EVTColContainer.genJets, objects.JetAnalyzer.JetAnalyzer.genJets, and deltar.matchObjectCollection2().

429  def matchJets(self, event, jets):
430  match = matchObjectCollection2(jets,
431  event.genbquarks + event.genwzquarks,
432  deltaRMax = 0.3)
433  for jet in jets:
434  gen = match[jet]
435  jet.mcParton = gen
436  jet.mcMatchId = (gen.sourceId if gen != None else 0)
437  jet.mcMatchFlav = (abs(gen.pdgId()) if gen != None else 0)
438 
439  match = matchObjectCollection2(jets,
440  self.genJets,
441  deltaRMax = 0.3)
442  for jet in jets:
443  jet.mcJet = match[jet]
444 
445 
def matchObjectCollection2
Definition: deltar.py:167
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
def objects.JetAnalyzer.JetAnalyzer.process (   self,
  event 
)

Definition at line 124 of file JetAnalyzer.py.

References core.AutoHandle.AutoHandle.handles, core.Analyzer.Analyzer.handles, HTTP.RequestManager.handles, and core.Analyzer.Analyzer.readCollections().

Referenced by ConfigBuilder.ConfigBuilder.addExtraStream(), ConfigBuilder.ConfigBuilder.completeInputCommand(), ConfigBuilder.ConfigBuilder.doNotInlineEventContent(), ConfigBuilder.ConfigBuilder.PrintAllModules.leave(), ConfigBuilder.ConfigBuilder.prepare_HLT(), ConfigBuilder.ConfigBuilder.prepare_LHE(), ConfigBuilder.ConfigBuilder.prepare_PATFILTER(), ConfigBuilder.ConfigBuilder.prepare_VALIDATION(), ConfigBuilder.ConfigBuilder.renameHLTprocessInSequence(), ConfigBuilder.ConfigBuilder.renameInputTagsInSequence(), and ConfigBuilder.ConfigBuilder.scheduleSequence().

125  def process(self, event):
126  self.readCollections( event.input )
127  rho = float(self.handles['rho'].product()[0])
128  self.rho = rho
129 
130  ## Read jets, if necessary recalibrate and shift MET
131  if self.cfg_ana.copyJetsByValue:
132  import ROOT
133  #from ROOT.heppy import JetUtils
134  allJets = map(lambda j:Jet(ROOT.heppy.JetUtils.copyJet(j)), self.handles['jets'].product()) #copy-by-value is safe if JetAnalyzer is ran more than once
135  else:
136  allJets = map(Jet, self.handles['jets'].product())
137 
138  #set dummy MC flavour for all jets in case we want to ntuplize discarded jets later
139  for jet in allJets:
140  jet.mcFlavour = 0
142  self.deltaMetFromJEC = [0.,0.]
143  self.type1METCorr = [0.,0.,0.]
144 # print "before. rho",self.rho,self.cfg_ana.collectionPostFix,'allJets len ',len(allJets),'pt', [j.pt() for j in allJets]
145  if self.doJEC:
146  if not self.recalibrateJets: # check point that things won't change
147  jetsBefore = [ (j.pt(),j.eta(),j.phi(),j.rawFactor()) for j in allJets ]
148  self.jetReCalibrator.correctAll(allJets, rho, delta=self.shiftJEC,
149  addCorr=True, addShifts=self.addJECShifts,
150  metShift=self.deltaMetFromJEC, type1METCorr=self.type1METCorr )
151  if not self.recalibrateJets:
152  jetsAfter = [ (j.pt(),j.eta(),j.phi(),j.rawFactor()) for j in allJets ]
153  if len(jetsBefore) != len(jetsAfter):
154  print "ERROR: I had to recompute jet corrections, and they rejected some of the jets:\nold = %s\n new = %s\n" % (jetsBefore,jetsAfter)
155  else:
156  for (told, tnew) in zip(jetsBefore,jetsAfter):
157  if (deltaR2(told[1],told[2],tnew[1],tnew[2])) > 0.0001:
158  print "ERROR: I had to recompute jet corrections, and one jet direction moved: old = %s, new = %s\n" % (told, tnew)
159  elif abs(told[0]-tnew[0])/(told[0]+tnew[0]) > 0.5e-3 or abs(told[3]-tnew[3]) > 0.5e-3:
160  print "ERROR: I had to recompute jet corrections, and one jet pt or corr changed: old = %s, new = %s\n" % (told, tnew)
161  self.allJetsUsedForMET = allJets
162 # print "after. rho",self.rho,self.cfg_ana.collectionPostFix,'allJets len ',len(allJets),'pt', [j.pt() for j in allJets]
163 
164  if self.cfg_comp.isMC:
165  self.genJets = [ x for x in self.handles['genJet'].product() ]
166  if self.cfg_ana.do_mc_match:
167  for igj, gj in enumerate(self.genJets):
168  gj.index = igj
169 # self.matchJets(event, allJets)
170  self.matchJets(event, [ j for j in allJets if j.pt()>self.cfg_ana.jetPt ]) # To match only jets above chosen threshold
171  if getattr(self.cfg_ana, 'smearJets', False):
172  self.smearJets(event, allJets)
173 
174 
175 
deltaMetFromJEC
Read jets, if necessary recalibrate and shift MET.
Definition: JetAnalyzer.py:141
Definition: Jet.py:1
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
T1 deltaR2(T1 eta1, T2 phi1, T3 eta2, T4 phi2)
Definition: deltaR.h:36
def objects.JetAnalyzer.JetAnalyzer.smearJets (   self,
  event,
  jets 
)

Definition at line 446 of file JetAnalyzer.py.

References objects.JetAnalyzer.JetAnalyzer.smearJets.

447  def smearJets(self, event, jets):
448  # https://twiki.cern.ch/twiki/bin/viewauth/CMS/TWikiTopRefSyst#Jet_energy_resolution
449  for jet in jets:
450  gen = jet.mcJet
451  if gen != None:
452  genpt, jetpt, aeta = gen.pt(), jet.pt(), abs(jet.eta())
453  # from https://twiki.cern.ch/twiki/bin/view/CMS/JetResolution
454  #8 TeV tables
455  factor = shiftJERfactor(self.shiftJER, aeta)
456  ptscale = max(0.0, (jetpt + (factor-1)*(jetpt-genpt))/jetpt)
457  #print "get with pt %.1f (gen pt %.1f, ptscale = %.3f)" % (jetpt,genpt,ptscale)
458  jet.deltaMetFromJetSmearing = [ -(ptscale-1)*jet.rawFactor()*jet.px(), -(ptscale-1)*jet.rawFactor()*jet.py() ]
459  if ptscale != 0:
460  jet.setP4(jet.p4()*ptscale)
461  # leave the uncorrected unchanged for sync
462  jet.setRawFactor(jet.rawFactor()/ptscale)
463  #else: print "jet with pt %.1d, eta %.2f is unmatched" % (jet.pt(), jet.eta())
464  if (self.shiftJER==0) and (self.addJERShifts):
465  setattr(jet, "corrJER", ptscale )
466  factorJERUp= shiftJERfactor(1, aeta)
467  ptscaleJERUp = max(0.0, (jetpt + (factorJERUp-1)*(jetpt-genpt))/jetpt)
468  setattr(jet, "corrJERUp", ptscaleJERUp)
469  factorJERDown= shiftJERfactor(-1, aeta)
470  ptscaleJERDown = max(0.0, (jetpt + (factorJERDown-1)*(jetpt-genpt))/jetpt)
471  setattr(jet, "corrJERDown", ptscaleJERDown)
472 
473 
474 
475 
476 
setattr(JetAnalyzer,"defaultConfig", cfg.Analyzer(
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
def objects.JetAnalyzer.JetAnalyzer.testJetID (   self,
  jet 
)

Definition at line 380 of file JetAnalyzer.py.

References objects.JetAnalyzer.JetAnalyzer.doPuId.

381  def testJetID(self, jet):
382  jet.puJetIdPassed = jet.puJetId()
383  jet.pfJetIdPassed = jet.jetID('POG_PFID_Loose')
384  if self.cfg_ana.relaxJetId:
385  return True
386  else:
387  return jet.pfJetIdPassed and (jet.puJetIdPassed or not(self.doPuId))
def objects.JetAnalyzer.JetAnalyzer.testJetNoID (   self,
  jet 
)

Definition at line 388 of file JetAnalyzer.py.

References funct.abs().

389  def testJetNoID( self, jet ):
390  # 2 is loose pile-up jet id
391  return jet.pt() > self.cfg_ana.jetPt and \
392  abs( jet.eta() ) < self.cfg_ana.jetEta;
Abs< T >::type abs(const T &t)
Definition: Abs.h:22

Member Data Documentation

objects.JetAnalyzer.JetAnalyzer.addJECShifts = False,
static

Definition at line 498 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.addJERShifts

Definition at line 118 of file JetAnalyzer.py.

int objects.JetAnalyzer.JetAnalyzer.addJERShifts = 0
static

Definition at line 505 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.allJetsUsedForMET

Definition at line 160 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.alwaysCleanPhotons = False,
static

Definition at line 509 of file JetAnalyzer.py.

string objects.JetAnalyzer.JetAnalyzer.applyL2L3Residual = 'Data'
static

Definition at line 495 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.attachNeutrinos = True,
static

Definition at line 515 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.bqObjects

Definition at line 402 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.calculateSeparateCorrections = False,
static

Definition at line 502 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.calculateType1METCorrection = False,
static

Definition at line 503 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.checkLeptonPFOverlap = True,
static

Definition at line 493 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.class_object = JetAnalyzer,
static

Definition at line 477 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.cleanFromLepAndGammaSimultaneously = False,
static

Definition at line 513 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.cleanGenJetsFromPhoton = False,
static

Definition at line 511 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.cleanJetsFromFirstPhoton = False,
static

Definition at line 506 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.cleanJetsFromIsoTracks = False,
static

Definition at line 508 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.cleanJetsFromTaus = False,
static

Definition at line 507 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.cleanSelectedLeptons = True,
static

Definition at line 487 of file JetAnalyzer.py.

string objects.JetAnalyzer.JetAnalyzer.collectionPostFix = ""
static

Definition at line 517 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.copyJetsByValue = False,
static

Definition at line 479 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.cqObjects

Definition at line 403 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.deltaMetFromJEC

Read jets, if necessary recalibrate and shift MET.

Definition at line 141 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.do_mc_match = True,
static

Definition at line 510 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.doJEC

Definition at line 80 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.doPuId = False,
static

Definition at line 491 of file JetAnalyzer.py.

Referenced by objects.JetAnalyzer.JetAnalyzer.testJetID().

objects.JetAnalyzer.JetAnalyzer.doQG = False,
static

Definition at line 492 of file JetAnalyzer.py.

string objects.JetAnalyzer.JetAnalyzer.genJetCol = 'slimmedGenJets'
static

Definition at line 480 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.genJets

Definition at line 164 of file JetAnalyzer.py.

Referenced by objects.JetAnalyzer.JetAnalyzer.matchJets().

objects.JetAnalyzer.JetAnalyzer.genNuSelection = lambdanu:True,
static

Definition at line 516 of file JetAnalyzer.py.

tuple objects.JetAnalyzer.JetAnalyzer.has_overlaps = p1.key()
static

Definition at line 201 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.heaviestQCDFlavour

Definition at line 426 of file JetAnalyzer.py.

tuple objects.JetAnalyzer.JetAnalyzer.incleptons = event.inclusiveLeptonsifhasattr(event, 'inclusiveLeptons')
static

Jet Id, after jet/lepton cleaning.

Jet Id, after jet/photon cleaning Associate jets to leptons

Definition at line 295 of file JetAnalyzer.py.

string objects.JetAnalyzer.JetAnalyzer.jecPath = ""
static

Definition at line 501 of file JetAnalyzer.py.

list objects.JetAnalyzer.JetAnalyzer.jet = jlpairs[lep]
static

Definition at line 301 of file JetAnalyzer.py.

string objects.JetAnalyzer.JetAnalyzer.jetCol = 'slimmedJets'
static

Definition at line 478 of file JetAnalyzer.py.

float objects.JetAnalyzer.JetAnalyzer.jetEta = 4.7
static

Definition at line 483 of file JetAnalyzer.py.

float objects.JetAnalyzer.JetAnalyzer.jetEtaCentral = 2.4
static

Definition at line 484 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.jetGammaDR

Definition at line 98 of file JetAnalyzer.py.

float objects.JetAnalyzer.JetAnalyzer.jetGammaDR = 0.4
static

Definition at line 512 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.jetGammaLepDR

Definition at line 99 of file JetAnalyzer.py.

float objects.JetAnalyzer.JetAnalyzer.jetGammaLepDR = 0.4
static

Definition at line 514 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.jetLepArbitration

Definition at line 95 of file JetAnalyzer.py.

tuple objects.JetAnalyzer.JetAnalyzer.jetLepArbitration = (lambda jet,lepton : lepton)
static

Definition at line 486 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.jetLepDR

Definition at line 94 of file JetAnalyzer.py.

float objects.JetAnalyzer.JetAnalyzer.jetLepDR = 0.4
static

Definition at line 485 of file JetAnalyzer.py.

list objects.JetAnalyzer.JetAnalyzer.jetNus = [x for x in event.genParticles if abs(x.pdgId()) in [12,14,16] and self.cfg_ana.genNuSelection(x) ]
static

Definition at line 329 of file JetAnalyzer.py.

int objects.JetAnalyzer.JetAnalyzer.jetPt = 25
static

Definition at line 482 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.jetReCalibrator

Definition at line 92 of file JetAnalyzer.py.

list objects.JetAnalyzer.JetAnalyzer.jetsEtaCut = [j for j in self.jets if abs(j.eta()) < self.cfg_ana.jetEta ]
static

Definition at line 220 of file JetAnalyzer.py.

tuple objects.JetAnalyzer.JetAnalyzer.jlpairs = matchObjectCollection(incleptons, allJets, self.jetLepDR**2)
static

Definition at line 296 of file JetAnalyzer.py.

tuple objects.JetAnalyzer.JetAnalyzer.jtaupairs = matchObjectCollection( taus, allJets, self.jetLepDR**2)
static

Definition at line 308 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.lepPtMin

Definition at line 96 of file JetAnalyzer.py.

list objects.JetAnalyzer.JetAnalyzer.leps_with_overlaps = []
static

Apply jet selection.

Definition at line 194 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.lepSelCut = lambdalep:True,
static

Definition at line 489 of file JetAnalyzer.py.

list JetAnalyzer.leptons = []
static

Sort Jets by pT.

Definition at line 179 of file JetAnalyzer.py.

int objects.JetAnalyzer.JetAnalyzer.minLepPt = 10
static

Definition at line 488 of file JetAnalyzer.py.

tuple objects.JetAnalyzer.JetAnalyzer.p1 = jet.sourceCandidatePtr(i)
static

Definition at line 197 of file JetAnalyzer.py.

tuple objects.JetAnalyzer.JetAnalyzer.p2 = lep.sourceCandidatePtr(j)
static

Definition at line 200 of file JetAnalyzer.py.

tuple objects.JetAnalyzer.JetAnalyzer.pairs = matchObjectCollection(jetNus, self.genJets, 0.4**2)
static

Definition at line 330 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.partons

Definition at line 405 of file JetAnalyzer.py.

list JetAnalyzer.photons = []
static

First cleaning, then Jet Id.

Clean Jets from photons (first cleaning, then Jet Id)

Definition at line 245 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.qglcalc

Definition at line 110 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.recalibrateJets = False,
static

Definition at line 494 of file JetAnalyzer.py.

string objects.JetAnalyzer.JetAnalyzer.recalibrationType = "AK4PFchs"
static

Definition at line 496 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.relaxJetId = False,
static

Definition at line 490 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.rho

Definition at line 127 of file JetAnalyzer.py.

Referenced by Lepton.Lepton.absIsoFromEA(), Muon.Muon.absIsoWithFSR(), Electron.Electron.absIsoWithFSR(), Photon.Photon.chargedHadronIso(), Electron.Electron.electronID(), Electron.Electron.mvaNonTrigV0(), Electron.Electron.mvaRun2(), Electron.Electron.mvaTrigNoIPV0(), Electron.Electron.mvaTrigV0(), Photon.Photon.neutralHadronIso(), and Photon.Photon.photonIso().

tuple objects.JetAnalyzer.JetAnalyzer.rho = ('fixedGridRhoFastjetAll','','')
static

Definition at line 481 of file JetAnalyzer.py.

Referenced by Lepton.Lepton.absIsoFromEA(), Muon.Muon.absIsoWithFSR(), Electron.Electron.absIsoWithFSR(), Photon.Photon.chargedHadronIso(), Electron.Electron.electronID(), Electron.Electron.mvaNonTrigV0(), Electron.Electron.mvaRun2(), Electron.Electron.mvaTrigNoIPV0(), Electron.Electron.mvaTrigV0(), Photon.Photon.neutralHadronIso(), and Photon.Photon.photonIso().

objects.JetAnalyzer.JetAnalyzer.shiftJEC

Definition at line 71 of file JetAnalyzer.py.

int objects.JetAnalyzer.JetAnalyzer.shiftJEC = 0
static

Definition at line 497 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.shiftJER

Definition at line 117 of file JetAnalyzer.py.

int objects.JetAnalyzer.JetAnalyzer.shiftJER = 0
static

Definition at line 500 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.smearJets = True,
static

Definition at line 499 of file JetAnalyzer.py.

Referenced by objects.JetAnalyzer.JetAnalyzer.smearJets().

tuple objects.JetAnalyzer.JetAnalyzer.taus = getattr(event,'selectedTaus',[])
static

Associate jets to taus.

Definition at line 307 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.type1METCorr

Definition at line 142 of file JetAnalyzer.py.

dictionary objects.JetAnalyzer.JetAnalyzer.type1METParams = { 'jetPtThreshold':15., 'skipEMfractionThreshold':0.9, 'skipMuons':True }
static

Definition at line 504 of file JetAnalyzer.py.

Referenced by JetReCalibrator.JetReCalibrator.correct(), and JetReCalibrator.JetReCalibrator.rawP4forType1MET_().