CMS 3D CMS Logo

Functions | Variables
custom_jme_cff Namespace Reference

Functions

def AddBTaggingScores (proc, jetTableName="")
 
def AddDeepJetGluonLQuarkScores (proc, jetTableName="")
 
def AddJetID (proc, jetName="", jetSrc="", jetTableName="", jetSequenceName="")
 
def AddNewGenJets (proc, genJetInfo)
 
def AddNewPatJets (proc, recoJetInfo, runOnMC)
 
def AddPileUpJetIDVars (proc, jetName="", jetSrc="", jetTableName="", jetSequenceName="")
 
def AddQGLTaggerVars (proc, jetName="", jetSrc="", jetTableName="", jetSequenceName="", calculateQGLVars=False)
 
def AddVariablesForAK4GenJets (proc)
 
def AddVariablesForAK8GenJets (proc)
 
def AddVariablesForAK8PuppiJets (proc)
 
def PrepJMECustomNanoAOD (process, runOnMC)
 
def PrepJMECustomNanoAOD_Data (process)
 
def PrepJMECustomNanoAOD_MC (process)
 
def ReclusterAK4CHSJets (proc, recoJA, runOnMC)
 
def ReclusterAK4GenJets (proc, genJA)
 
def RemoveAllJetPtCuts (proc)
 
def SaveGenJets (proc, genJetName, genJetAlgo, genJetSizeNr, genJetFinalColl, genJetTablePrefix, genJetTableDoc, runOnMC=False)
 
def SavePatJets (proc, jetName, payload, patJetFinalColl, jetTablePrefix, jetTableDoc, doPF, doCalo, ptcut="", doPUIDVar=False, doQGL=False, doBTag=False, runOnMC=False)
 

Variables

 area
 
 btagCMVA
 
 bTagCMVAV2
 
 bTagCSVV2
 
 btagCSVV2
 
 btagDeepB
 
 btagDeepC
 
 bTagDeepCSV
 
 btagDeepFlavB
 
 btagDeepFlavC
 
 btagDeepFlavG
 
 btagDeepFlavUDS
 
 bTagDeepJet
 
 bTagDiscriminatorsForAK4
 
 BTAGVARS
 
 CALOJETVARS
 
 chEmEF
 
 chHEF
 
 config_genjets
 
 config_recojets
 
 DEEPJETVARS
 
 doc
 
 emf
 
 float
 
 GENJETVARS
 
 hfEmEF
 
 hfHEF
 
 int
 
 muEF
 
 nanoInfo_genjets
 
 nanoInfo_recojets
 
 nConstChHads
 
 nConstElecs
 
 nConstHFEMs
 
 nConstHFHads
 
 nConstituents
 
 nConstMuons
 
 nConstNeuHads
 
 nConstPhotons
 
 neEmEF
 
 neHEF
 
 nElectrons
 
 nMuons
 
 PFJETVARS
 
 precision
 
 puId_beta
 
 puId_dR2Mean
 
 puId_frac01
 
 puId_frac02
 
 puId_frac03
 
 puId_frac04
 
 puId_jetR
 
 puId_jetRchg
 
 puId_majW
 
 puId_minW
 
 puId_nCharged
 
 puId_ptD
 
 puId_pull
 
 PUIDVARS
 
 qgl_axis2
 
 qgl_mult
 
 qgl_ptD
 
 QGLVARS
 
 rawFactor
 

Function Documentation

def custom_jme_cff.AddBTaggingScores (   proc,
  jetTableName = "" 
)
Store b-tagging scores from various algortihm

Definition at line 359 of file custom_jme_cff.py.

Referenced by SavePatJets().

359 def AddBTaggingScores(proc, jetTableName=""):
360  """
361  Store b-tagging scores from various algortihm
362  """
363 
364  getattr(proc, jetTableName).variables.btagCMVA = jetTable.variables.btagCMVA
365  getattr(proc, jetTableName).variables.btagDeepB = jetTable.variables.btagDeepB
366  getattr(proc, jetTableName).variables.btagCSVV2 = jetTable.variables.btagCSVV2
367  getattr(proc, jetTableName).variables.btagDeepC = jetTable.variables.btagDeepC
368  getattr(proc, jetTableName).variables.btagDeepFlavB = jetTable.variables.btagDeepFlavB
369  getattr(proc, jetTableName).variables.btagDeepFlavC = jetTable.variables.btagDeepFlavC
370 
371  return proc
372 
def AddBTaggingScores(proc, jetTableName="")
def custom_jme_cff.AddDeepJetGluonLQuarkScores (   proc,
  jetTableName = "" 
)
Store DeepJet raw score in jetTable for gluon and light quark

Definition at line 373 of file custom_jme_cff.py.

Referenced by SavePatJets().

373 def AddDeepJetGluonLQuarkScores(proc, jetTableName=""):
374  """
375  Store DeepJet raw score in jetTable for gluon and light quark
376  """
377 
378  getattr(proc, jetTableName).variables.btagDeepFlavG = DEEPJETVARS.btagDeepFlavG
379  getattr(proc, jetTableName).variables.btagDeepFlavUDS = DEEPJETVARS.btagDeepFlavUDS
380 
381  return proc
382 
def AddDeepJetGluonLQuarkScores(proc, jetTableName="")
def custom_jme_cff.AddJetID (   proc,
  jetName = "",
  jetSrc = "",
  jetTableName = "",
  jetSequenceName = "" 
)
Setup modules to calculate PF jet ID 

Definition at line 198 of file custom_jme_cff.py.

References popcon2dropbox.copy(), edm::eventsetup::heterocontainer.insert(), and common_cff.Var().

Referenced by SavePatJets().

