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 computeQGvars
 
def declareHandles
 
def jetFlavour
 
def matchJets
 
def process
 
def smearJets
 
def testJetID
 
def testJetNoID
 

Public Attributes

 doJEC
 
 jetGammaDR
 
 jetLepDR
 
 jetReCalibrator
 
 lepPtMin
 
 qglcalc
 
 shiftJEC
 
 shiftJER
 

Static Public Attributes

 class_object = JetAnalyzer,
 
 cleanJetsFromIsoTracks = False,
 
 cleanJetsFromTaus = False,
 
 doPuId = False,
 
 doQG = False,
 
string jecPath = ""
 
string jetCol = 'slimmedJets'
 
float jetEta = 4.7
 
float jetEtaCentral = 2.4
 
float jetLepDR = 0.4
 
int jetPt = 25
 
int minLepPt = 10
 
 recalibrateJets = False,
 
 relaxJetId = False,
 
int shiftJEC = 0
 
int shiftJER = 0
 
 smearJets = True,
 

Detailed Description

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

Definition at line 24 of file JetAnalyzer.py.

Constructor & Destructor Documentation

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

Definition at line 26 of file JetAnalyzer.py.

26 
27  def __init__(self, cfg_ana, cfg_comp, looperName):
28  super(JetAnalyzer,self).__init__(cfg_ana, cfg_comp, looperName)
29  mcGT = cfg_ana.mcGT if hasattr(cfg_ana,'mcGT') else "PHYS14_25_V2"
30  dataGT = cfg_ana.dataGT if hasattr(cfg_ana,'dataGT') else "GR_70_V2_AN1"
31  self.shiftJEC = self.cfg_ana.shiftJEC if hasattr(self.cfg_ana, 'shiftJEC') else 0
32  self.recalibrateJets = self.cfg_ana.recalibrateJets
33  if self.recalibrateJets == "MC" : self.recalibrateJets = self.cfg_comp.isMC
34  elif self.recalibrateJets == "Data": self.recalibrateJets = not self.cfg_comp.isMC
35  elif self.recalibrateJets not in [True,False]: raise RuntimeError, "recalibrateJets must be any of { True, False, 'MC', 'Data' }, while it is %r " % self.recalibrateJets
36  self.doJEC = self.recalibrateJets or (self.shiftJEC != 0)
37  if self.doJEC:
38  if self.cfg_comp.isMC:
39  self.jetReCalibrator = JetReCalibrator(mcGT,"AK4PFchs", False,cfg_ana.jecPath)
40  else:
41  self.jetReCalibrator = JetReCalibrator(dataGT,"AK4PFchs", True,cfg_ana.jecPath)
42  self.doPuId = self.cfg_ana.doPuId if hasattr(self.cfg_ana, 'doPuId') else True
43  self.jetLepDR = self.cfg_ana.jetLepDR if hasattr(self.cfg_ana, 'jetLepDR') else 0.5
44  self.lepPtMin = self.cfg_ana.minLepPt if hasattr(self.cfg_ana, 'minLepPt') else -1
45  self.jetGammaDR = self.cfg_ana.jetGammaDR if hasattr(self.cfg_ana, 'jetGammaDR') else 0.4
46  if(self.cfg_ana.doQG):
47  self.qglcalc = QGLikelihoodCalculator("/afs/cern.ch/user/t/tomc/public/QG_pdfs_13TeV_2014-10-12/pdfQG_AK4chs_antib_NoQC_13TeV.root")
if(conf.exists("allCellsPositionCalc"))

Member Function Documentation

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

Definition at line 55 of file JetAnalyzer.py.

55 
56  def beginLoop(self, setup):
57  super(JetAnalyzer,self).beginLoop(setup)
def objects.JetAnalyzer.JetAnalyzer.computeQGvars (   self,
  jet 
)

Definition at line 172 of file JetAnalyzer.py.

