CMS 3D CMS Logo

Functions | Variables
custom_btv_cff Namespace Reference

Functions

def add_BTV (process, addAK4=False, addAK8=False, scheme="btvSF")
 
def addPFCands (process, allPF=False, addAK4=False, addAK8=False)
 
def BTVCustomNanoAOD (process)
 
def get_DDX_vars ()
 
def get_DeepCSV_vars ()
 
def get_DeepJet_outputs ()
 Store all output nodes, negative tagger for SF. More...
 
def get_ParticleNetAK4_outputs ()
 
def get_ParticleTransformerAK4_outputs ()
 
def get_UnifiedParticleTransformerAK4_outputs ()
 
def update_jets_AK4 (process)
 Move PFNano (https://github.com/cms-jet/PFNano/) to NanoAOD. More...
 
def update_jets_AK8 (process)
 
def update_jets_AK8_subjet (process)
 

Variables

 btvNano_addAK4_switch
 
 btvNano_addAK8_switch
 
 btvNano_addallPF_switch
 
 btvNano_switch
 Switches for BTV nano Default(store SFs PFCands+TaggerInputs) for both AK4 & AK8 jets btvNano_addAK4_switch, btvNano_addAK8_switch True, btvNano_addPF_switch False, TaggerInput = "btvSF". More...
 
 TaggerInput
 

Function Documentation

◆ add_BTV()

def custom_btv_cff.add_BTV (   process,
  addAK4 = False,
  addAK8 = False,
  scheme = "btvSF" 
)

Definition at line 474 of file custom_btv_cff.py.

References get_DDX_vars(), get_DeepCSV_vars(), get_DeepJet_outputs(), get_ParticleNetAK4_outputs(), get_ParticleTransformerAK4_outputs(), get_UnifiedParticleTransformerAK4_outputs(), update_jets_AK4(), update_jets_AK8(), update_jets_AK8_subjet(), and common_cff.Var().

Referenced by BTVCustomNanoAOD().

474 def add_BTV(process, addAK4=False, addAK8=False, scheme="btvSF"):
475  process.customizeJetTask = cms.Task()
476  process.schedule.associate(process.customizeJetTask)
477 
478  CommonVars = cms.PSet(
479  Proba=Var("bDiscriminator('pfJetProbabilityBJetTags')",
480  float,
481  doc="Jet Probability (Usage:BTV)",
482  precision=10),
483  ProbaN=Var("bDiscriminator('pfNegativeOnlyJetProbabilityBJetTags')",
484  float,
485  doc="Negative-only Jet Probability (Usage:BTV)",
486  precision=10),
487  Bprob=Var("bDiscriminator('pfJetBProbabilityBJetTags')",
488  float,
489  doc="Jet B Probability (Usage:BTV)",
490  precision=10),
491  BprobN=Var("bDiscriminator('pfNegativeOnlyJetBProbabilityBJetTags')",
492  float,
493  doc="Negative-only Jet B Probability (Usage:BTV)",
494  precision=10),
495  )
496 
497  # decouple these from CommonVars, not relevant for data
498  HadronCountingVars = cms.PSet(
499  nBHadrons=Var("jetFlavourInfo().getbHadrons().size()",
500  int,
501  doc="number of b-hadrons"),
502  nCHadrons=Var("jetFlavourInfo().getcHadrons().size()",
503  int,
504  doc="number of c-hadrons")
505  )
506 
507  # AK4
508  if addAK4:
509  if scheme == "btvSF":
510  _n_cpf = 3
511  _n_npf = 3
512  _n_sv = 4
513  elif scheme == "DeepJet":
514  _n_cpf = 25
515  _n_npf = 25
516  _n_sv = 4
517  elif scheme == "RobustParTAK4":
518  _n_cpf = 25
519  _n_npf = 25
520  _n_sv = 12
521  process = update_jets_AK4(process)
522 
523  process.customJetExtTable = cms.EDProducer(
524  "SimplePATJetFlatTableProducer",
525  src=jetPuppiTable.src,
526  cut=jetPuppiTable.cut,
527  name=jetPuppiTable.name,
528  doc=jetPuppiTable.doc,
529  singleton=cms.bool(False), # the number of entries is variable
530  extension=cms.bool(True), # this is the extension table for Jets
531  variables=cms.PSet(
532  CommonVars,
534  get_DeepJet_outputs(), # outputs are added in any case, inputs only if requested
537  get_ParticleTransformerAK4_outputs(),# removed in 2024
538  ))
539 
540  # from Run3 onwards, always set storeAK4Truth to True for MC
541  process.customAK4ConstituentsForDeepJetTable = cms.EDProducer("PatJetDeepJetTableProducer",
542  jets = cms.InputTag("linkedObjects","jets"),
543  n_cpf=cms.uint32(_n_cpf),
544  n_npf=cms.uint32(_n_npf),
545  n_sv=cms.uint32(_n_sv)
546  )
547  process.customizeJetTask.add(process.customJetExtTable)
548  process.customizeJetTask.add(process.customAK4ConstituentsForDeepJetTable)
549  # AK8
550  if addAK8:
551  process = update_jets_AK8(process)
552  process = update_jets_AK8_subjet(process)
553  process.customFatJetExtTable = cms.EDProducer(
554  "SimplePATJetFlatTableProducer",
555  src=fatJetTable.src,
556  cut=fatJetTable.cut,
557  name=fatJetTable.name,
558  doc=fatJetTable.doc,
559  singleton=cms.bool(False), # the number of entries is variable
560  extension=cms.bool(True), # this is the extension table for FatJets
561  variables=cms.PSet(
562  CommonVars,
563  #HadronCountingVars if runOnMC else cms.PSet(), # only necessary before 106x
564  get_DDX_vars() ,
565  ))
566 
567 
568  # Subjets
569  process.customSubJetExtTable = cms.EDProducer(
570  "SimplePATJetFlatTableProducer",
571  src=subJetTable.src,
572  cut=subJetTable.cut,
573  name=subJetTable.name,
574  doc=subJetTable.doc,
575  singleton=cms.bool(False), # the number of entries is variable
576  extension=cms.bool(True), # this is the extension table for FatJets
577  variables=cms.PSet(
578  CommonVars,
579  #HadronCountingVars if runOnMC else cms.PSet(), # only necessary before 106x
580  ))
581 
582  process.customizeJetTask.add(process.customFatJetExtTable)
583  process.customizeJetTask.add(process.customSubJetExtTable)
584 
585 
586 
587 # From https://github.com/cms-jet/PFNano/blob/13_0_7_from124MiniAOD/python/addPFCands_cff.py
def Var(expr, valtype, doc=None, precision=-1, lazyEval=False)
Definition: common_cff.py:17
def get_ParticleTransformerAK4_outputs()
def update_jets_AK4(process)
Move PFNano (https://github.com/cms-jet/PFNano/) to NanoAOD.
def add_BTV(process, addAK4=False, addAK8=False, scheme="btvSF")
def update_jets_AK8_subjet(process)
def get_UnifiedParticleTransformerAK4_outputs()
def update_jets_AK8(process)
def get_ParticleNetAK4_outputs()
def get_DeepJet_outputs()
Store all output nodes, negative tagger for SF.

◆ addPFCands()

def custom_btv_cff.addPFCands (   process,
  allPF = False,
  addAK4 = False,
  addAK8 = False 
)

Definition at line 588 of file custom_btv_cff.py.

References common_cff.Var().

Referenced by BTVCustomNanoAOD().

588 def addPFCands(process, allPF = False, addAK4=False, addAK8=False):
589  process.customizedPFCandsTask = cms.Task()
590  process.schedule.associate(process.customizedPFCandsTask)
591 
592  process.finalJetsAK8Constituents = cms.EDProducer("PatJetConstituentPtrSelector",
593  src = cms.InputTag("finalJetsAK8"),
594  cut = cms.string("")
595  )
596  process.finalJetsAK4Constituents = cms.EDProducer("PatJetConstituentPtrSelector",
597  src = cms.InputTag("finalJetsPuppi"),
598  cut = cms.string("")
599  )
600  if allPF:
601  candInput = cms.InputTag("packedPFCandidates")
602  elif not addAK8:
603  candList = cms.VInputTag(cms.InputTag("finalJetsAK4Constituents", "constituents"))
604  process.customizedPFCandsTask.add(process.finalJetsAK4Constituents)
605  process.finalJetsConstituentsTable = cms.EDProducer("PackedCandidatePtrMerger", src = candList, skipNulls = cms.bool(True), warnOnSkip = cms.bool(True))
606  candInput = cms.InputTag("finalJetsConstituentsTable")
607  elif not addAK4:
608  candList = cms.VInputTag(cms.InputTag("finalJetsAK8Constituents", "constituents"))
609  process.customizedPFCandsTask.add(process.finalJetsAK8Constituents)
610  process.finalJetsConstituentsTable = cms.EDProducer("PackedCandidatePtrMerger", src = candList, skipNulls = cms.bool(True), warnOnSkip = cms.bool(True))
611  candInput = cms.InputTag("finalJetsConstituentsTable")
612  else:
613  candList = cms.VInputTag(cms.InputTag("finalJetsAK4Constituents", "constituents"), cms.InputTag("finalJetsAK8Constituents", "constituents"))
614  process.customizedPFCandsTask.add(process.finalJetsAK4Constituents)
615  process.customizedPFCandsTask.add(process.finalJetsAK8Constituents)
616  process.finalJetsConstituentsTable = cms.EDProducer("PackedCandidatePtrMerger", src = candList, skipNulls = cms.bool(True), warnOnSkip = cms.bool(True))
617  candInput = cms.InputTag("finalJetsConstituentsTable")
618 
619  process.customConstituentsExtTable = cms.EDProducer("SimplePATCandidateFlatTableProducer",
620  src = candInput,
621  cut = cms.string(""), #we should not filter after pruning
622  name = cms.string("PFCands"),
623  doc = cms.string("interesting particles from AK4 and AK8 jets"),
624  singleton = cms.bool(False), # the number of entries is variable
625  extension = cms.bool(False), # this is the extension table for the AK8 constituents
626  variables = cms.PSet(CandVars,
627  puppiWeight = Var("puppiWeight()", float, doc="Puppi weight",precision=10),
628  puppiWeightNoLep = Var("puppiWeightNoLep()", float, doc="Puppi weight removing leptons",precision=10),
629  vtxChi2 = Var("?hasTrackDetails()?vertexChi2():-1", float, doc="vertex chi2",precision=10),
630  trkChi2 = Var("?hasTrackDetails()?pseudoTrack().normalizedChi2():-1", float, doc="normalized trk chi2", precision=10),
631  dz = Var("?hasTrackDetails()?dz():-1", float, doc="pf dz", precision=10),
632  dzErr = Var("?hasTrackDetails()?dzError():-1", float, doc="pf dz err", precision=10),
633  d0 = Var("?hasTrackDetails()?dxy():-1", float, doc="pf d0", precision=10),
634  d0Err = Var("?hasTrackDetails()?dxyError():-1", float, doc="pf d0 err", precision=10),
635  pvAssocQuality = Var("pvAssociationQuality()", int, doc="primary vertex association quality. 0: NotReconstructedPrimary, 1: OtherDeltaZ, 4: CompatibilityBTag, 5: CompatibilityDz, 6: UsedInFitLoose, 7: UsedInFitTight"),
636  lostInnerHits = Var("lostInnerHits()", int, doc="lost inner hits. -1: validHitInFirstPixelBarrelLayer, 0: noLostInnerHits, 1: oneLostInnerHit, 2: moreLostInnerHits"),
637  lostOuterHits = Var("?hasTrackDetails()?pseudoTrack().hitPattern().numberOfLostHits('MISSING_OUTER_HITS'):0", int, doc="lost outer hits"),
638  numberOfHits = Var("numberOfHits()", int, doc="number of hits"),
639  numberOfPixelHits = Var("numberOfPixelHits()", int, doc="number of pixel hits"),
640  trkQuality = Var("?hasTrackDetails()?pseudoTrack().qualityMask():0", int, doc="track quality mask"),
641  trkHighPurity = Var("?hasTrackDetails()?pseudoTrack().quality('highPurity'):0", bool, doc="track is high purity"),
642  trkAlgo = Var("?hasTrackDetails()?pseudoTrack().algo():-1", int, doc="track algorithm"),
643  trkP = Var("?hasTrackDetails()?pseudoTrack().p():-1", float, doc="track momemtum", precision=-1),
644  trkPt = Var("?hasTrackDetails()?pseudoTrack().pt():-1", float, doc="track pt", precision=-1),
645  trkEta = Var("?hasTrackDetails()?pseudoTrack().eta():-1", float, doc="track pt", precision=12),
646  trkPhi = Var("?hasTrackDetails()?pseudoTrack().phi():-1", float, doc="track phi", precision=12),
647  )
648  )
649  process.customAK8ConstituentsTable = cms.EDProducer("PatJetConstituentTableProducer",
650  candidates = candInput,
651  jets = cms.InputTag("finalJetsAK8"),
652  jet_radius = cms.double(0.8),
653  name = cms.string("FatJetPFCands"),
654  idx_name = cms.string("pFCandsIdx"),
655  nameSV = cms.string("FatJetSVs"),
656  idx_nameSV = cms.string("sVIdx"),
657  )
658  process.customAK4ConstituentsTable = cms.EDProducer("PatJetConstituentTableProducer",
659  candidates = candInput,
660  jets = cms.InputTag("finalJetsPuppi"), # was finalJets before
661  jet_radius = cms.double(0.4),
662  name = cms.string("JetPFCands"),
663  idx_name = cms.string("pFCandsIdx"),
664  nameSV = cms.string("JetSVs"),
665  idx_nameSV = cms.string("sVIdx"),
666  )
667  process.customizedPFCandsTask.add(process.customConstituentsExtTable)
668 
669  if not allPF:
670  process.customizedPFCandsTask.add(process.finalJetsConstituentsTable)
671  # linkedObjects are WIP for Run3
672  if addAK8:
673  process.customizedPFCandsTask.add(process.customAK8ConstituentsTable)
674  if addAK4:
675  process.customizedPFCandsTask.add(process.customAK4ConstituentsTable)
676 
677 
678  return process
679 
def Var(expr, valtype, doc=None, precision=-1, lazyEval=False)
Definition: common_cff.py:17
def addPFCands(process, allPF=False, addAK4=False, addAK8=False)

◆ BTVCustomNanoAOD()

def custom_btv_cff.BTVCustomNanoAOD (   process)

Definition at line 691 of file custom_btv_cff.py.

References add_BTV(), and addPFCands().

691 def BTVCustomNanoAOD(process):
692 
693  addPFCands(process,btvNano_switch.btvNano_addallPF_switch,btvNano_switch.btvNano_addAK4_switch,btvNano_switch.btvNano_addAK8_switch)
694  add_BTV(process, btvNano_switch.btvNano_addAK4_switch,btvNano_switch.btvNano_addAK8_switch,btvNano_switch.TaggerInput)
695  process.load("PhysicsTools.NanoAOD.btvMC_cff")
696 
697  if btvNano_switch.btvNano_addallPF_switch:
698  process.nanoSequenceMC+=allPFPFCandsMCSequence
699  else:
700  if btvNano_switch.btvNano_addAK4_switch and btvNano_switch.btvNano_addAK8_switch :
701  process.nanoSequenceMC+=ak4ak8PFCandsMCSequence
702  elif btvNano_switch.btvNano_addAK4_switch and not btvNano_switch.btvNano_addAK8_switch :
703  process.nanoSequenceMC+=ak4onlyPFCandsMCSequence
704  elif not btvNano_switch.btvNano_addAK4_switch and btvNano_switch.btvNano_addAK8_switch:
705  process.nanoSequenceMC+=ak8onlyPFCandsMCSequence
706 
707  return process
708 
def BTVCustomNanoAOD(process)
def add_BTV(process, addAK4=False, addAK8=False, scheme="btvSF")
def addPFCands(process, allPF=False, addAK4=False, addAK8=False)

◆ get_DDX_vars()

def custom_btv_cff.get_DDX_vars ( )

Definition at line 134 of file custom_btv_cff.py.

References common_cff.Var().

Referenced by add_BTV().

134 def get_DDX_vars():
135  # retreive 27 jet-level features used in double-b and deep double-x taggers
136  # defined in arXiv:1712.07158
137  DDXVars = cms.PSet(
138  DDX_jetNTracks = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.jetNTracks", int, doc="number of tracks associated with the jet"),
139  DDX_jetNSecondaryVertices = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.jetNSecondaryVertices", int, doc="number of SVs associated with the jet"),
140  DDX_tau1_trackEtaRel_0 = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.tau1_trackEtaRel_0", float, doc="1st smallest track pseudorapidity, relative to the jet axis, associated to the 1st N-subjettiness axis", precision=10),
141  DDX_tau1_trackEtaRel_1 = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.tau1_trackEtaRel_1", float, doc="2nd smallest track pseudorapidity, relative to the jet axis, associated to the 1st N-subjettiness axis", precision=10),
142  DDX_tau1_trackEtaRel_2 = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.tau1_trackEtaRel_2", float, doc="3rd smallest track pseudorapidity, relative to the jet axis, associated to the 1st N-subjettiness axis", precision=10),
143  DDX_tau2_trackEtaRel_0 = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.tau2_trackEtaRel_0", float, doc="1st smallest track pseudorapidity, relative to the jet axis, associated to the 2nd N-subjettiness axis", precision=10),
144  DDX_tau2_trackEtaRel_1 = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.tau2_trackEtaRel_1", float, doc="2nd smallest track pseudorapidity, relative to the jet axis, associated to the 2nd N-subjettiness axis", precision=10),
145  DDX_tau2_trackEtaRel_3 = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.tau2_trackEtaRel_2", float, doc="3rd smallest track pseudorapidity, relative to the jet axis, associated to the 2nd N-subjettiness axis", precision=10),
146  DDX_tau1_flightDistance2dSig = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.tau1_flightDistance2dSig", float, doc="transverse distance significance between primary and secondary vertex associated to the 1st N-subjettiness axis", precision=10),
147  DDX_tau2_flightDistance2dSig = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.tau2_flightDistance2dSig", float, doc="transverse distance significance between primary and secondary vertex associated to the 2nd N-subjettiness axis", precision=10),
148  DDX_tau1_vertexDeltaR = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.tau1_vertexDeltaR", float, doc="deltaR between the 1st N-subjettiness axis and secondary vertex direction", precision=10),
149  DDX_tau1_vertexEnergyRatio = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.tau1_vertexEnergyRatio", float, doc="ratio of energy at secondary vertex over total energy associated to the 1st N-subjettiness axis", precision=10),
150  DDX_tau2_vertexEnergyRatio = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.tau2_vertexEnergyRatio", float, doc="ratio of energy at secondary vertex over total energy associated to the 2nd N-subjettiness axis", precision=10),
151  DDX_tau1_vertexMass = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.tau1_vertexMass", float, doc="mass of track sum at secondary vertex associated to the 1st N-subjettiness axis", precision=10),
152  DDX_tau2_vertexMass = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.tau2_vertexMass", float, doc="mass of track sum at secondary vertex associated to the 2nd N-subjettiness axis", precision=10),
153  DDX_trackSip2dSigAboveBottom_0 = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.trackSip2dSigAboveBottom_0", float, doc="track 2D signed impact parameter significance of 1st track lifting mass above bottom", precision=10),
154  DDX_trackSip2dSigAboveBottom_1 = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.trackSip2dSigAboveBottom_1", float, doc="track 2D signed impact parameter significance of 2nd track lifting mass above bottom", precision=10),
155  DDX_trackSip2dSigAboveCharm = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.trackSip2dSigAboveCharm", float, doc="track 2D signed impact parameter significance of 1st track lifting mass above charm", precision=10),
156  DDX_trackSip3dSig_0 = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.trackSip3dSig_0", float, doc="1st largest track 3D signed impact parameter significance", precision=10),
157  DDX_tau1_trackSip3dSig_0 = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.tau1_trackSip3dSig_0", float, doc="1st largest track 3D signed impact parameter significance associated to the 1st N-subjettiness axis", precision=10),
158  DDX_tau1_trackSip3dSig_1 = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.tau1_trackSip3dSig_1", float, doc="2nd largest track 3D signed impact parameter significance associated to the 1st N-subjettiness axis", precision=10),
159  DDX_trackSip3dSig_1 = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.trackSip3dSig_1", float, doc="2nd largest track 3D signed impact parameter significance", precision=10),
160  DDX_tau2_trackSip3dSig_0 = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.tau2_trackSip3dSig_0", float, doc="1st largest track 3D signed impact parameter significance associated to the 2nd N-subjettiness axis", precision=10),
161  DDX_tau2_trackSip3dSig_1 = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.tau2_trackSip3dSig_1", float, doc="2nd largest track 3D signed impact parameter significance associated to the 2nd N-subjettiness axis", precision=10),
162  DDX_trackSip3dSig_2 = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.trackSip3dSig_2", float, doc="3rd largest track 3D signed impact parameter significance", precision=10),
163  DDX_trackSip3dSig_3 = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.trackSip3dSig_3", float, doc="4th largest track 3D signed impact parameter significance", precision=10),
164  DDX_z_ratio = Var("tagInfo(\'pfDeepDoubleX\').features().tag_info_features.z_ratio", float, doc="z = deltaR(SV0,SV1)*pT(SV1)/m(SV0,SV1), defined in Eq. 7 of arXiv:1712.07158", precision=10)
165  )
166  return DDXVars
167 
def Var(expr, valtype, doc=None, precision=-1, lazyEval=False)
Definition: common_cff.py:17

◆ get_DeepCSV_vars()

def custom_btv_cff.get_DeepCSV_vars ( )

Definition at line 168 of file custom_btv_cff.py.

References common_cff.Var().

Referenced by add_BTV().

168 def get_DeepCSV_vars():
169  DeepCSVVars = cms.PSet(
170  # Tagger inputs also include jet pt and eta
171  # Track based (keep only jet-based features for DeepCSV from Run 3 commissioning)
172  # DeepCSV_trackPtRel_0 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackPtRel\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackPtRel\')[0]:-999", float, doc="track transverse momentum, relative to the jet axis", precision=10),
173  # DeepCSV_trackPtRel_1 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackPtRel\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackPtRel\')[1]:-999", float, doc="track transverse momentum, relative to the jet axis", precision=10),
174  # DeepCSV_trackPtRel_2 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackPtRel\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackPtRel\')[2]:-999", float, doc="track transverse momentum, relative to the jet axis", precision=10),
175  # DeepCSV_trackPtRel_3 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackPtRel\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackPtRel\')[3]:-999", float, doc="track transverse momentum, relative to the jet axis", precision=10),
176  # DeepCSV_trackPtRel_4 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackPtRel\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackPtRel\')[4]:-999", float, doc="track transverse momentum, relative to the jet axis", precision=10),
177  # DeepCSV_trackPtRel_5 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackPtRel\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackPtRel\')[5]:-999", float, doc="track transverse momentum, relative to the jet axis", precision=10),
178  # DeepCSV_trackJetDistVal_0 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackJetDistVal\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackJetDistVal\')[0]:-999", float, doc="minimum track approach distance to jet axis", precision=10),
179  # DeepCSV_trackJetDistVal_1 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackJetDistVal\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackJetDistVal\')[1]:-999", float, doc="minimum track approach distance to jet axis", precision=10),
180  # DeepCSV_trackJetDistVal_2 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackJetDistVal\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackJetDistVal\')[2]:-999", float, doc="minimum track approach distance to jet axis", precision=10),
181  # DeepCSV_trackJetDistVal_3 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackJetDistVal\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackJetDistVal\')[3]:-999", float, doc="minimum track approach distance to jet axis", precision=10),
182  # DeepCSV_trackJetDistVal_4 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackJetDistVal\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackJetDistVal\')[4]:-999", float, doc="minimum track approach distance to jet axis", precision=10),
183  # DeepCSV_trackJetDistVal_5 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackJetDistVal\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackJetDistVal\')[5]:-999", float, doc="minimum track approach distance to jet axis", precision=10),
184  # DeepCSV_trackDeltaR_0 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackDeltaR\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackDeltaR\')[0]:-999", float, doc="track pseudoangular distance from the jet axis", precision=10),
185  # DeepCSV_trackDeltaR_1 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackDeltaR\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackDeltaR\')[1]:-999", float, doc="track pseudoangular distance from the jet axis", precision=10),
186  # DeepCSV_trackDeltaR_2 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackDeltaR\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackDeltaR\')[2]:-999", float, doc="track pseudoangular distance from the jet axis", precision=10),
187  # DeepCSV_trackDeltaR_3 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackDeltaR\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackDeltaR\')[3]:-999", float, doc="track pseudoangular distance from the jet axis", precision=10),
188  # DeepCSV_trackDeltaR_4 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackDeltaR\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackDeltaR\')[4]:-999", float, doc="track pseudoangular distance from the jet axis", precision=10),
189  # DeepCSV_trackDeltaR_5 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackDeltaR\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackDeltaR\')[5]:-999", float, doc="track pseudoangular distance from the jet axis", precision=10),
190  # DeepCSV_trackPtRatio_0 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackPtRatio\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackPtRatio\')[0]:-999", float, doc="track transverse momentum, relative to the jet axis, normalized to its energy", precision=10),
191  # DeepCSV_trackPtRatio_1 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackPtRatio\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackPtRatio\')[1]:-999", float, doc="track transverse momentum, relative to the jet axis, normalized to its energy", precision=10),
192  # DeepCSV_trackPtRatio_2 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackPtRatio\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackPtRatio\')[2]:-999", float, doc="track transverse momentum, relative to the jet axis, normalized to its energy", precision=10),
193  # DeepCSV_trackPtRatio_3 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackPtRatio\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackPtRatio\')[3]:-999", float, doc="track transverse momentum, relative to the jet axis, normalized to its energy", precision=10),
194  # DeepCSV_trackPtRatio_4 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackPtRatio\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackPtRatio\')[4]:-999", float, doc="track transverse momentum, relative to the jet axis, normalized to its energy", precision=10),
195  # DeepCSV_trackPtRatio_5 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackPtRatio\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackPtRatio\')[5]:-999", float, doc="track transverse momentum, relative to the jet axis, normalized to its energy", precision=10),
196  # DeepCSV_trackSip3dSig_0 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackSip3dSig\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackSip3dSig\')[0]:-999", float, doc="track 3D signed impact parameter significance", precision=10),
197  # DeepCSV_trackSip3dSig_1 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackSip3dSig\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackSip3dSig\')[1]:-999", float, doc="track 3D signed impact parameter significance", precision=10),
198  # DeepCSV_trackSip3dSig_2 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackSip3dSig\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackSip3dSig\')[2]:-999", float, doc="track 3D signed impact parameter significance", precision=10),
199  # DeepCSV_trackSip3dSig_3 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackSip3dSig\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackSip3dSig\')[3]:-999", float, doc="track 3D signed impact parameter significance", precision=10),
200  # DeepCSV_trackSip3dSig_4 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackSip3dSig\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackSip3dSig\')[4]:-999", float, doc="track 3D signed impact parameter significance", precision=10),
201  # DeepCSV_trackSip3dSig_5 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackSip3dSig\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackSip3dSig\')[5]:-999", float, doc="track 3D signed impact parameter significance", precision=10),
202  # DeepCSV_trackSip2dSig_0 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackSip2dSig\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackSip2dSig\')[0]:-999", float, doc="track 2D signed impact parameter significance", precision=10),
203  # DeepCSV_trackSip2dSig_1 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackSip2dSig\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackSip2dSig\')[1]:-999", float, doc="track 2D signed impact parameter significance", precision=10),
204  # DeepCSV_trackSip2dSig_2 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackSip2dSig\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackSip2dSig\')[2]:-999", float, doc="track 2D signed impact parameter significance", precision=10),
205  # DeepCSV_trackSip2dSig_3 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackSip2dSig\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackSip2dSig\')[3]:-999", float, doc="track 2D signed impact parameter significance", precision=10),
206  # DeepCSV_trackSip2dSig_4 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackSip2dSig\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackSip2dSig\')[4]:-999", float, doc="track 2D signed impact parameter significance", precision=10),
207  # DeepCSV_trackSip2dSig_5 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackSip2dSig\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackSip2dSig\')[5]:-999", float, doc="track 2D signed impact parameter significance", precision=10),
208  # DeepCSV_trackDecayLenVal_0 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackDecayLenVal\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackDecayLenVal\')[0]:-999", float, doc="track decay length", precision=10),
209  # DeepCSV_trackDecayLenVal_1 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackDecayLenVal\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackDecayLenVal\')[1]:-999", float, doc="track decay length", precision=10),
210  # DeepCSV_trackDecayLenVal_2 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackDecayLenVal\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackDecayLenVal\')[2]:-999", float, doc="track decay length", precision=10),
211  # DeepCSV_trackDecayLenVal_3 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackDecayLenVal\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackDecayLenVal\')[3]:-999", float, doc="track decay length", precision=10),
212  # DeepCSV_trackDecayLenVal_4 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackDecayLenVal\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackDecayLenVal\')[4]:-999", float, doc="track decay length", precision=10),
213  # DeepCSV_trackDecayLenVal_5 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackDecayLenVal\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackDecayLenVal\')[5]:-999", float, doc="track decay length", precision=10),
214  # DeepCSV_trackEtaRel_0 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackEtaRel\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackEtaRel\')[0]:-999", float, doc="track pseudorapidity, relative to the jet axis", precision=10),
215  # DeepCSV_trackEtaRel_1 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackEtaRel\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackEtaRel\')[1]:-999", float, doc="track pseudorapidity, relative to the jet axis", precision=10),
216  # DeepCSV_trackEtaRel_2 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackEtaRel\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackEtaRel\')[2]:-999", float, doc="track pseudorapidity, relative to the jet axis", precision=10),
217  # DeepCSV_trackEtaRel_3 = Var("?tagInfo(\'pfDeepCSV\').taggingVariables.checkTag(\'trackEtaRel\')?tagInfo(\'pfDeepCSV\').taggingVariables.getList(\'trackEtaRel\')[3]:-999", float, doc="track pseudorapidity, relative to the jet axis", precision=10),
218  # Jet based
219  DeepCSV_trackJetPt = Var("tagInfo(\'pfDeepCSV\').taggingVariables.get(\'trackJetPt\', -999)", float, doc="track-based jet transverse momentum", precision=10),
220  DeepCSV_vertexCategory = Var("tagInfo(\'pfDeepCSV\').taggingVariables.get(\'vertexCategory\', -999)", float, doc="category of secondary vertex (Reco, Pseudo, No)", precision=10),
221  DeepCSV_jetNSecondaryVertices = Var("tagInfo(\'pfDeepCSV\').taggingVariables.get(\'jetNSecondaryVertices\', -999)", int, doc="number of reconstructed possible secondary vertices in jet"),
222  DeepCSV_jetNSelectedTracks = Var("tagInfo(\'pfDeepCSV\').taggingVariables.get(\'jetNSelectedTracks\', -999)", int, doc="selected tracks in the jet"),
223  DeepCSV_jetNTracksEtaRel = Var("tagInfo(\'pfDeepCSV\').taggingVariables.get(\'jetNTracksEtaRel\', -999)", int, doc="number of tracks for which etaRel is computed"),
224  DeepCSV_trackSumJetEtRatio = Var("tagInfo(\'pfDeepCSV\').taggingVariables.get(\'trackSumJetEtRatio\', -999)", float, doc="ratio of track sum transverse energy over jet energy", precision=10),
225  DeepCSV_trackSumJetDeltaR = Var("tagInfo(\'pfDeepCSV\').taggingVariables.get(\'trackSumJetDeltaR\', -999)", float, doc="pseudoangular distance between jet axis and track fourvector sum", precision=10),
226  DeepCSV_trackSip2dValAboveCharm = Var("tagInfo(\'pfDeepCSV\').taggingVariables.get(\'trackSip2dValAboveCharm\', -999)", float, doc="track 2D signed impact parameter of first track lifting mass above charm", precision=10),
227  DeepCSV_trackSip2dSigAboveCharm = Var("tagInfo(\'pfDeepCSV\').taggingVariables.get(\'trackSip2dSigAboveCharm\', -999)", float, doc="track 2D signed impact parameter significance of first track lifting mass above charm", precision=10),
228  DeepCSV_trackSip3dValAboveCharm = Var("tagInfo(\'pfDeepCSV\').taggingVariables.get(\'trackSip3dValAboveCharm\', -999)", float, doc="track 3D signed impact parameter of first track lifting mass above charm", precision=10),
229  DeepCSV_trackSip3dSigAboveCharm = Var("tagInfo(\'pfDeepCSV\').taggingVariables.get(\'trackSip3dSigAboveCharm\', -999)", float, doc="track 3D signed impact parameter significance of first track lifting mass above charm", precision=10),
230  DeepCSV_vertexMass = Var("tagInfo(\'pfDeepCSV\').taggingVariables.get(\'vertexMass\', -999)", float, doc="mass of track sum at secondary vertex", precision=10),
231  DeepCSV_vertexNTracks = Var("tagInfo(\'pfDeepCSV\').taggingVariables.get(\'vertexNTracks\', -999)", int, doc="number of tracks at secondary vertex"),
232  DeepCSV_vertexEnergyRatio = Var("tagInfo(\'pfDeepCSV\').taggingVariables.get(\'vertexEnergyRatio\', -999)", float, doc="ratio of energy at secondary vertex over total energy", precision=10),
233  DeepCSV_vertexJetDeltaR = Var("tagInfo(\'pfDeepCSV\').taggingVariables.get(\'vertexJetDeltaR\', -999)", float, doc="pseudoangular distance between jet axis and secondary vertex direction", precision=10),
234  DeepCSV_flightDistance2dVal = Var("tagInfo(\'pfDeepCSV\').taggingVariables.get(\'flightDistance2dVal\', -999)", float, doc="transverse distance between primary and secondary vertex", precision=10),
235  DeepCSV_flightDistance2dSig = Var("tagInfo(\'pfDeepCSV\').taggingVariables.get(\'flightDistance2dSig\', -999)", float, doc="transverse distance significance between primary and secondary vertex", precision=10),
236  DeepCSV_flightDistance3dVal = Var("tagInfo(\'pfDeepCSV\').taggingVariables.get(\'flightDistance3dVal\', -999)", float, doc="distance between primary and secondary vertex", precision=10),
237  DeepCSV_flightDistance3dSig = Var("tagInfo(\'pfDeepCSV\').taggingVariables.get(\'flightDistance3dSig\', -999)", float, doc="distance significance between primary and secondary vertex", precision=10),
238  )
239  return DeepCSVVars
240 
def Var(expr, valtype, doc=None, precision=-1, lazyEval=False)
Definition: common_cff.py:17

◆ get_DeepJet_outputs()

def custom_btv_cff.get_DeepJet_outputs ( )

Store all output nodes, negative tagger for SF.

Definition at line 242 of file custom_btv_cff.py.

References common_cff.Var().

Referenced by add_BTV().

242 def get_DeepJet_outputs():
243  DeepJetOutputVars = cms.PSet(
244  btagDeepFlavB_b=Var("bDiscriminator('pfDeepFlavourJetTags:probb')",
245  float,
246  doc="DeepJet b tag probability",
247  precision=10),
248  btagDeepFlavB_bb=Var("bDiscriminator('pfDeepFlavourJetTags:probbb')",
249  float,
250  doc="DeepJet bb tag probability",
251  precision=10),
252  btagDeepFlavB_lepb=Var("bDiscriminator('pfDeepFlavourJetTags:problepb')",
253  float,
254  doc="DeepJet lepb tag probability",
255  precision=10),
256  btagDeepFlavC=Var("bDiscriminator('pfDeepFlavourJetTags:probc')",
257  float,
258  doc="DeepJet c tag probability",
259  precision=10),
260  btagDeepFlavUDS=Var("bDiscriminator('pfDeepFlavourJetTags:probuds')",
261  float,
262  doc="DeepJet uds tag probability",
263  precision=10),
264  btagDeepFlavG=Var("bDiscriminator('pfDeepFlavourJetTags:probg')",
265  float,
266  doc="DeepJet gluon tag probability",
267  precision=10),
268  # discriminators are already part of jets_cff.py from NanoAOD and therefore not added here
269 
270  # negative taggers
271  btagNegDeepFlavB = Var("bDiscriminator('pfNegativeDeepFlavourJetTags:probb')+bDiscriminator('pfNegativeDeepFlavourJetTags:probbb')+bDiscriminator('pfNegativeDeepFlavourJetTags:problepb')",
272  float,
273  doc="Negative DeepJet b+bb+lepb tag discriminator",
274  precision=10),
275  btagNegDeepFlavCvL = Var("?(bDiscriminator('pfNegativeDeepFlavourJetTags:probc')+bDiscriminator('pfNegativeDeepFlavourJetTags:probuds')+bDiscriminator('pfNegativeDeepFlavourJetTags:probg'))>0?bDiscriminator('pfNegativeDeepFlavourJetTags:probc')/(bDiscriminator('pfNegativeDeepFlavourJetTags:probc')+bDiscriminator('pfNegativeDeepFlavourJetTags:probuds')+bDiscriminator('pfNegativeDeepFlavourJetTags:probg')):-1",
276  float,
277  doc="Negative DeepJet c vs uds+g discriminator",
278  precision=10),
279  btagNegDeepFlavCvB = Var("?(bDiscriminator('pfNegativeDeepFlavourJetTags:probc')+bDiscriminator('pfNegativeDeepFlavourJetTags:probb')+bDiscriminator('pfNegativeDeepFlavourJetTags:probbb')+bDiscriminator('pfNegativeDeepFlavourJetTags:problepb'))>0?bDiscriminator('pfNegativeDeepFlavourJetTags:probc')/(bDiscriminator('pfNegativeDeepFlavourJetTags:probc')+bDiscriminator('pfNegativeDeepFlavourJetTags:probb')+bDiscriminator('pfNegativeDeepFlavourJetTags:probbb')+bDiscriminator('pfNegativeDeepFlavourJetTags:problepb')):-1",
280  float,
281  doc="Negative DeepJet c vs b+bb+lepb discriminator",
282  precision=10),
283  btagNegDeepFlavQG = Var("?(bDiscriminator('pfNegativeDeepFlavourJetTags:probg')+bDiscriminator('pfNegativeDeepFlavourJetTags:probuds'))>0?bDiscriminator('pfNegativeDeepFlavourJetTags:probg')/(bDiscriminator('pfNegativeDeepFlavourJetTags:probg')+bDiscriminator('pfNegativeDeepFlavourJetTags:probuds')):-1",
284  float,
285  doc="Negative DeepJet g vs uds discriminator",
286  precision=10),
287  btagNegDeepFlavB_b = Var("bDiscriminator('pfNegativeDeepFlavourJetTags:probb')",
288  float,
289  doc="Negative DeepJet b tag probability",
290  precision=10),
291  btagNegDeepFlavB_bb = Var("bDiscriminator('pfNegativeDeepFlavourJetTags:probbb')",
292  float,
293  doc="Negative DeepJet bb tag probability",
294  precision=10),
295  btagNegDeepFlavB_lepb = Var("bDiscriminator('pfNegativeDeepFlavourJetTags:problepb')",
296  float,
297  doc="Negative DeepJet lepb tag probability",
298  precision=10),
299  btagNegDeepFlavG = Var("bDiscriminator('pfNegativeDeepFlavourJetTags:probg')",
300  float,
301  doc="Negative DeepJet gluon tag probability",
302  precision=10),
303  )
304  return DeepJetOutputVars
305 
def Var(expr, valtype, doc=None, precision=-1, lazyEval=False)
Definition: common_cff.py:17
def get_DeepJet_outputs()
Store all output nodes, negative tagger for SF.

◆ get_ParticleNetAK4_outputs()

def custom_btv_cff.get_ParticleNetAK4_outputs ( )

Definition at line 306 of file custom_btv_cff.py.

References common_cff.Var().

Referenced by add_BTV().

307 
308  ParticleNetAK4OutputVars = cms.PSet(
309  # raw scores
310  btagPNetProbB = Var("?bDiscriminator('pfParticleNetFromMiniAODAK4PuppiCentralJetTags:probb')>0?bDiscriminator('pfParticleNetFromMiniAODAK4PuppiCentralJetTags:probb'):-1",
311  float,
312  doc="ParticleNet b tag probability",
313  precision=10),
314  btagPNetProbC = Var("?bDiscriminator('pfParticleNetFromMiniAODAK4PuppiCentralJetTags:probc')>0?bDiscriminator('pfParticleNetFromMiniAODAK4PuppiCentralJetTags:probc'):-1",
315  float,
316  doc="ParticleNet c tag probability",
317  precision=10),
318  btagPNetProbUDS = Var("?bDiscriminator('pfParticleNetFromMiniAODAK4PuppiCentralJetTags:probuds')>0?bDiscriminator('pfParticleNetFromMiniAODAK4PuppiCentralJetTags:probuds'):-1",
319  float,
320  doc="ParticleNet uds tag probability",
321  precision=10),
322  btagPNetProbG = Var("?bDiscriminator('pfParticleNetFromMiniAODAK4PuppiCentralJetTags:probg')>0?bDiscriminator('pfParticleNetFromMiniAODAK4PuppiCentralJetTags:probg'):-1",
323  float,
324  doc="ParticleNet gluon tag probability",
325  precision=10),
326 
327  # negative taggers
328  btagNegPNetB = Var("?(bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probb')+bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probc')+bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probuds')+bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probg'))>0?(bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probb'))/(bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probb')+bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probc')+bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probuds')+bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probg')):-1",
329  float,
330  doc="Negative ParticleNet b vs. udscg",
331  precision=10),
332  btagNegPNetCvL = Var("?(bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probc')+bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probuds')+bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probg'))>0?(bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probc'))/(bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probc')+bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probuds')+bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probg')):-1",
333  float,
334  doc="Negative ParticleNet c vs. udsg",
335  precision=10),
336  btagNegPNetCvB = Var("?(bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probc')+bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probb'))>0?(bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probc'))/(bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probc')+bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probb')):-1",
337  float,
338  doc="Negative ParticleNet c vs. b",
339  precision=10),
340  btagNegPNetProbUDS = Var("?bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probuds')>0?bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probuds'):-1",
341  float,
342  doc="Negative ParticleNet uds tag probability",
343  precision=10),
344  btagNegPNetProbG = Var("?bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probg')>0?bDiscriminator('pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTags:probg'):-1",
345  float,
346  doc="Negative ParticleNet gluon tag probability",
347  precision=10),
348  )
349 
350  return ParticleNetAK4OutputVars
351 
def Var(expr, valtype, doc=None, precision=-1, lazyEval=False)
Definition: common_cff.py:17
def get_ParticleNetAK4_outputs()

◆ get_ParticleTransformerAK4_outputs()

def custom_btv_cff.get_ParticleTransformerAK4_outputs ( )

Definition at line 352 of file custom_btv_cff.py.

References common_cff.Var().

Referenced by add_BTV().

353  ParticleTransformerAK4OutputVars = cms.PSet(
354  btagRobustParTAK4B_b=Var("bDiscriminator('pfParticleTransformerAK4JetTags:probb')",
355  float,
356  doc="RobustParTAK4 b tag probability",
357  precision=10),
358  btagRobustParTAK4B_bb=Var("bDiscriminator('pfParticleTransformerAK4JetTags:probbb')",
359  float,
360  doc="RobustParTAK4 bb tag probability",
361  precision=10),
362  btagRobustParTAK4B_lepb=Var("bDiscriminator('pfParticleTransformerAK4JetTags:problepb')",
363  float,
364  doc="RobustParTAK4 lepb tag probability",
365  precision=10),
366  btagRobustParTAK4UDS=Var("bDiscriminator('pfParticleTransformerAK4JetTags:probuds')",
367  float,
368  doc="RobustParTAK4 uds tag probability",
369  precision=10),
370  btagRobustParTAK4G=Var("bDiscriminator('pfParticleTransformerAK4JetTags:probg')",
371  float,
372  doc="RobustParTAK4 gluon tag probability",
373  precision=10),
374 
375  # negative taggers
376  btagNegRobustParTAK4B = Var("bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probb')+bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probbb')+bDiscriminator('pfNegativeParticleTransformerAK4JetTags:problepb')",
377  float,
378  doc="Negative RobustParTAK4 b+bb+lepb tag discriminator",
379  precision=10),
380  btagNegRobustParTAK4CvL = Var("?(bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probc')+bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probuds')+bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probg'))>0?bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probc')/(bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probc')+bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probuds')+bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probg')):-1",
381  float,
382  doc="Negative RobustParTAK4 c vs uds+g discriminator",
383  precision=10),
384  btagNegRobustParTAK4CvB = Var("?(bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probc')+bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probb')+bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probbb')+bDiscriminator('pfNegativeParticleTransformerAK4JetTags:problepb'))>0?bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probc')/(bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probc')+bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probb')+bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probbb')+bDiscriminator('pfNegativeParticleTransformerAK4JetTags:problepb')):-1",
385  float,
386  doc="Negative RobustParTAK4 c vs b+bb+lepb discriminator",
387  precision=10),
388  btagNegRobustParTAK4QG = Var("?(bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probg')+bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probuds'))>0?bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probg')/(bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probg')+bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probuds')):-1",
389  float,
390  doc="Negative RobustParTAK4 g vs uds discriminator",
391  precision=10),
392  btagNegRobustParTAK4B_b = Var("bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probb')",
393  float,
394  doc="Negative RobustParTAK4 b tag probability",
395  precision=10),
396  btagNegRobustParTAK4B_bb = Var("bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probbb')",
397  float,
398  doc="Negative RobustParTAK4 bb tag probability",
399  precision=10),
400  btagNegRobustParTAK4B_lepb = Var("bDiscriminator('pfNegativeParticleTransformerAK4JetTags:problepb')",
401  float,
402  doc="Negative RobustParTAK4 lepb tag probability",
403  precision=10),
404  btagNegRobustParTAK4G = Var("bDiscriminator('pfNegativeParticleTransformerAK4JetTags:probg')",
405  float,
406  doc="Negative RobustParTAK4 gluon tag probability",
407  precision=10),
408  )
409 
410  return ParticleTransformerAK4OutputVars
411 
def Var(expr, valtype, doc=None, precision=-1, lazyEval=False)
Definition: common_cff.py:17
def get_ParticleTransformerAK4_outputs()

◆ get_UnifiedParticleTransformerAK4_outputs()

def custom_btv_cff.get_UnifiedParticleTransformerAK4_outputs ( )

Definition at line 412 of file custom_btv_cff.py.

References common_cff.Var().

Referenced by add_BTV().

413  UnifiedParticleTransformerAK4OutputVars = cms.PSet(
414  btagUParTAK4B_b=Var("bDiscriminator('pfUnifiedParticleTransformerAK4JetTags:probb')",
415  float,
416  doc="UnifiedParT b tag probability",
417  precision=10),
418  btagUParTAK4B_bb=Var("bDiscriminator('pfUnifiedParticleTransformerAK4JetTags:probbb')",
419  float,
420  doc="UnifiedParT bb tag probability",
421  precision=10),
422  btagUParTAK4B_lepb=Var("bDiscriminator('pfUnifiedParticleTransformerAK4JetTags:problepb')",
423  float,
424  doc="UnifiedParT lepb tag probability",
425  precision=10),
426  btagUParTAK4UDS=Var("bDiscriminator('pfUnifiedParticleTransformerAK4JetTags:probuds')",
427  float,
428  doc="UnifiedParT uds tag probability",
429  precision=10),
430  btagUParTAK4G=Var("bDiscriminator('pfUnifiedParticleTransformerAK4JetTags:probg')",
431  float,
432  doc="UnifiedParT gluon tag probability",
433  precision=10),
434 
435  # negative taggers
436  btagNegUParTAK4B = Var("bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probb')+bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probbb')+bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:problepb')",
437  float,
438  doc="Negative UnifiedParT b+bb+lepb tag discriminator",
439  precision=10),
440  btagNegUParTAK4CvL = Var("?(bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probc')+bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probuds')+bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probg'))>0?bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probc')/(bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probc')+bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probuds')+bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probg')):-1",
441  float,
442  doc="Negative UnifiedParT c vs uds+g discriminator",
443  precision=10),
444  btagNegUParTAK4CvB = Var("?(bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probc')+bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probb')+bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probbb')+bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:problepb'))>0?bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probc')/(bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probc')+bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probb')+bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probbb')+bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:problepb')):-1",
445  float,
446  doc="Negative UnifiedParT c vs b+bb+lepb discriminator",
447  precision=10),
448  btagNegUParTAK4QG = Var("?(bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probg')+bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probuds'))>0?bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probg')/(bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probg')+bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probuds')):-1",
449  float,
450  doc="Negative UnifiedParT g vs uds discriminator",
451  precision=10),
452  btagNegUParTAK4B_b = Var("bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probb')",
453  float,
454  doc="Negative UnifiedParT b tag probability",
455  precision=10),
456  btagNegUParTAK4B_bb = Var("bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probbb')",
457  float,
458  doc="Negative UnifiedParT bb tag probability",
459  precision=10),
460  btagNegUParTAK4B_lepb = Var("bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:problepb')",
461  float,
462  doc="Negative UnifiedParT lepb tag probability",
463  precision=10),
464  btagNegUParTAK4G = Var("bDiscriminator('pfNegativeUnifiedParticleTransformerAK4JetTags:probg')",
465  float,
466  doc="Negative UnifiedParT gluon tag probability",
467  precision=10),
468  )
469 
470  return UnifiedParticleTransformerAK4OutputVars
471 
472 
473 
def Var(expr, valtype, doc=None, precision=-1, lazyEval=False)
Definition: common_cff.py:17
def get_UnifiedParticleTransformerAK4_outputs()

◆ update_jets_AK4()

def custom_btv_cff.update_jets_AK4 (   process)

Move PFNano (https://github.com/cms-jet/PFNano/) to NanoAOD.

From: https://github.com/cms-jet/PFNano/blob/13_0_7_from124MiniAOD/python/addBTV.py

Definition at line 13 of file custom_btv_cff.py.

Referenced by add_BTV().

13 def update_jets_AK4(process):
14  # Based on ``nanoAOD_addDeepInfo``
15  # in https://github.com/cms-sw/cmssw/blob/master/PhysicsTools/NanoAOD/python/nano_cff.py
16  # DeepJet flav_names as found in
17  # https://github.com/cms-sw/cmssw/blob/master/RecoBTag/ONNXRuntime/plugins/DeepFlavourONNXJetTagsProducer.cc#L86
18  # and https://twiki.cern.ch/twiki/bin/view/CMS/DeepJet
19  from RecoBTag.ONNXRuntime.pfParticleTransformerAK4_cff import _pfParticleTransformerAK4JetTagsAll as pfParticleTransformerAK4JetTagsAll
20  from RecoBTag.ONNXRuntime.pfUnifiedParticleTransformerAK4_cff import _pfUnifiedParticleTransformerAK4JetTagsAll as pfUnifiedParticleTransformerAK4JetTagsAll
21  from RecoBTag.ONNXRuntime.pfParticleNetFromMiniAODAK4_cff import _pfParticleNetFromMiniAODAK4PuppiCentralJetTagsAll as pfParticleNetFromMiniAODAK4PuppiCentralJetTagsAll
22  from RecoBTag.ONNXRuntime.pfParticleTransformerAK4_cff import _pfNegativeParticleTransformerAK4JetTagsProbs as pfNegativeParticleTransformerAK4JetTagsProbs
23 
24  from RecoBTag.ONNXRuntime.pfUnifiedParticleTransformerAK4_cff import _pfUnifiedParticleTransformerAK4JetTagsProbs as pfUnifiedParticleTransformerAK4JetTagsProbs
25  from RecoBTag.ONNXRuntime.pfParticleNetFromMiniAODAK4_cff import _pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTagsProbs as pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTagsProbs
26  from RecoBTag.ONNXRuntime.pfParticleTransformerAK4_cff import _pfNegativeParticleTransformerAK4JetTagsProbs as pfNegativeParticleTransformerAK4JetTagsProbs
27  from RecoBTag.ONNXRuntime.pfUnifiedParticleTransformerAK4_cff import _pfNegativeUnifiedParticleTransformerAK4JetTagsProbs as pfNegativeUnifiedParticleTransformerAK4JetTagsProbs
28 
29  _btagDiscriminators = [
30  'pfJetProbabilityBJetTags',
31  'pfJetBProbabilityBJetTags',
32  'pfNegativeOnlyJetProbabilityBJetTags',
33  'pfNegativeOnlyJetBProbabilityBJetTags',
34  'pfDeepFlavourJetTags:probb',
35  'pfDeepFlavourJetTags:probbb',
36  'pfDeepFlavourJetTags:problepb',
37  'pfDeepFlavourJetTags:probc',
38  'pfDeepFlavourJetTags:probuds',
39  'pfDeepFlavourJetTags:probg',
40  'pfNegativeDeepFlavourJetTags:probb',
41  'pfNegativeDeepFlavourJetTags:probbb',
42  'pfNegativeDeepFlavourJetTags:problepb',
43  'pfNegativeDeepFlavourJetTags:probc',
44  'pfNegativeDeepFlavourJetTags:probuds',
45  'pfNegativeDeepFlavourJetTags:probg',
46  ] + pfParticleNetFromMiniAODAK4PuppiCentralJetTagsAll + pfNegativeParticleNetFromMiniAODAK4PuppiCentralJetTagsProbs + pfUnifiedParticleTransformerAK4JetTagsAll + pfNegativeUnifiedParticleTransformerAK4JetTagsProbs
47  # \ #+ pfParticleTransformerAK4JetTagsAll + pfNegativeParticleTransformerAK4JetTagsProbs \
48  updateJetCollection(
49  process,
50  jetSource=cms.InputTag('slimmedJetsPuppi'),
51  jetCorrections=('AK4PFPuppi',
52  cms.vstring(
53  ['L1FastJet', 'L2Relative', 'L3Absolute',
54  'L2L3Residual']), 'None'),
55  btagDiscriminators=_btagDiscriminators,
56  postfix='PuppiWithDeepInfo',
57  )
58  process.load("Configuration.StandardSequences.MagneticField_cff")
59  process.jetPuppiCorrFactorsNano.src = "selectedUpdatedPatJetsPuppiWithDeepInfo"
60  process.updatedJetsPuppi.jetSource = "selectedUpdatedPatJetsPuppiWithDeepInfo"
61 
62 
63  process.updatedPatJetsTransientCorrectedPuppiWithDeepInfo.tagInfoSources.append(cms.InputTag("pfDeepFlavourTagInfosPuppiWithDeepInfo"))
64  process.updatedPatJetsTransientCorrectedPuppiWithDeepInfo.addTagInfos = cms.bool(True)
65 
66 
67 
68  return process
69 
def update_jets_AK4(process)
Move PFNano (https://github.com/cms-jet/PFNano/) to NanoAOD.

◆ update_jets_AK8()

def custom_btv_cff.update_jets_AK8 (   process)

Definition at line 70 of file custom_btv_cff.py.

Referenced by add_BTV().

70 def update_jets_AK8(process):
71  # Based on ``nanoAOD_addDeepInfoAK8``
72  # in https://github.com/cms-sw/cmssw/blob/master/PhysicsTools/NanoAOD/python/nano_cff.py
73  # Care needs to be taken to make sure no discriminators from stock Nano are excluded -> would results in unfilled vars
74  _btagDiscriminators = [
75  'pfMassIndependentDeepDoubleBvLV2JetTags:probHbb',
76  'pfMassIndependentDeepDoubleCvLV2JetTags:probHcc',
77  'pfMassIndependentDeepDoubleCvBV2JetTags:probHcc',
78  ]
79  from RecoBTag.ONNXRuntime.pfParticleNet_cff import _pfParticleNetJetTagsAll as pfParticleNetJetTagsAll
80  _btagDiscriminators += pfParticleNetJetTagsAll
81  updateJetCollection(
82  process,
83  jetSource=cms.InputTag('slimmedJetsAK8'),
84  pvSource=cms.InputTag('offlineSlimmedPrimaryVertices'),
85  svSource=cms.InputTag('slimmedSecondaryVertices'),
86  rParam=0.8,
87  jetCorrections=('AK8PFPuppi',
88  cms.vstring([
89  'L1FastJet', 'L2Relative', 'L3Absolute',
90  'L2L3Residual'
91  ]), 'None'),
92  btagDiscriminators=_btagDiscriminators,
93  postfix='AK8WithDeepInfo',
94  # this should work but doesn't seem to enable the tag info with addTagInfos
95  # btagInfos=['pfDeepDoubleXTagInfos'],
96  printWarning=False)
97  process.jetCorrFactorsAK8.src = "selectedUpdatedPatJetsAK8WithDeepInfo"
98  process.updatedJetsAK8.jetSource = "selectedUpdatedPatJetsAK8WithDeepInfo"
99  # add DeepDoubleX taginfos
100  process.updatedPatJetsTransientCorrectedAK8WithDeepInfo.tagInfoSources.append(cms.InputTag("pfDeepDoubleXTagInfosAK8WithDeepInfo"))
101  process.updatedPatJetsTransientCorrectedAK8WithDeepInfo.addTagInfos = cms.bool(True)
102  return process
103 
def update_jets_AK8(process)

◆ update_jets_AK8_subjet()

def custom_btv_cff.update_jets_AK8_subjet (   process)

Definition at line 104 of file custom_btv_cff.py.

Referenced by add_BTV().

104 def update_jets_AK8_subjet(process):
105  # Based on ``nanoAOD_addDeepInfoAK8``
106  # in https://github.com/cms-sw/cmssw/blob/master/PhysicsTools/NanoAOD/python/nano_cff.py
107  # and https://github.com/alefisico/RecoBTag-PerformanceMeasurements/blob/10_2_X_boostedCommissioning/test/runBTagAnalyzer_cfg.py
108  _btagDiscriminators = [
109  'pfJetProbabilityBJetTags',
110  'pfDeepCSVJetTags:probb',
111  'pfDeepCSVJetTags:probc',
112  'pfDeepCSVJetTags:probbb',
113  'pfDeepCSVJetTags:probudsg',
114  ]
115  updateJetCollection(
116  process,
117  labelName='SoftDropSubjetsPF',
118  jetSource=cms.InputTag("slimmedJetsAK8PFPuppiSoftDropPacked", "SubJets"),
119  jetCorrections=('AK4PFPuppi',
120  ['L2Relative', 'L3Absolute'], 'None'),
121  btagDiscriminators=list(_btagDiscriminators),
122  explicitJTA=True, # needed for subjet b tagging
123  svClustering=False, # needed for subjet b tagging (IMPORTANT: Needs to be set to False to disable ghost-association which does not work with slimmed jets)
124  fatJets=cms.InputTag('slimmedJetsAK8'), # needed for subjet b tagging
125  rParam=0.8, # needed for subjet b tagging
126  sortByPt=False, # Don't change order (would mess with subJetIdx for FatJets)
127  postfix='AK8SubjetsWithDeepInfo')
128 
129  process.subJetTable.src = 'selectedUpdatedPatJetsSoftDropSubjetsPFAK8SubjetsWithDeepInfo'
130 
131 
132  return process
133 
def update_jets_AK8_subjet(process)

Variable Documentation

◆ btvNano_addAK4_switch

custom_btv_cff.btvNano_addAK4_switch

Definition at line 685 of file custom_btv_cff.py.

◆ btvNano_addAK8_switch

custom_btv_cff.btvNano_addAK8_switch

Definition at line 686 of file custom_btv_cff.py.

◆ btvNano_addallPF_switch

custom_btv_cff.btvNano_addallPF_switch

Definition at line 687 of file custom_btv_cff.py.

◆ btvNano_switch

custom_btv_cff.btvNano_switch

Switches for BTV nano Default(store SFs PFCands+TaggerInputs) for both AK4 & AK8 jets btvNano_addAK4_switch, btvNano_addAK8_switch True, btvNano_addPF_switch False, TaggerInput = "btvSF".

Definition at line 684 of file custom_btv_cff.py.

◆ TaggerInput

custom_btv_cff.TaggerInput

Definition at line 688 of file custom_btv_cff.py.