198 def AddJetID(proc, jetName="", jetSrc="", jetTableName="", jetSequenceName=""):
199  """
200  Setup modules to calculate PF jet ID
201  """
202 
203  isPUPPIJet = True if "Puppi" in jetName else False
204 
205  looseJetId = "looseJetId{}".format(jetName)
206  setattr(proc, looseJetId, proc.looseJetId.clone(
207  src = jetSrc,
208  filterParams=proc.looseJetId.filterParams.clone(
209  version ="WINTER16"
210  ),
211  )
212  )
213 
214  tightJetId = "tightJetId{}".format(jetName)
215  setattr(proc, tightJetId, proc.tightJetId.clone(
216  src = jetSrc,
217  filterParams=proc.tightJetId.filterParams.clone(
218  version = "SUMMER18{}".format("PUPPI" if isPUPPIJet else "")
219  ),
220  )
221  )
222 
223  tightJetIdLepVeto = "tightJetIdLepVeto{}".format(jetName)
224  setattr(proc, tightJetIdLepVeto, proc.tightJetIdLepVeto.clone(
225  src = jetSrc,
226  filterParams=proc.tightJetIdLepVeto.filterParams.clone(
227  version = "SUMMER18{}".format("PUPPI" if isPUPPIJet else "")
228  ),
229  )
230  )
231  run2_jme_2016.toModify(getattr(proc, tightJetId) .filterParams, version = "WINTER16" )
232  run2_jme_2016.toModify(getattr(proc, tightJetIdLepVeto) .filterParams, version = "WINTER16" )
233  run2_jme_2017.toModify(getattr(proc, tightJetId) .filterParams, version = "WINTER17{}".format("PUPPI" if isPUPPIJet else ""))
234  run2_jme_2017.toModify(getattr(proc, tightJetIdLepVeto) .filterParams, version = "WINTER17{}".format("PUPPI" if isPUPPIJet else ""))
235 
236  #
237  # Save variables as userInts in each jet
238  #
239  patJetWithUserData = "{}WithUserData".format(jetSrc)
240  getattr(proc, patJetWithUserData).userInts.tightId = cms.InputTag(tightJetId)
241  getattr(proc, patJetWithUserData).userInts.tightIdLepVeto = cms.InputTag(tightJetIdLepVeto)
242  run2_jme_2016.toModify(getattr(proc, patJetWithUserData).userInts, looseId = cms.InputTag(looseJetId))
243 
244  #
245  # Specfiy variables in the jetTable to save in NanoAOD
246  #
247  getattr(proc, jetTableName).variables.jetId = Var("userInt('tightId')*2+4*userInt('tightIdLepVeto')",int,doc="Jet ID flags bit1 is loose (always false in 2017 since it does not exist), bit2 is tight, bit3 is tightLepVeto")
248  run2_jme_2016.toModify(getattr(proc, jetTableName).variables, jetId = Var("userInt('tightIdLepVeto')*4+userInt('tightId')*2+userInt('looseId')",int, doc="Jet ID flags bit1 is loose, bit2 is tight, bit3 is tightLepVeto"))
249 
250  getattr(proc,jetSequenceName).insert(getattr(proc,jetSequenceName).index(getattr(proc, jetSrc))+1, getattr(proc, tightJetId))
251  getattr(proc,jetSequenceName).insert(getattr(proc,jetSequenceName).index(getattr(proc, tightJetId))+1, getattr(proc, tightJetIdLepVeto))
252 
253  setattr(proc,"_"+jetSequenceName+"_2016", getattr(proc,jetSequenceName).copy())
254  getattr(proc,"_"+jetSequenceName+"_2016").insert(getattr(proc, "_"+jetSequenceName+"_2016").index(getattr(proc, tightJetId)), getattr(proc, looseJetId))
255  run2_jme_2016.toReplaceWith(getattr(proc,jetSequenceName), getattr(proc, "_"+jetSequenceName+"_2016"))
256 
257  return proc
258 
def copy(args, dbName)
def AddJetID(proc, jetName="", jetSrc="", jetTableName="", jetSequenceName="")
def Var(expr, valtype, compression=None, doc=None, mcOnly=False, precision=-1)
Definition: common_cff.py:20
bool insert(Storage &iStorage, ItemType *iItem, const IdTag &iIdTag)
Definition: HCMethods.h:50
def custom_jme_cff.AddNewGenJets (   proc,
  genJetInfo 
)
Add genJet into custom nanoAOD

Definition at line 696 of file custom_jme_cff.py.

References SaveGenJets().

Referenced by PrepJMECustomNanoAOD().

696 def AddNewGenJets(proc, genJetInfo):
697  """
698  Add genJet into custom nanoAOD
699  """
700 
701  genJetName = genJetInfo.jetUpper
702  genJetAlgo = genJetInfo.jetAlgo
703  genJetSize = genJetInfo.jetSize
704  genJetSizeNr = genJetInfo.jetSizeNr
705  genJetFinalColl = "{}{}{}".format(genJetAlgo.upper(), genJetSize, "GenJetsNoNu")
706  genJetTablePrefix = nanoInfo_genjets[genJetInfo.jet]["name"]
707  genJetTableDoc = nanoInfo_genjets[genJetInfo.jet]["doc"]
708 
709  SaveGenJets(proc, genJetName, genJetAlgo, genJetSizeNr, genJetFinalColl, genJetTablePrefix, genJetTableDoc, runOnMC=False)
710 
711  return proc
712 
def AddNewGenJets(proc, genJetInfo)
def SaveGenJets(proc, genJetName, genJetAlgo, genJetSizeNr, genJetFinalColl, genJetTablePrefix, genJetTableDoc, runOnMC=False)
def custom_jme_cff.AddNewPatJets (   proc,
  recoJetInfo,
  runOnMC 
)
Add patJet into custom nanoAOD

Definition at line 383 of file custom_jme_cff.py.

References SavePatJets().

Referenced by PrepJMECustomNanoAOD().

383 def AddNewPatJets(proc, recoJetInfo, runOnMC):
384  """
385  Add patJet into custom nanoAOD
386  """
387 
388  jetName = recoJetInfo.jetUpper
389  payload = recoJetInfo.jetCorrPayload
390  doPF = recoJetInfo.doPF
391  doCalo = recoJetInfo.doCalo
392 
393  if recoJetInfo.inputCollection != "":
394  patJetFinalColl = recoJetInfo.inputCollection
395  else:
396  patJetFinalColl = "selectedUpdatedPatJets{}Final".format(jetName)
397 
398  if doCalo:
399  patJetFinalColl = "selectedPatJets{}".format(jetName)
400 
401  nanoInfoForJet = nanoInfo_recojets[recoJetInfo.jet]
402  jetTablePrefix = nanoInfoForJet["name"]
403  jetTableDoc = nanoInfoForJet["doc"]
404  ptcut = nanoInfoForJet["ptcut"] if "ptcut" in nanoInfoForJet else ""
405  doPUIDVar = nanoInfoForJet["doPUIDVar"] if "doPUIDVar" in nanoInfoForJet else False
406  doQGL = nanoInfoForJet["doQGL"] if "doQGL" in nanoInfoForJet else False
407  doBTag = nanoInfoForJet["doBTag"] if "doBTag" in nanoInfoForJet else False
408 
409  SavePatJets(proc,
410  jetName, payload, patJetFinalColl, jetTablePrefix, jetTableDoc, doPF, doCalo,
411  ptcut=ptcut, doPUIDVar=doPUIDVar, doQGL=doQGL, doBTag=doBTag, runOnMC=runOnMC
412  )
413 
414  return proc
415 
def AddNewPatJets(proc, recoJetInfo, runOnMC)
def SavePatJets(proc, jetName, payload, patJetFinalColl, jetTablePrefix, jetTableDoc, doPF, doCalo, ptcut="", doPUIDVar=False, doQGL=False, doBTag=False, runOnMC=False)
def custom_jme_cff.AddPileUpJetIDVars (   proc,
  jetName = "",
  jetSrc = "",
  jetTableName = "",
  jetSequenceName = "" 
)
Setup modules to calculate pileup jet ID input variables for PF jet

Definition at line 259 of file custom_jme_cff.py.

References edm::eventsetup::heterocontainer.insert().