References SiPixelRawToDigiRegional_cfi.deltaPhi.

Referenced by objects.JetAnalyzer.JetAnalyzer.process().

173  def computeQGvars(self, jet):
174 
175  jet.mult = 0
176  sum_weight = 0.
177  sum_pt = 0.
178  sum_deta = 0.
179  sum_dphi = 0.
180  sum_deta2 = 0.
181  sum_detadphi = 0.
182  sum_dphi2 = 0.
183 
184 
185 
186  for ii in range(0, jet.numberOfDaughters()) :
187 
188  part = jet.daughter(ii)
189 
190  usePart = True
191 
192  if part.charge() == 0 : # neutral particles
193 
194  if part.pt() > 1.: jet.mult += 1
195 
196  else : # charged particles
197 
198  jet.mult += 1
199 
200  if part.trackHighPurity()==False: usePart=False
201  if part.fromPV()<=1: usePart=False
202 
203 
204 
205  if usePart:
206  deta = part.eta() - jet.eta()
207  dphi = deltaPhi(part.phi(), jet.phi())
208  partPt = part.pt()
209  weight = partPt*partPt
210  sum_weight += weight
211  sum_pt += partPt
212  sum_deta += deta*weight
213  sum_dphi += dphi*weight
214  sum_deta2 += deta*deta*weight
215  sum_detadphi += deta*dphi*weight
216  sum_dphi2 += dphi*dphi*weight
217 
218 
219 
220 
221  a = 0.
222  b = 0.
223  c = 0.
224 
225  if sum_weight > 0 :
226  jet.ptd = math.sqrt(sum_weight)/sum_pt
227  ave_deta = sum_deta/sum_weight
228  ave_dphi = sum_dphi/sum_weight
229  ave_deta2 = sum_deta2/sum_weight
230  ave_dphi2 = sum_dphi2/sum_weight
231  a = ave_deta2 - ave_deta*ave_deta
232  b = ave_dphi2 - ave_dphi*ave_dphi
233  c = -(sum_detadphi/sum_weight - ave_deta*ave_dphi)
234  else: jet.ptd = 0.
235 
236  delta = math.sqrt(math.fabs((a-b)*(a-b)+4.*c*c))
237 
238  if a+b-delta > 0: jet.axis2 = -math.log(math.sqrt(0.5*(a+b-delta)))
239  else: jet.axis2 = -1.
240 
def objects.JetAnalyzer.JetAnalyzer.declareHandles (   self)

Definition at line 48 of file JetAnalyzer.py.

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

48 
49  def declareHandles(self):
50  super(JetAnalyzer, self).declareHandles()
51  self.handles['jets'] = AutoHandle( self.cfg_ana.jetCol, 'std::vector<pat::Jet>' )
52  self.handles['genJet'] = AutoHandle( 'slimmedGenJets', 'vector<reco::GenJet>' )
53  self.shiftJER = self.cfg_ana.shiftJER if hasattr(self.cfg_ana, 'shiftJER') else 0
54  self.handles['rho'] = AutoHandle( ('fixedGridRhoFastjetAll','',''), 'double' )
def objects.JetAnalyzer.JetAnalyzer.jetFlavour (   self,
  event 
)

Definition at line 241 of file JetAnalyzer.py.

References funct.abs(), deltar.bestMatch(), deltar.matchObjectCollection2(), and benchmark_cfg.pdgId.

Referenced by objects.JetAnalyzer.JetAnalyzer.process().