Referenced by ReclusterAK4CHSJets(), and SavePatJets().

259 def AddPileUpJetIDVars(proc, jetName="", jetSrc="", jetTableName="", jetSequenceName=""):
260  """
261  Setup modules to calculate pileup jet ID input variables for PF jet
262  """
263 
264  #
265  # Calculate pileup jet ID variables
266  #
267  puJetIdVarsCalculator = "puJetIdCalculator{}".format(jetName)
268  setattr(proc, puJetIdVarsCalculator, pileupJetIdCalculator.clone(
269  jets = jetSrc,
270  vertexes = "offlineSlimmedPrimaryVertices",
271  inputIsCorrected = True,
272  applyJec = False,
273  usePuppi = True if "Puppi" in jetName else False
274  )
275  )
276  getattr(proc,jetSequenceName).insert(getattr(proc,jetSequenceName).index(getattr(proc, jetSrc))+1, getattr(proc, puJetIdVarsCalculator))
277 
278  #
279  # Get the variables
280  #
281  puJetIDVar = "puJetIDVar{}".format(jetName)
282  setattr(proc, puJetIDVar, cms.EDProducer("PileupJetIDVarProducer",
283  srcJet = cms.InputTag(jetSrc),
284  srcPileupJetId = cms.InputTag(puJetIdVarsCalculator)
285  )
286  )
287  getattr(proc,jetSequenceName).insert(getattr(proc,jetSequenceName).index(getattr(proc, puJetIdVarsCalculator))+1, getattr(proc, puJetIDVar))
288 
289  #
290  # Save variables as userFloats and userInts for each jet
291  #
292  patJetWithUserData = "{}WithUserData".format(jetSrc)
293  getattr(proc,patJetWithUserData).userFloats.puId_dR2Mean = cms.InputTag("{}:dR2Mean".format(puJetIDVar))
294  getattr(proc,patJetWithUserData).userFloats.puId_majW = cms.InputTag("{}:majW".format(puJetIDVar))
295  getattr(proc,patJetWithUserData).userFloats.puId_minW = cms.InputTag("{}:minW".format(puJetIDVar))
296  getattr(proc,patJetWithUserData).userFloats.puId_frac01 = cms.InputTag("{}:frac01".format(puJetIDVar))
297  getattr(proc,patJetWithUserData).userFloats.puId_frac02 = cms.InputTag("{}:frac02".format(puJetIDVar))
298  getattr(proc,patJetWithUserData).userFloats.puId_frac03 = cms.InputTag("{}:frac03".format(puJetIDVar))
299  getattr(proc,patJetWithUserData).userFloats.puId_frac04 = cms.InputTag("{}:frac04".format(puJetIDVar))
300  getattr(proc,patJetWithUserData).userFloats.puId_ptD = cms.InputTag("{}:ptD".format(puJetIDVar))
301  getattr(proc,patJetWithUserData).userFloats.puId_beta = cms.InputTag("{}:beta".format(puJetIDVar))
302  getattr(proc,patJetWithUserData).userFloats.puId_pull = cms.InputTag("{}:pull".format(puJetIDVar))
303  getattr(proc,patJetWithUserData).userFloats.puId_jetR = cms.InputTag("{}:jetR".format(puJetIDVar))
304  getattr(proc,patJetWithUserData).userFloats.puId_jetRchg = cms.InputTag("{}:jetRchg".format(puJetIDVar))
305  getattr(proc,patJetWithUserData).userInts.puId_nCharged = cms.InputTag("{}:nCharged".format(puJetIDVar))
306 
307  #
308  # Specfiy variables in the jet table to save in NanoAOD
309  #
310  getattr(proc,jetTableName).variables.puId_dR2Mean = PUIDVARS.puId_dR2Mean
311  getattr(proc,jetTableName).variables.puId_majW = PUIDVARS.puId_majW
312  getattr(proc,jetTableName).variables.puId_minW = PUIDVARS.puId_minW
313  getattr(proc,jetTableName).variables.puId_frac01 = PUIDVARS.puId_frac01
314  getattr(proc,jetTableName).variables.puId_frac02 = PUIDVARS.puId_frac02
315  getattr(proc,jetTableName).variables.puId_frac03 = PUIDVARS.puId_frac03
316  getattr(proc,jetTableName).variables.puId_frac04 = PUIDVARS.puId_frac04
317  getattr(proc,jetTableName).variables.puId_ptD = PUIDVARS.puId_ptD
318  getattr(proc,jetTableName).variables.puId_beta = PUIDVARS.puId_beta
319  getattr(proc,jetTableName).variables.puId_pull = PUIDVARS.puId_pull
320  getattr(proc,jetTableName).variables.puId_jetR = PUIDVARS.puId_jetR
321  getattr(proc,jetTableName).variables.puId_jetRchg = PUIDVARS.puId_jetRchg
322  getattr(proc,jetTableName).variables.puId_nCharged = PUIDVARS.puId_nCharged
323 
324  return proc
325 
bool insert(Storage &iStorage, ItemType *iItem, const IdTag &iIdTag)
Definition: HCMethods.h:50
def AddPileUpJetIDVars(proc, jetName="", jetSrc="", jetTableName="", jetSequenceName="")
def custom_jme_cff.AddQGLTaggerVars (   proc,
  jetName = "",
  jetSrc = "",
  jetTableName = "",
  jetSequenceName = "",
  calculateQGLVars = False 
)
Schedule the QGTagger module to calculate input variables to the QG likelihood 

Definition at line 326 of file custom_jme_cff.py.

References edm::eventsetup::heterocontainer.insert().

Referenced by SavePatJets().

326 def AddQGLTaggerVars(proc, jetName="", jetSrc="", jetTableName="", jetSequenceName="", calculateQGLVars=False):
327  """
328  Schedule the QGTagger module to calculate input variables to the QG likelihood
329  """
330 
331  QGLTagger="qgtagger{}".format(jetName)
332  patJetWithUserData="{}WithUserData".format(jetSrc)
333 
334  if calculateQGLVars:
335  setattr(proc, QGLTagger, qgtagger.clone(
336  srcJets=jetSrc
337  )
338  )
339 
340  #
341  # Save variables as userFloats and userInts for each jet
342  #
343  getattr(proc,patJetWithUserData).userFloats.qgl_axis2 = cms.InputTag(QGLTagger+":axis2")
344  getattr(proc,patJetWithUserData).userFloats.qgl_ptD = cms.InputTag(QGLTagger+":ptD")
345  getattr(proc,patJetWithUserData).userInts.qgl_mult = cms.InputTag(QGLTagger+":mult")
346 
347  #
348  # Specfiy variables in the jet table to save in NanoAOD
349  #
350  getattr(proc,jetTableName).variables.qgl_axis2 = QGLVARS.qgl_axis2
351  getattr(proc,jetTableName).variables.qgl_ptD = QGLVARS.qgl_ptD
352  getattr(proc,jetTableName).variables.qgl_mult = QGLVARS.qgl_mult
353 
354  if calculateQGLVars:
355  getattr(proc,jetSequenceName).insert(getattr(proc,jetSequenceName).index(getattr(proc, jetSrc))+1, getattr(proc, QGLTagger))
356 
357  return proc
358 
def AddQGLTaggerVars(proc, jetName="", jetSrc="", jetTableName="", jetSequenceName="", calculateQGLVars=False)
bool insert(Storage &iStorage, ItemType *iItem, const IdTag &iIdTag)
Definition: HCMethods.h:50
def custom_jme_cff.AddVariablesForAK4GenJets (   proc)

Definition at line 796 of file custom_jme_cff.py.

Referenced by PrepJMECustomNanoAOD().

797  proc.genJetTable.variables.nConstituents = GENJETVARS.nConstituents
798  return proc
799 
def AddVariablesForAK4GenJets(proc)
def custom_jme_cff.AddVariablesForAK8GenJets (   proc)

Definition at line 800 of file custom_jme_cff.py.

Referenced by PrepJMECustomNanoAOD().

801  proc.genJetAK8Table.variables.nConstituents = GENJETVARS.nConstituents
802  return proc
803 
804 #===========================================================================
805 #
806 # Misc. functions
807 #
808 #===========================================================================
def AddVariablesForAK8GenJets(proc)
def custom_jme_cff.AddVariablesForAK8PuppiJets (   proc)
Add more variables for AK8 PFPUPPI jets

Definition at line 664 of file custom_jme_cff.py.

References common_cff.Var().

Referenced by PrepJMECustomNanoAOD().

665  """
666  Add more variables for AK8 PFPUPPI jets
667  """
668 
669  #
670  # These variables are not stored for AK8PFCHS (slimmedJetsAK8)
671  # in MiniAOD if their pt < 170 GeV. Hence the conditional fill.
672  #
673  proc.fatJetTable.variables.chHEF = Var("?isPFJet()?chargedHadronEnergyFraction():-1", float, doc="charged Hadron Energy Fraction", precision = 6)
674  proc.fatJetTable.variables.neHEF = Var("?isPFJet()?neutralHadronEnergyFraction():-1", float, doc="neutral Hadron Energy Fraction", precision = 6)
675  proc.fatJetTable.variables.chEmEF = Var("?isPFJet()?chargedEmEnergyFraction():-1", float, doc="charged Electromagnetic Energy Fraction", precision = 6)
676  proc.fatJetTable.variables.neEmEF = Var("?isPFJet()?neutralEmEnergyFraction():-1", float, doc="neutral Electromagnetic Energy Fraction", precision = 6)
677  proc.fatJetTable.variables.muEF = Var("?isPFJet()?muonEnergyFraction():-1", float, doc="muon Energy Fraction", precision = 6)
678  proc.fatJetTable.variables.hfHEF = Var("?isPFJet()?HFHadronEnergyFraction():-1", float, doc="energy fraction in forward hadronic calorimeter", precision = 6)
679  proc.fatJetTable.variables.hfEmEF = Var("?isPFJet()?HFEMEnergyFraction():-1", float, doc="energy fraction in forward EM calorimeter", precision = 6)
680  proc.fatJetTable.variables.nConstChHads = Var("?isPFJet()?chargedHadronMultiplicity():-1",int, doc="number of charged hadrons in the jet")
681  proc.fatJetTable.variables.nConstNeuHads = Var("?isPFJet()?neutralHadronMultiplicity():-1",int, doc="number of neutral hadrons in the jet")
682  proc.fatJetTable.variables.nConstHFHads = Var("?isPFJet()?HFHadronMultiplicity():-1", int, doc="number of HF Hadrons in the jet")
683  proc.fatJetTable.variables.nConstHFEMs = Var("?isPFJet()?HFEMMultiplicity():-1", int, doc="number of HF EMs in the jet")
684  proc.fatJetTable.variables.nConstMuons = Var("?isPFJet()?muonMultiplicity():-1", int, doc="number of muons in the jet")
685  proc.fatJetTable.variables.nConstElecs = Var("?isPFJet()?electronMultiplicity():-1", int, doc="number of electrons in the jet")
686  proc.fatJetTable.variables.nConstPhotons = Var("?isPFJet()?photonMultiplicity():-1", int, doc="number of photons in the jet")
687 
688  return proc
689 #******************************************
690 #
691 #
692 # Gen Jets related functions
693 #
694 #
695 #******************************************
def Var(expr, valtype, compression=None, doc=None, mcOnly=False, precision=-1)
Definition: common_cff.py:20
def AddVariablesForAK8PuppiJets(proc)
def custom_jme_cff.PrepJMECustomNanoAOD (   process,
  runOnMC 
)

Definition at line 828 of file custom_jme_cff.py.

References AddNewGenJets(), AddNewPatJets(), AddVariablesForAK4GenJets(), AddVariablesForAK8GenJets(), AddVariablesForAK8PuppiJets(), ReclusterAK4CHSJets(), ReclusterAK4GenJets(), and RemoveAllJetPtCuts().

Referenced by PrepJMECustomNanoAOD_Data(), and PrepJMECustomNanoAOD_MC().

828 def PrepJMECustomNanoAOD(process,runOnMC):
829 
830  ############################################################################
831  # Remove all default jet pt cuts from jets_cff.py
832  ############################################################################
833  process = RemoveAllJetPtCuts(process)
834 
835  ###########################################################################
836  #
837  # Gen-level jets related functions. Only for MC.
838  #
839  ###########################################################################
840  genJA = GenJetAdder()
841  if runOnMC:
842  ############################################################################
843  # Save additional variables for AK8 GEN jets
844  ############################################################################
845  process = AddVariablesForAK8GenJets(process)
846  ###########################################################################
847  # Recluster AK4 GEN jets
848  ###########################################################################
849  process = ReclusterAK4GenJets(process, genJA)
850  process = AddVariablesForAK4GenJets(process)
851  ###########################################################################
852  # Add additional GEN jets to NanoAOD
853  ###########################################################################
854  for jetConfig in config_genjets:
855  cfg = { k : v for k, v in jetConfig.items() if k != "enabled"}
856  genJetInfo = genJA.addGenJetCollection(process, **cfg)
857  AddNewGenJets(process, genJetInfo)
858 
859  ###########################################################################
860  #
861  # Reco-level jets related functions. For both MC and data.
862  #
863  ###########################################################################
864  recoJA = RecoJetAdder(runOnMC=runOnMC)
865  ###########################################################################
866  # Save additional variables for AK8Puppi jets
867  ###########################################################################
868  process = AddVariablesForAK8PuppiJets(process)
869  ###########################################################################
870  # Recluster AK4 CHS jets and replace "slimmedJets"
871  ###########################################################################
872  process = ReclusterAK4CHSJets(process, recoJA, runOnMC)
873  ###########################################################################
874  # Add additional Reco jets to NanoAOD
875  ###########################################################################
876  for jetConfig in config_recojets:
877  cfg = { k : v for k, v in jetConfig.items() if k != "enabled"}
878  recoJetInfo = recoJA.addRecoJetCollection(process, **cfg)
879  AddNewPatJets(process, recoJetInfo, runOnMC)
880 
881  return process
882 
def ReclusterAK4CHSJets(proc, recoJA, runOnMC)
def RemoveAllJetPtCuts(proc)
def PrepJMECustomNanoAOD(process, runOnMC)
def AddNewPatJets(proc, recoJetInfo, runOnMC)
def ReclusterAK4GenJets(proc, genJA)
def AddNewGenJets(proc, genJetInfo)
def AddVariablesForAK4GenJets(proc)
def AddVariablesForAK8PuppiJets(proc)
def AddVariablesForAK8GenJets(proc)
def custom_jme_cff.PrepJMECustomNanoAOD_Data (   process)