242  def jetFlavour(self,event):
243  def isFlavour(x,f):
244  id = abs(x.pdgId())
245  if id > 999: return (id/1000)%10 == f
246  if id > 99: return (id/100)%10 == f
247  return id % 100 == f
248 
249 
250 
251  event.bqObjects = [ p for p in event.genParticles if (p.status() == 2 and isFlavour(p,5)) ]
252  event.cqObjects = [ p for p in event.genParticles if (p.status() == 2 and isFlavour(p,4)) ]
253 
254  event.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]) ) ]
255  match = matchObjectCollection2(event.cleanJetsAll,
256  event.partons,
257  deltaRMax = 0.3)
258 
259  for jet in event.cleanJetsAll:
260  parton = match[jet]
261  jet.partonId = (parton.pdgId() if parton != None else 0)
262  jet.partonMotherId = (parton.mother(0).pdgId() if parton != None and parton.numberOfMothers()>0 else 0)
263 
264  for jet in event.jets:
265  (bmatch, dr) = bestMatch(jet, event.bqObjects)
266  if dr < 0.4:
267  jet.mcFlavour = 5
268  else:
269  (cmatch, dr) = bestMatch(jet, event.cqObjects)
270  if dr < 0.4:
271  jet.mcFlavour = 4
272  else:
273  jet.mcFlavour = 0
274 
275  event.heaviestQCDFlavour = 5 if len(event.bqObjects) else (4 if len(event.cqObjects) else 1);
276 
def bestMatch
Definition: deltar.py:133
def matchObjectCollection2
Definition: deltar.py:161
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
def objects.JetAnalyzer.JetAnalyzer.matchJets (   self,
  event,
  jets 
)

Definition at line 277 of file JetAnalyzer.py.

References funct.abs(), and deltar.matchObjectCollection2().

Referenced by objects.JetAnalyzer.JetAnalyzer.process().

278  def matchJets(self, event, jets):
279  match = matchObjectCollection2(jets,
280  event.genbquarks + event.genwzquarks,
281  deltaRMax = 0.3)
282  for jet in jets:
283  gen = match[jet]
284  jet.mcParton = gen
285  jet.mcMatchId = (gen.sourceId if gen != None else 0)
286  jet.mcMatchFlav = (abs(gen.pdgId()) if gen != None else 0)
287 
288  match = matchObjectCollection2(jets,
289  event.genJets,
290  deltaRMax = 0.3)
291  for jet in jets:
292  jet.mcJet = match[jet]
293 
294 
def matchObjectCollection2
Definition: deltar.py:161
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
def objects.JetAnalyzer.JetAnalyzer.process (   self,
  event 
)

Definition at line 58 of file JetAnalyzer.py.

References funct.abs(), analyzer.Analyzer.cfg_ana, objects.JetAnalyzer.cleanNearestJetOnly(), objects.JetAnalyzer.JetAnalyzer.computeQGvars(), objects.JetAnalyzer.JetAnalyzer.doJEC, BTagPerformanceAnalyzerOnData.doJEC, core.AutoHandle.AutoHandle.handles, core.Analyzer.Analyzer.handles, HTTP.RequestManager.handles, if(), objects.JetAnalyzer.JetAnalyzer.jetFlavour(), objects.JetAnalyzer.JetAnalyzer.jetGammaDR, objects.JetAnalyzer.JetAnalyzer.jetLepDR, objects.JetAnalyzer.JetAnalyzer.lepPtMin, python.multivaluedict.map(), objects.JetAnalyzer.JetAnalyzer.matchJets(), deltar.matchObjectCollection(), core.Analyzer.Analyzer.readCollections(), objects.JetAnalyzer.JetAnalyzer.shiftJEC, objects.JetAnalyzer.JetAnalyzer.smearJets, objects.JetAnalyzer.JetAnalyzer.testJetID(), JetAnalyzer.JetAnalyzer.testJetID(), and objects.JetAnalyzer.JetAnalyzer.testJetNoID().