Definition at line 887 of file custom_jme_cff.py.

References PrepJMECustomNanoAOD().

888  PrepJMECustomNanoAOD(process,runOnMC=False)
889  return process
890 
def PrepJMECustomNanoAOD(process, runOnMC)
def PrepJMECustomNanoAOD_Data(process)
def custom_jme_cff.PrepJMECustomNanoAOD_MC (   process)

Definition at line 883 of file custom_jme_cff.py.

References PrepJMECustomNanoAOD().

884  PrepJMECustomNanoAOD(process,runOnMC=True)
885  return process
886 
def PrepJMECustomNanoAOD(process, runOnMC)
def PrepJMECustomNanoAOD_MC(process)
def custom_jme_cff.ReclusterAK4CHSJets (   proc,
  recoJA,
  runOnMC 
)
Recluster AK4 CHS jets and replace slimmedJets
that is used as default to save AK4 CHS jets 
in NanoAODs.  

Definition at line 550 of file custom_jme_cff.py.

References AddPileUpJetIDVars(), edm.print(), and common_cff.Var().

Referenced by PrepJMECustomNanoAOD().

550 def ReclusterAK4CHSJets(proc, recoJA, runOnMC):
551  """
552  Recluster AK4 CHS jets and replace slimmedJets
553  that is used as default to save AK4 CHS jets
554  in NanoAODs.
555  """
556  print("custom_jme_cff::ReclusterAK4CHSJets: Recluster AK4 PF CHS jets")
557 
558  #
559  # Recluster AK4 CHS jets
560  #
561  cfg = {
562  "jet" : "ak4pfchs",
563  "inputCollection" : "",
564  "genJetsCollection": "AK4GenJetsNoNu",
565  "bTagDiscriminators": bTagDiscriminatorsForAK4
566  }
567  recoJetInfo = recoJA.addRecoJetCollection(proc, **cfg)
568 
569  jetName = recoJetInfo.jetUpper
570  patJetFinalColl = "selectedUpdatedPatJets{}Final".format(jetName)
571 
572  #
573  # Change the input jet source for jetCorrFactorsNano
574  # and updatedJets
575  #
576  proc.jetCorrFactorsNano.src=patJetFinalColl
577  proc.updatedJets.jetSource=patJetFinalColl
578 
579  #
580  # Change pt cut
581  #
582  proc.finalJets.cut = "pt > 2"
583  proc.simpleCleanerTable.jetSel = "pt > 10" # Change this from 15 -> 10
584 
585  #
586  # Add variables
587  #
588  proc.jetTable.variables.hfHEF = PFJETVARS.hfHEF
589  proc.jetTable.variables.hfEmEF = PFJETVARS.hfEmEF
590  proc.jetTable.variables.nConstChHads = PFJETVARS.nConstChHads
591  proc.jetTable.variables.nConstNeuHads = PFJETVARS.nConstNeuHads
592  proc.jetTable.variables.nConstHFHads = PFJETVARS.nConstHFHads
593  proc.jetTable.variables.nConstHFEMs = PFJETVARS.nConstHFEMs
594  proc.jetTable.variables.nConstMuons = PFJETVARS.nConstMuons
595  proc.jetTable.variables.nConstElecs = PFJETVARS.nConstElecs
596  proc.jetTable.variables.nConstPhotons = PFJETVARS.nConstPhotons
597 
598  proc.jetTable.doc = cms.string("AK4 PF CHS Jets with JECs applied, after basic selection (pt > 2)")
599 
600  #
601  # Setup pileup jet ID with 80X training.
602  #
603  pileupJetId80X = "pileupJetId80X"
604  setattr(proc, pileupJetId80X, pileupJetId.clone(
605  jets="updatedJets",
606  algos=cms.VPSet(_chsalgos_81x),
607  inputIsCorrected=True,
608  applyJec=False,
609  vertexes="offlineSlimmedPrimaryVertices"
610  )
611  )
612  proc.jetSequence.insert(proc.jetSequence.index(proc.pileupJetId94X), getattr(proc, pileupJetId80X))
613 
614  proc.updatedJetsWithUserData.userInts.puId80XfullId = cms.InputTag('pileupJetId80X:fullId')
615  run2_jme_2016.toModify(proc.updatedJetsWithUserData.userFloats, puId80XDisc = cms.InputTag("pileupJetId80X:fullDiscriminant"))
616 
617  proc.jetTable.variables.puId = Var("userInt('puId80XfullId')", int, doc="Pilup ID flags with 80X (2016) training")
618  run2_jme_2016.toModify(proc.jetTable.variables, puIdDisc = Var("userFloat('puId80XDisc')",float,doc="Pilup ID discriminant with 80X (2016) training",precision=10))
619 
620  #
621  # Add variables for pileup jet ID studies.
622  #
623  proc = AddPileUpJetIDVars(proc,
624  jetName="",
625  jetSrc="updatedJets",
626  jetTableName="jetTable",
627  jetSequenceName="jetSequence"
628  )
629  #
630  # Add variables for quark guon likelihood tagger studies.
631  # Save variables as userFloats and userInts in each jet
632  #
633  proc.updatedJetsWithUserData.userFloats.qgl_axis2 = cms.InputTag("qgtagger:axis2")
634  proc.updatedJetsWithUserData.userFloats.qgl_ptD = cms.InputTag("qgtagger:ptD")
635  proc.updatedJetsWithUserData.userInts.qgl_mult = cms.InputTag("qgtagger:mult")
636  #
637  # Specfiy variables in the jetTable to save in NanoAOD
638  #
639  proc.jetTable.variables.qgl_axis2 = QGLVARS.qgl_axis2
640  proc.jetTable.variables.qgl_ptD = QGLVARS.qgl_ptD
641  proc.jetTable.variables.qgl_mult = QGLVARS.qgl_mult
642  #
643  # Save DeepJet raw score for gluon and light quarks
644  #
645  proc.jetTable.variables.btagDeepFlavG = DEEPJETVARS.btagDeepFlavG
646  proc.jetTable.variables.btagDeepFlavUDS = DEEPJETVARS.btagDeepFlavUDS
647 
648  #Adding hf shower shape producer to the jet sequence. By default this producer is not automatically rerun at the NANOAOD step
649  #The following lines make sure it is.
650  hfJetShowerShapeforCustomNanoAOD = "hfJetShowerShapeforCustomNanoAOD"
651  setattr(proc, hfJetShowerShapeforCustomNanoAOD, hfJetShowerShapeforNanoAOD.clone(jets="updatedJets",vertices="offlineSlimmedPrimaryVertices") )
652  proc.jetSequence.insert(proc.jetSequence.index(proc.updatedJetsWithUserData), getattr(proc, hfJetShowerShapeforCustomNanoAOD))
653  proc.updatedJetsWithUserData.userFloats.hfsigmaEtaEta = cms.InputTag('hfJetShowerShapeforCustomNanoAOD:sigmaEtaEta')
654  proc.updatedJetsWithUserData.userFloats.hfsigmaPhiPhi = cms.InputTag('hfJetShowerShapeforCustomNanoAOD:sigmaPhiPhi')
655  proc.updatedJetsWithUserData.userInts.hfcentralEtaStripSize = cms.InputTag('hfJetShowerShapeforCustomNanoAOD:centralEtaStripSize')
656  proc.updatedJetsWithUserData.userInts.hfadjacentEtaStripsSize = cms.InputTag('hfJetShowerShapeforCustomNanoAOD:adjacentEtaStripsSize')
657  proc.jetTable.variables.hfsigmaEtaEta = Var("userFloat('hfsigmaEtaEta')",float,doc="sigmaEtaEta for HF jets (noise discriminating variable)",precision=10)
658  proc.jetTable.variables.hfsigmaPhiPhi = Var("userFloat('hfsigmaPhiPhi')",float,doc="sigmaPhiPhi for HF jets (noise discriminating variable)",precision=10)
659  proc.jetTable.variables.hfcentralEtaStripSize = Var("userInt('hfcentralEtaStripSize')", int, doc="eta size of the central tower strip in HF (noise discriminating variable) ")
660  proc.jetTable.variables.hfadjacentEtaStripsSize = Var("userInt('hfadjacentEtaStripsSize')", int, doc="eta size of the strips next to the central tower strip in HF (noise discriminating variable) ")
661 
662  return proc
663 
def ReclusterAK4CHSJets(proc, recoJA, runOnMC)
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66
def Var(expr, valtype, compression=None, doc=None, mcOnly=False, precision=-1)
Definition: common_cff.py:20
def AddPileUpJetIDVars(proc, jetName="", jetSrc="", jetTableName="", jetSequenceName="")
def custom_jme_cff.ReclusterAK4GenJets (   proc,
  genJA 
)
Recluster AK4 Gen jets and replace 
slimmedGenJets that is used as default 
to save AK4 Gen jets in NanoAODs. 