Referenced by ConfigBuilder.ConfigBuilder.__init__(), ConfigBuilder.ConfigBuilder.addExtraStream(), ConfigBuilder.ConfigBuilder.anyOf(), ConfigBuilder.ConfigBuilder.completeInputCommand(), ConfigBuilder.ConfigBuilder.doNotInlineEventContent(), ConfigBuilder.ConfigBuilder.PrintAllModules.leave(), ConfigBuilder.ConfigBuilder.prepare(), ConfigBuilder.ConfigBuilder.prepare_ALCA(), ConfigBuilder.ConfigBuilder.prepare_DQM(), ConfigBuilder.ConfigBuilder.prepare_FASTSIM(), ConfigBuilder.ConfigBuilder.prepare_HARVESTING(), ConfigBuilder.ConfigBuilder.prepare_HLT(), ConfigBuilder.ConfigBuilder.prepare_LHE(), ConfigBuilder.ConfigBuilder.prepare_VALIDATION(), ConfigBuilder.ConfigBuilder.renameHLTprocessInSequence(), ConfigBuilder.ConfigBuilder.renameInputTagsInSequence(), and ConfigBuilder.ConfigBuilder.scheduleSequence().

58 
59  def process(self, event):
60  self.readCollections( event.input )
61  rho = float(self.handles['rho'].product()[0])
62  event.rho = rho
63 
64  ## Read jets, if necessary recalibrate and shift MET
65  allJets = map(Jet, self.handles['jets'].product())
66 
67  event.deltaMetFromJEC = [0.,0.]
68  if self.doJEC:
69  #print "\nCalibrating jets %s for lumi %d, event %d" % (self.cfg_ana.jetCol, event.lumi, event.eventId)
70  self.jetReCalibrator.correctAll(allJets, rho, delta=self.shiftJEC, metShift=event.deltaMetFromJEC)
71  event.allJetsUsedForMET = allJets
72 
73  if self.cfg_comp.isMC:
74  event.genJets = [ x for x in self.handles['genJet'].product() ]
75  self.matchJets(event, allJets)
76  if getattr(self.cfg_ana, 'smearJets', False):
77  self.smearJets(event, allJets)
78 
79  ## Apply jet selection
80  event.jets = []
81  event.jetsFailId = []
82  event.jetsAllNoID = []
83  event.jetsIdOnly = []
84  for jet in allJets:
85  if self.testJetNoID( jet ):
86  event.jetsAllNoID.append(jet)
87  if self.testJetID (jet ):
88 
89  if(self.cfg_ana.doQG):
90  self.computeQGvars(jet)
91  jet.qgl = self.qglcalc.computeQGLikelihood(jet, rho)
92 
93 
94  event.jets.append(jet)
95  event.jetsIdOnly.append(jet)
96  else:
97  event.jetsFailId.append(jet)
98  elif self.testJetID (jet ):
99  event.jetsIdOnly.append(jet)
100 
101  ## Clean Jets from leptons
102  leptons = []
103  if hasattr(event, 'selectedLeptons'):
104  leptons = [ l for l in event.selectedLeptons if l.pt() > self.lepPtMin ]
105  if self.cfg_ana.cleanJetsFromTaus and hasattr(event, 'selectedTaus'):
106  leptons = leptons[:] + event.selectedTaus
107  if self.cfg_ana.cleanJetsFromIsoTracks and hasattr(event, 'selectedIsoCleanTrack'):
108  leptons = leptons[:] + event.selectedIsoCleanTrack
109  event.cleanJetsAll = cleanNearestJetOnly(event.jets, leptons, self.jetLepDR)
110  event.cleanJets = [j for j in event.cleanJetsAll if abs(j.eta()) < self.cfg_ana.jetEtaCentral ]
111  event.cleanJetsFwd = [j for j in event.cleanJetsAll if abs(j.eta()) >= self.cfg_ana.jetEtaCentral ]
112 
113  ## Clean Jets from photons
114  photons = []
115  if hasattr(event, 'selectedPhotons'):
116  photons = [ g for g in event.selectedPhotons ]
117  event.gamma_cleanJetsAll = cleanNearestJetOnly(event.cleanJetsAll, photons, self.jetGammaDR)
118  event.gamma_cleanJets = [j for j in event.gamma_cleanJetsAll if abs(j.eta()) < self.cfg_ana.jetEtaCentral ]
119  event.gamma_cleanJetsFwd = [j for j in event.gamma_cleanJetsAll if abs(j.eta()) >= self.cfg_ana.jetEtaCentral ]
120  ###
121 
122 
123  ## Associate jets to leptons
124  leptons = event.inclusiveLeptons if hasattr(event, 'inclusiveLeptons') else event.selectedLeptons
125  jlpairs = matchObjectCollection( leptons, allJets, self.jetLepDR**2)
126 
127  for jet in allJets:
128  jet.leptons = [l for l in jlpairs if jlpairs[l] == jet ]
129 
130  for lep in leptons:
131  jet = jlpairs[lep]
132  if jet is None:
133  lep.jet = lep
134  else:
135  lep.jet = jet
136 
137  if self.cfg_comp.isMC:
138  event.deltaMetFromJetSmearing = [0, 0]
139  for j in event.cleanJetsAll:
140  if hasattr(j, 'deltaMetFromJetSmearing'):
141  event.deltaMetFromJetSmearing[0] += j.deltaMetFromJetSmearing[0]
142  event.deltaMetFromJetSmearing[1] += j.deltaMetFromJetSmearing[1]
143  event.cleanGenJets = cleanNearestJetOnly(event.genJets, event.selectedLeptons, 0.5)
144 
145  #event.nGenJets25 = 0
146  #event.nGenJets25Cen = 0
147  #event.nGenJets25Fwd = 0
148  #for j in event.cleanGenJets:
149  # event.nGenJets25 += 1
150  # if abs(j.eta()) <= 2.4: event.nGenJets25Cen += 1
151  # else: event.nGenJets25Fwd += 1
152 
153  self.jetFlavour(event)
154 
155 
156  return True
157 
158 
def matchObjectCollection
Definition: deltar.py:146
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
if(conf.exists("allCellsPositionCalc"))
def objects.JetAnalyzer.JetAnalyzer.smearJets (   self,
  event,
  jets 
)