Definition at line 756 of file custom_jme_cff.py.

References edm.print().

Referenced by PrepJMECustomNanoAOD().

756 def ReclusterAK4GenJets(proc, genJA):
757  """
758  Recluster AK4 Gen jets and replace
759  slimmedGenJets that is used as default
760  to save AK4 Gen jets in NanoAODs.
761  """
762  print("custom_jme_cff::ReclusterAK4GenJets: Recluster AK4 Gen jets")
763 
764  #
765  # Recluster AK4 Gen jet
766  #
767  cfg = {
768  "jet" : "ak4gen",
769  }
770  genJetInfo = genJA.addGenJetCollection(proc, **cfg)
771 
772  genJetName = genJetInfo.jetUpper
773  genJetAlgo = genJetInfo.jetAlgo
774  genJetSize = genJetInfo.jetSize
775  genJetSizeNr = genJetInfo.jetSizeNr
776  selectedPatGenJets = "{}{}{}".format(genJetAlgo.upper(), genJetSize, "GenJetsNoNu")
777 
778  #
779  # Change jet source to the newly clustered jet collection. Set very low pt cut for jets
780  # to be stored in the GenJet Table
781  #
782  proc.genJetTable.src = selectedPatGenJets
783  proc.genJetTable.cut = "pt > 1"
784  proc.genJetTable.doc ="AK4 Gen jets (made with visible genparticles)"
785 
786  genJetFlavourAssociationThisJet = "genJet{}FlavourAssociation".format(genJetName)
787  setattr(proc, genJetFlavourAssociationThisJet, genJetFlavourAssociation.clone(
788  jets = proc.genJetTable.src,
789  jetAlgorithm = supportedJetAlgos[genJetAlgo],
790  rParam = genJetSizeNr,
791  )
792  )
793  proc.jetMC.insert(proc.jetMC.index(proc.genJetFlavourTable), getattr(proc, genJetFlavourAssociationThisJet))
794  return proc
795 
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66
def ReclusterAK4GenJets(proc, genJA)
def custom_jme_cff.RemoveAllJetPtCuts (   proc)
Remove default pt cuts for all jets set in jets_cff.py 

Definition at line 809 of file custom_jme_cff.py.

Referenced by PrepJMECustomNanoAOD().

810  """
811  Remove default pt cuts for all jets set in jets_cff.py
812  """
813 
814  proc.finalJets.cut = "" # 15 -> 10
815  proc.finalJetsAK8.cut = "" # 170 -> 170
816  proc.genJetTable.cut = "" # 10 -> 8
817  proc.genJetFlavourTable.cut = "" # 10 -> 8
818  proc.genJetAK8Table.cut = "" # 100 -> 80
819  proc.genJetAK8FlavourTable.cut = "" # 100 -> 80
820 
821  return proc
822 
823 #===========================================================================
824 #
825 # CUSTOMIZATION function
826 #
827 #===========================================================================
def RemoveAllJetPtCuts(proc)
def custom_jme_cff.SaveGenJets (   proc,
  genJetName,
  genJetAlgo,
  genJetSizeNr,
  genJetFinalColl,
  genJetTablePrefix,
  genJetTableDoc,
  runOnMC = False 
)
Schedule modules for a given genJet collection and save its variables into custom NanoAOD

Definition at line 713 of file custom_jme_cff.py.

Referenced by AddNewGenJets().