Definition at line 295 of file JetAnalyzer.py.

References objects.JetAnalyzer.JetAnalyzer.smearJets.

296  def smearJets(self, event, jets):
297  # https://twiki.cern.ch/twiki/bin/viewauth/CMS/TWikiTopRefSyst#Jet_energy_resolution
298  for jet in jets:
299  gen = jet.mcJet
300  if gen != None:
301  genpt, jetpt, aeta = gen.pt(), jet.pt(), abs(jet.eta())
302  # from https://twiki.cern.ch/twiki/bin/view/CMS/JetResolution
303  factor = 1.052 + self.shiftJER*math.hypot(0.012,0.062);
304  if aeta > 2.3: factor = 1.288 + self.shiftJER*math.hypot(0.127,0.154)
305  elif aeta > 1.7: factor = 1.134 + self.shiftJER*math.hypot(0.035,0.066)
306  elif aeta > 1.1: factor = 1.096 + self.shiftJER*math.hypot(0.017,0.063)
307  elif aeta > 0.5: factor = 1.057 + self.shiftJER*math.hypot(0.012,0.056)
308  ptscale = max(0.0, (jetpt + (factor-1)*(jetpt-genpt))/jetpt)
309  #print "get with pt %.1f (gen pt %.1f, ptscale = %.3f)" % (jetpt,genpt,ptscale)
310  jet.deltaMetFromJetSmearing = [ -(ptscale-1)*jet.rawFactor()*jet.px(), -(ptscale-1)*jet.rawFactor()*jet.py() ]
311  if ptscale != 0:
312  jet.setP4(jet.p4()*ptscale)
313  # leave the uncorrected unchanged for sync
314  jet._rawFactorMultiplier *= (1.0/ptscale) if ptscale != 0 else 1
315  #else: print "jet with pt %.1d, eta %.2f is unmatched" % (jet.pt(), jet.eta())
316 
317 
318 
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 159 of file JetAnalyzer.py.