713 def SaveGenJets(proc, genJetName, genJetAlgo, genJetSizeNr, genJetFinalColl, genJetTablePrefix, genJetTableDoc, runOnMC=False):
714  """
715  Schedule modules for a given genJet collection and save its variables into custom NanoAOD
716  """
717 
718  genJetTableThisJet = "jet{}Table".format(genJetName)
719  setattr(proc, genJetTableThisJet, genJetTable.clone(
720  src = genJetFinalColl,
721  cut = "pt > 1",
722  name = genJetTablePrefix,
723  doc = genJetTableDoc,
724  variables = GENJETVARS
725  )
726  )
727 
728  genJetFlavourAssociationThisJet = "genJet{}FlavourAssociation".format(genJetName)
729  setattr(proc, genJetFlavourAssociationThisJet, genJetFlavourAssociation.clone(
730  jets = getattr(proc,genJetTableThisJet).src,
731  jetAlgorithm = supportedJetAlgos[genJetAlgo],
732  rParam = genJetSizeNr,
733  )
734  )
735 
736  genJetFlavourTableThisJet = "genJet{}FlavourTable".format(genJetName)
737  setattr(proc, genJetFlavourTableThisJet, genJetFlavourTable.clone(
738  name = getattr(proc,genJetTableThisJet).name,
739  src = getattr(proc,genJetTableThisJet).src,
740  cut = getattr(proc,genJetTableThisJet).cut,
741  jetFlavourInfos = genJetFlavourAssociationThisJet,
742  )
743  )
744 
745  genJetSequenceName = "genJet{}Sequence".format(genJetName)
746  setattr(proc, genJetSequenceName, cms.Sequence(
747  getattr(proc,genJetTableThisJet)+
748  getattr(proc,genJetFlavourAssociationThisJet)+
749  getattr(proc,genJetFlavourTableThisJet)
750  )
751  )
752  proc.nanoSequenceMC.insert(proc.nanoSequenceMC.index(proc.jetMC)+1, getattr(proc,genJetSequenceName))
753 
754  return proc
755 
def SaveGenJets(proc, genJetName, genJetAlgo, genJetSizeNr, genJetFinalColl, genJetTablePrefix, genJetTableDoc, runOnMC=False)
def custom_jme_cff.SavePatJets (   proc,
  jetName,
  payload,
  patJetFinalColl,
  jetTablePrefix,
  jetTableDoc,
  doPF,
  doCalo,
  ptcut = "",
  doPUIDVar = False,
  doQGL = False,
  doBTag = False,
  runOnMC = False 
)
Schedule modules for a given patJet collection and save its variables into custom NanoAOD

Definition at line 417 of file custom_jme_cff.py.

References AddBTaggingScores(), AddDeepJetGluonLQuarkScores(), AddJetID(), AddPileUpJetIDVars(), AddQGLTaggerVars(), and common_cff.Var().

Referenced by AddNewPatJets().

417  doPF, doCalo, ptcut="", doPUIDVar=False, doQGL=False, doBTag=False, runOnMC=False):
418  """
419  Schedule modules for a given patJet collection and save its variables into custom NanoAOD
420  """
421 
422  #
423  # Setup jet correction factors
424  #
425  jetCorrFactors = "jetCorrFactorsNano{}".format(jetName)
426  setattr(proc, jetCorrFactors, jetCorrFactorsNano.clone(
427  src = patJetFinalColl,
428  payload = payload,
429  )
430  )
431 
432  #
433  # Update jets
434  #
435  srcJets = "updatedJets{}".format(jetName)
436  setattr(proc, srcJets, updatedJets.clone(
437  jetSource = patJetFinalColl,
438  jetCorrFactorsSource=[jetCorrFactors],
439  )
440  )
441 
442  #
443  # Setup UserDataEmbedder
444  #
445  srcJetsWithUserData = "updatedJets{}WithUserData".format(jetName)
446  setattr(proc, srcJetsWithUserData, cms.EDProducer("PATJetUserDataEmbedder",
447  src = cms.InputTag(srcJets),
448  userFloats = cms.PSet(),
449  userInts = cms.PSet(),
450  )
451  )
452 
453  #
454  # Filter jets with pt cut
455  #
456  finalJetsForTable = "finalJets{}".format(jetName)
457  setattr(proc, finalJetsForTable, finalJets.clone(
458  src = srcJetsWithUserData,
459  cut = ptcut
460  )
461  )
462 
463  #
464  # Save jets in table
465  #
466  tableContent = PFJETVARS
467  if doCalo:
468  tableContent = CALOJETVARS
469 
470  jetTable = "jet{}Table".format(jetName)
471  setattr(proc,jetTable, cms.EDProducer("SimpleCandidateFlatTableProducer",
472  src = cms.InputTag(finalJetsForTable),
473  cut = cms.string(""), # Don't specify cuts here
474  name = cms.string(jetTablePrefix),
475  doc = cms.string(jetTableDoc),
476  singleton = cms.bool(False), # the number of entries is variable
477  extension = cms.bool(False), # this is the main table for the jets
478  variables = cms.PSet(tableContent)
479  )
480  )
481  getattr(proc,jetTable).variables.pt.precision=10
482 
483  #
484  # Save MC-only jet variables in table
485  #
486  jetMCTable = "jet{}MCTable".format(jetName)
487  setattr(proc, jetMCTable, cms.EDProducer("SimpleCandidateFlatTableProducer",
488  src = cms.InputTag(finalJetsForTable),
489  cut = getattr(proc,jetTable).cut,
490  name = cms.string(jetTablePrefix),
491  singleton = cms.bool(False),
492  extension = cms.bool(True), # this is an extension table
493  variables = cms.PSet(
494  partonFlavour = Var("partonFlavour()", int, doc="flavour from parton matching"),
495  hadronFlavour = Var("hadronFlavour()", int, doc="flavour from hadron ghost clustering"),
496  genJetIdx = Var("?genJetFwdRef().backRef().isNonnull()?genJetFwdRef().backRef().key():-1", int, doc="index of matched gen jet"),
497  )
498  )
499  )
500 
501  #
502  # Define the jet modules sequence first
503  #
504  jetSequenceName = "jet{}Sequence".format(jetName)
505  setattr(proc, jetSequenceName, cms.Sequence(
506  getattr(proc,jetCorrFactors)+
507  getattr(proc,srcJets)+
508  getattr(proc,srcJetsWithUserData)+
509  getattr(proc,finalJetsForTable)
510  )
511  )
512 
513  #
514  # Define the jet table sequences
515  #
516  jetTableSequenceName = "jet{}TablesSequence".format(jetName)
517  setattr(proc, jetTableSequenceName, cms.Sequence(getattr(proc,jetTable)))
518 
519  jetTableSequenceMCName = "jet{}MCTablesSequence".format(jetName)
520  setattr(proc, jetTableSequenceMCName, cms.Sequence(getattr(proc,jetMCTable)))
521 
522  if runOnMC:
523  proc.nanoSequenceMC += getattr(proc,jetSequenceName)
524  proc.nanoSequenceMC += getattr(proc,jetTableSequenceName)
525  proc.nanoSequenceMC += getattr(proc,jetTableSequenceMCName)
526  else:
527  proc.nanoSequence += getattr(proc,jetSequenceName)
528  proc.nanoSequence += getattr(proc,jetTableSequenceName)
529 
530  #
531  # Schedule plugins to calculate Jet ID, PileUp Jet ID input variables, and Quark-Gluon Likehood input variables.
532  #
533  if doPF:
534  proc = AddJetID(proc, jetName=jetName, jetSrc=srcJets, jetTableName=jetTable, jetSequenceName=jetSequenceName)
535  if doPUIDVar:
536  proc = AddPileUpJetIDVars(proc, jetName=jetName, jetSrc=srcJets, jetTableName=jetTable, jetSequenceName=jetSequenceName)
537  if doQGL:
538  proc = AddQGLTaggerVars(proc,jetName=jetName, jetSrc=srcJets, jetTableName=jetTable, jetSequenceName=jetSequenceName, calculateQGLVars=True)
539 
540  #
541  # Save b-tagging algorithm scores. Should only be done for jet collection with b-tagging
542  # calculated when reclustered or collection saved with b-tagging info in MiniAOD
543  #
544  if doBTag:
545  AddBTaggingScores(proc,jetTableName=jetTable)
546  AddDeepJetGluonLQuarkScores(proc,jetTableName=jetTable)
547 
548  return proc
549 
def AddBTaggingScores(proc, jetTableName="")
def AddJetID(proc, jetName="", jetSrc="", jetTableName="", jetSequenceName="")
def AddQGLTaggerVars(proc, jetName="", jetSrc="", jetTableName="", jetSequenceName="", calculateQGLVars=False)
def Var(expr, valtype, compression=None, doc=None, mcOnly=False, precision=-1)
Definition: common_cff.py:20
def AddDeepJetGluonLQuarkScores(proc, jetTableName="")
def AddPileUpJetIDVars(proc, jetName="", jetSrc="", jetTableName="", jetSequenceName="")