References objects.JetAnalyzer.JetAnalyzer.doPuId.

Referenced by objects.JetAnalyzer.JetAnalyzer.process().

160  def testJetID(self, jet):
161  jet.puJetIdPassed = jet.puJetId()
162  jet.pfJetIdPassed = jet.jetID('POG_PFID_Loose')
163  if self.cfg_ana.relaxJetId:
164  return True
165  else:
166  return jet.pfJetIdPassed and (jet.puJetIdPassed or not(self.doPuId))
def objects.JetAnalyzer.JetAnalyzer.testJetNoID (   self,
  jet 
)

Definition at line 167 of file JetAnalyzer.py.

References funct.abs().

Referenced by objects.JetAnalyzer.JetAnalyzer.process().

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

Member Data Documentation

objects.JetAnalyzer.JetAnalyzer.class_object = JetAnalyzer,
static

Definition at line 319 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.cleanJetsFromIsoTracks = False,
static

Definition at line 334 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.cleanJetsFromTaus = False,
static

Definition at line 333 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.doJEC

Definition at line 35 of file JetAnalyzer.py.

Referenced by objects.JetAnalyzer.JetAnalyzer.process().

objects.JetAnalyzer.JetAnalyzer.doPuId = False,
static

Definition at line 327 of file JetAnalyzer.py.

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

objects.JetAnalyzer.JetAnalyzer.doQG = False,
static

Definition at line 328 of file JetAnalyzer.py.

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

Definition at line 335 of file JetAnalyzer.py.

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

Definition at line 320 of file JetAnalyzer.py.

float objects.JetAnalyzer.JetAnalyzer.jetEta = 4.7
static

Definition at line 322 of file JetAnalyzer.py.

float objects.JetAnalyzer.JetAnalyzer.jetEtaCentral = 2.4
static

Definition at line 323 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.jetGammaDR

Definition at line 44 of file JetAnalyzer.py.

Referenced by objects.JetAnalyzer.JetAnalyzer.process().

objects.JetAnalyzer.JetAnalyzer.jetLepDR

Definition at line 42 of file JetAnalyzer.py.

float objects.JetAnalyzer.JetAnalyzer.jetLepDR = 0.4
static

Definition at line 324 of file JetAnalyzer.py.

Referenced by objects.JetAnalyzer.JetAnalyzer.process().

int objects.JetAnalyzer.JetAnalyzer.jetPt = 25
static

Definition at line 321 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.jetReCalibrator

Definition at line 38 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.lepPtMin

Definition at line 43 of file JetAnalyzer.py.

Referenced by objects.JetAnalyzer.JetAnalyzer.process().

int objects.JetAnalyzer.JetAnalyzer.minLepPt = 10
static

Definition at line 325 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.qglcalc

Definition at line 46 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.recalibrateJets = False,
static

Definition at line 329 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.relaxJetId = False,
static

Definition at line 326 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.shiftJEC

Definition at line 30 of file JetAnalyzer.py.

int objects.JetAnalyzer.JetAnalyzer.shiftJEC = 0
static

Definition at line 330 of file JetAnalyzer.py.

Referenced by objects.JetAnalyzer.JetAnalyzer.process().

objects.JetAnalyzer.JetAnalyzer.shiftJER

Definition at line 52 of file JetAnalyzer.py.

int objects.JetAnalyzer.JetAnalyzer.shiftJER = 0
static

Definition at line 332 of file JetAnalyzer.py.

objects.JetAnalyzer.JetAnalyzer.smearJets = True,
static

Definition at line 331 of file JetAnalyzer.py.

Referenced by objects.JetAnalyzer.JetAnalyzer.process(), and objects.JetAnalyzer.JetAnalyzer.smearJets().