Variable Documentation

custom_jme_cff.btagCMVA

Definition at line 173 of file custom_jme_cff.py.

custom_jme_cff.bTagCMVAV2

Definition at line 22 of file custom_jme_cff.py.

custom_jme_cff.bTagCSVV2

Definition at line 21 of file custom_jme_cff.py.

custom_jme_cff.btagCSVV2

Definition at line 175 of file custom_jme_cff.py.

custom_jme_cff.btagDeepB

Definition at line 174 of file custom_jme_cff.py.

custom_jme_cff.btagDeepC

Definition at line 176 of file custom_jme_cff.py.

custom_jme_cff.bTagDeepCSV

Definition at line 23 of file custom_jme_cff.py.

custom_jme_cff.btagDeepFlavB

Definition at line 179 of file custom_jme_cff.py.

custom_jme_cff.btagDeepFlavC

Definition at line 180 of file custom_jme_cff.py.

custom_jme_cff.btagDeepFlavG

Definition at line 181 of file custom_jme_cff.py.

custom_jme_cff.btagDeepFlavUDS

Definition at line 182 of file custom_jme_cff.py.

custom_jme_cff.bTagDeepJet

Definition at line 24 of file custom_jme_cff.py.

custom_jme_cff.bTagDiscriminatorsForAK4

Definition at line 28 of file custom_jme_cff.py.

custom_jme_cff.BTAGVARS

Definition at line 172 of file custom_jme_cff.py.

custom_jme_cff.CALOJETVARS

Definition at line 184 of file custom_jme_cff.py.

custom_jme_cff.chEmEF

Definition at line 136 of file custom_jme_cff.py.

custom_jme_cff.chHEF

Definition at line 134 of file custom_jme_cff.py.

custom_jme_cff.config_genjets

Definition at line 36 of file custom_jme_cff.py.

custom_jme_cff.config_recojets

Definition at line 59 of file custom_jme_cff.py.

custom_jme_cff.DEEPJETVARS

Definition at line 178 of file custom_jme_cff.py.

custom_jme_cff.doc

Definition at line 139 of file custom_jme_cff.py.

custom_jme_cff.float

Definition at line 139 of file custom_jme_cff.py.

custom_jme_cff.GENJETVARS

Definition at line 128 of file custom_jme_cff.py.

custom_jme_cff.hfEmEF

Definition at line 140 of file custom_jme_cff.py.

custom_jme_cff.hfHEF

Definition at line 139 of file custom_jme_cff.py.

custom_jme_cff.int

Definition at line 144 of file custom_jme_cff.py.

custom_jme_cff.muEF

Definition at line 138 of file custom_jme_cff.py.

custom_jme_cff.nanoInfo_genjets

Definition at line 46 of file custom_jme_cff.py.

custom_jme_cff.nanoInfo_recojets

Definition at line 96 of file custom_jme_cff.py.

custom_jme_cff.nConstChHads

Definition at line 144 of file custom_jme_cff.py.

custom_jme_cff.nConstElecs

Definition at line 149 of file custom_jme_cff.py.

custom_jme_cff.nConstHFEMs

Definition at line 147 of file custom_jme_cff.py.

custom_jme_cff.nConstHFHads

Definition at line 146 of file custom_jme_cff.py.

custom_jme_cff.nConstMuons

Definition at line 148 of file custom_jme_cff.py.

custom_jme_cff.nConstNeuHads

Definition at line 145 of file custom_jme_cff.py.

custom_jme_cff.nConstPhotons

Definition at line 150 of file custom_jme_cff.py.

custom_jme_cff.neEmEF

Definition at line 137 of file custom_jme_cff.py.

custom_jme_cff.neHEF

Definition at line 135 of file custom_jme_cff.py.

custom_jme_cff.PFJETVARS

Definition at line 131 of file custom_jme_cff.py.

custom_jme_cff.precision

Definition at line 139 of file custom_jme_cff.py.

custom_jme_cff.puId_beta

Definition at line 161 of file custom_jme_cff.py.

custom_jme_cff.puId_dR2Mean

Definition at line 153 of file custom_jme_cff.py.

custom_jme_cff.puId_frac01

Definition at line 156 of file custom_jme_cff.py.

custom_jme_cff.puId_frac02

Definition at line 157 of file custom_jme_cff.py.

custom_jme_cff.puId_frac03

Definition at line 158 of file custom_jme_cff.py.

custom_jme_cff.puId_frac04

Definition at line 159 of file custom_jme_cff.py.

custom_jme_cff.puId_jetR

Definition at line 163 of file custom_jme_cff.py.

custom_jme_cff.puId_jetRchg

Definition at line 164 of file custom_jme_cff.py.

custom_jme_cff.puId_majW

Definition at line 154 of file custom_jme_cff.py.

custom_jme_cff.puId_minW

Definition at line 155 of file custom_jme_cff.py.

custom_jme_cff.puId_nCharged

Definition at line 165 of file custom_jme_cff.py.

custom_jme_cff.puId_ptD

Definition at line 160 of file custom_jme_cff.py.

custom_jme_cff.puId_pull

Definition at line 162 of file custom_jme_cff.py.

custom_jme_cff.PUIDVARS

Definition at line 152 of file custom_jme_cff.py.

custom_jme_cff.qgl_axis2

Definition at line 168 of file custom_jme_cff.py.

custom_jme_cff.qgl_mult

Definition at line 170 of file custom_jme_cff.py.

custom_jme_cff.qgl_ptD

Definition at line 169 of file custom_jme_cff.py.

custom_jme_cff.QGLVARS

Definition at line 167 of file custom_jme_cff.py.

custom_jme_cff.rawFactor

Definition at line 132 of file custom_jme_cff.py.