CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes | Static Private Attributes
jetTools.AddJetCollection Class Reference
Inheritance diagram for jetTools.AddJetCollection:

Public Member Functions

def __call__ (self, process, labelName=None, postfix=None, btagPrefix=None, jetSource=None, pfCandidates=None, explicitJTA=None, pvSource=None, svSource=None, elSource=None, muSource=None, runIVF=None, tightBTagNTkHits=None, loadStdRecoBTag=None, svClustering=None, fatJets=None, groomedFatJets=None, algo=None, rParam=None, getJetMCFlavour=None, genJetCollection=None, genParticles=None, jetCorrections=None, btagDiscriminators=None, btagInfos=None, jetTrackAssociation=None, outputModules=None)
 
def __init__ (self)
 
def getDefaultParameters (self)
 
def toolCode (self, process)
 

Private Attributes

 _comment
 add comments More...
 
 _parameters
 initialization of the base class More...
 

Static Private Attributes

 _defaultParameters
 
 _label
 

Detailed Description

Tool to add a new jet collection to your PAT Tuple or to modify an existing one.

Definition at line 904 of file jetTools.py.

Constructor & Destructor Documentation

◆ __init__()

def jetTools.AddJetCollection.__init__ (   self)
Initialize elements of the class. Note that the tool needs to be derived from ConfigToolBase to be usable in the configEditor.

Definition at line 911 of file jetTools.py.

911  def __init__(self):
912  """
913  Initialize elements of the class. Note that the tool needs to be derived from ConfigToolBase to be usable in the configEditor.
914  """
915 
916  ConfigToolBase.__init__(self)
917 
918  self.addParameter(self._defaultParameters,'labelName', 'UNDEFINED', "Label name of the new patJet collection.", str)
919  self.addParameter(self._defaultParameters,'postfix','', "Postfix from usePF2PAT.", str)
920  self.addParameter(self._defaultParameters,'btagPrefix','', "Prefix to be added to b-tag discriminator and TagInfo names", str)
921  self.addParameter(self._defaultParameters,'jetSource','', "Label of the input collection from which the new patJet collection should be created", cms.InputTag)
922  self.addParameter(self._defaultParameters,'pfCandidates',cms.InputTag('particleFlow'), "Label of the input collection for candidatecandidatese used in b-tagging", cms.InputTag)
923  self.addParameter(self._defaultParameters,'explicitJTA', False, "Use explicit jet-track association")
924  self.addParameter(self._defaultParameters,'pvSource',cms.InputTag('offlinePrimaryVertices'), "Label of the input collection for primary vertices used in b-tagging", cms.InputTag)
925  self.addParameter(self._defaultParameters,'svSource',cms.InputTag('inclusiveCandidateSecondaryVertices'), "Label of the input collection for IVF vertices used in b-tagging", cms.InputTag)
926  self.addParameter(self._defaultParameters,'elSource',cms.InputTag('gedGsfElectrons'), "Label of the input collection for electrons used in b-tagging", cms.InputTag)
927  self.addParameter(self._defaultParameters,'muSource',cms.InputTag('muons'), "Label of the input collection for muons used in b-tagging", cms.InputTag)
928  self.addParameter(self._defaultParameters,'runIVF', False, "Re-run IVF secondary vertex reconstruction")
929  self.addParameter(self._defaultParameters,'tightBTagNTkHits', False, "Enable legacy tight b-tag track selection")
930  self.addParameter(self._defaultParameters,'loadStdRecoBTag', False, "Load the standard reconstruction b-tagging modules")
931  self.addParameter(self._defaultParameters,'svClustering', False, "Secondary vertices ghost-associated to jets using jet clustering (mostly intended for subjets)")
932  self.addParameter(self._defaultParameters,'fatJets', cms.InputTag(''), "Fat jet collection used for secondary vertex clustering", cms.InputTag)
933  self.addParameter(self._defaultParameters,'groomedFatJets', cms.InputTag(''), "Groomed fat jet collection used for secondary vertex clustering", cms.InputTag)
934  self.addParameter(self._defaultParameters,'algo', 'AK', "Jet algorithm of the input collection from which the new patJet collection should be created")
935  self.addParameter(self._defaultParameters,'rParam', 0.4, "Jet size (distance parameter R used in jet clustering)")
936  self.addParameter(self._defaultParameters,'getJetMCFlavour', True, "Get jet MC truth flavour")
937  self.addParameter(self._defaultParameters,'genJetCollection', cms.InputTag("ak4GenJets"), "GenJet collection to match to", cms.InputTag)
938  self.addParameter(self._defaultParameters,'genParticles', cms.InputTag("genParticles"), "GenParticle collection to be used", cms.InputTag)
939  self.addParameter(self._defaultParameters,'jetCorrections',None, "Add all relevant information about jet energy corrections that you want to be added to your new patJet \
940  collection. The format has to be given in a python tuple of type: (\'AK4Calo\',[\'L2Relative\', \'L3Absolute\'], patMet). Here the first argument corresponds to the payload \
941  in the CMS Conditions database for the given jet collection; the second argument corresponds to the jet energy correction levels that you want to be embedded into your \
942  new patJet collection. This should be given as a list of strings. Available values are L1Offset, L1FastJet, L1JPTOffset, L2Relative, L3Absolute, L5Falvour, L7Parton; the \
943  third argument indicates whether MET(Type1/2) corrections should be applied corresponding to the new patJetCollection. If so a new patMet collection will be added to your PAT \
944  Tuple in addition to the raw patMet. This new patMet collection will have the MET(Type1/2) corrections applied. The argument can have the following types: \'type-1\' for \
945  type-1 corrected MET; \'type-2\' for type-1 plus type-2 corrected MET; \'\' or \'none\' if no further MET corrections should be applied to your MET. The arguments \'type-1\' \
946  and \'type-2\' are not case sensitive.", tuple, acceptNoneValue=True)
947  self.addParameter(self._defaultParameters,'btagDiscriminators',['None'], "If you are interested in btagging, in most cases just the labels of the btag discriminators that \
948  you are interested in is all relevant information that you need for a high level analysis. Add here all btag discriminators, that you are interested in as a list of strings. \
949  If this list is empty no btag discriminator information will be added to your new patJet collection.", allowedValues=(list(set().union(supportedBtagDiscr.keys(),supportedMetaDiscr.keys()))),Type=list)
950  self.addParameter(self._defaultParameters,'btagInfos',['None'], "The btagInfos objects contain all relevant information from which all discriminators of a certain \
951  type have been calculated. You might be interested in keeping this information for low level tests or to re-calculate some discriminators from hand. Note that this information \
952  on the one hand can be very space consuming and that it is not necessary to access the pre-calculated btag discriminator information that has been derived from it. Only in very \
953  special cases the btagInfos might really be needed in your analysis. Add here all btagInfos, that you are interested in as a list of strings. If this list is empty no btagInfos \
954  will be added to your new patJet collection.", allowedValues=supportedBtagInfos,Type=list)
955  self.addParameter(self._defaultParameters,'jetTrackAssociation',False, "Add JetTrackAssociation and JetCharge from reconstructed tracks to your new patJet collection. This \
956  switch is only of relevance if you don\'t add any btag information to your new patJet collection (btagDiscriminators or btagInfos) and still want this information added to \
957  your new patJetCollection. If btag information of any form is added to the new patJet collection this information will be added automatically.")
958  self.addParameter(self._defaultParameters,'outputModules',['out'],"Add a list of all output modules to which you would like the new jet collection to be added. Usually this is \
959  just one single output module with name \'out\', which corresponds also the default configuration of the tool. There is cases though where you might want to add this collection \
960  to more than one output module.")
961 
962  self._parameters=copy.deepcopy(self._defaultParameters)
963 
964  self._comment = "This is a tool to add more patJet collectinos to your PAT Tuple or to re-configure the default collection. You can add and embed additional information like jet\
965  energy correction factors, btag information and generator match information to the new patJet collection depending on the parameters that you pass on to this function. Consult \
966  the descriptions of each parameter for more information."
967 

References heavyIonTools.ConfigureHeavyIons._defaultParameters, coreTools.RunOnData._defaultParameters, heavyIonTools.ProductionDefaults._defaultParameters, cmsswVersionTools.PickRelValInputFiles._defaultParameters, coreTools.RemoveMCMatching._defaultParameters, heavyIonTools.SelectionDefaults._defaultParameters, heavyIonTools.DisbaleMonteCarloDeps._defaultParameters, jetTools.AddJetCollection._defaultParameters, root::helper::RootFunctionAdapter< F, args >.addParameter(), root::helper::RootFunctionHelper< F, args, Tag >.addParameter(), ParameterMgr.addParameter(), fit::RootMinuit< Function >.addParameter(), DropBoxMetadata::Parameters.addParameter(), Python11ParameterSet.addParameter(), cmspython3::Python11ParameterSet.addParameter(), l1t::TriggerSystem.addParameter(), LutXml.addParameter(), ConfigToolBase.ConfigToolBase.addParameter(), and edm::ParameterSet.addParameter().

Member Function Documentation

◆ __call__()

def jetTools.AddJetCollection.__call__ (   self,
  process,
  labelName = None,
  postfix = None,
  btagPrefix = None,
  jetSource = None,
  pfCandidates = None,
  explicitJTA = None,
  pvSource = None,
  svSource = None,
  elSource = None,
  muSource = None,
  runIVF = None,
  tightBTagNTkHits = None,
  loadStdRecoBTag = None,
  svClustering = None,
  fatJets = None,
  groomedFatJets = None,
  algo = None,
  rParam = None,
  getJetMCFlavour = None,
  genJetCollection = None,
  genParticles = None,
  jetCorrections = None,
  btagDiscriminators = None,
  btagInfos = None,
  jetTrackAssociation = None,
  outputModules = None 
)
Function call wrapper. This will check the parameters and call the actual implementation that
can be found in toolCode via the base class function apply.

Definition at line 974 of file jetTools.py.

974  def __call__(self,process,labelName=None,postfix=None,btagPrefix=None,jetSource=None,pfCandidates=None,explicitJTA=None,pvSource=None,svSource=None,elSource=None,muSource=None,runIVF=None,tightBTagNTkHits=None,loadStdRecoBTag=None,svClustering=None,fatJets=None,groomedFatJets=None,algo=None,rParam=None,getJetMCFlavour=None,genJetCollection=None,genParticles=None,jetCorrections=None,btagDiscriminators=None,btagInfos=None,jetTrackAssociation=None,outputModules=None):
975  """
976  Function call wrapper. This will check the parameters and call the actual implementation that
977  can be found in toolCode via the base class function apply.
978  """
979  if labelName is None:
980  labelName=self._defaultParameters['labelName'].value
981  self.setParameter('labelName', labelName)
982  if postfix is None:
983  postfix=self._defaultParameters['postfix'].value
984  self.setParameter('postfix', postfix)
985  if btagPrefix is None:
986  btagPrefix=self._defaultParameters['btagPrefix'].value
987  self.setParameter('btagPrefix', btagPrefix)
988  if jetSource is None:
989  jetSource=self._defaultParameters['jetSource'].value
990  self.setParameter('jetSource', jetSource)
991  if pfCandidates is None:
992  pfCandidates=self._defaultParameters['pfCandidates'].value
993  self.setParameter('pfCandidates', pfCandidates)
994  if explicitJTA is None:
995  explicitJTA=self._defaultParameters['explicitJTA'].value
996  self.setParameter('explicitJTA', explicitJTA)
997  if pvSource is None:
998  pvSource=self._defaultParameters['pvSource'].value
999  self.setParameter('pvSource', pvSource)
1000  if svSource is None:
1001  svSource=self._defaultParameters['svSource'].value
1002  self.setParameter('svSource', svSource)
1003  if elSource is None:
1004  elSource=self._defaultParameters['elSource'].value
1005  self.setParameter('elSource', elSource)
1006  if muSource is None:
1007  muSource=self._defaultParameters['muSource'].value
1008  self.setParameter('muSource', muSource)
1009  if runIVF is None:
1010  runIVF=self._defaultParameters['runIVF'].value
1011  self.setParameter('runIVF', runIVF)
1012  if tightBTagNTkHits is None:
1013  tightBTagNTkHits=self._defaultParameters['tightBTagNTkHits'].value
1014  self.setParameter('tightBTagNTkHits', tightBTagNTkHits)
1015  if loadStdRecoBTag is None:
1016  loadStdRecoBTag=self._defaultParameters['loadStdRecoBTag'].value
1017  self.setParameter('loadStdRecoBTag', loadStdRecoBTag)
1018  if svClustering is None:
1019  svClustering=self._defaultParameters['svClustering'].value
1020  self.setParameter('svClustering', svClustering)
1021  if fatJets is None:
1022  fatJets=self._defaultParameters['fatJets'].value
1023  self.setParameter('fatJets', fatJets)
1024  if groomedFatJets is None:
1025  groomedFatJets=self._defaultParameters['groomedFatJets'].value
1026  self.setParameter('groomedFatJets', groomedFatJets)
1027  if algo is None:
1028  algo=self._defaultParameters['algo'].value
1029  self.setParameter('algo', algo)
1030  if rParam is None:
1031  rParam=self._defaultParameters['rParam'].value
1032  self.setParameter('rParam', rParam)
1033  if getJetMCFlavour is None:
1034  getJetMCFlavour=self._defaultParameters['getJetMCFlavour'].value
1035  self.setParameter('getJetMCFlavour', getJetMCFlavour)
1036  if genJetCollection is None:
1037  genJetCollection=self._defaultParameters['genJetCollection'].value
1038  self.setParameter('genJetCollection', genJetCollection)
1039  if genParticles is None:
1040  genParticles=self._defaultParameters['genParticles'].value
1041  self.setParameter('genParticles', genParticles)
1042  if jetCorrections is None:
1043  jetCorrections=self._defaultParameters['jetCorrections'].value
1044  self.setParameter('jetCorrections', jetCorrections)
1045  if btagDiscriminators is None:
1046  btagDiscriminators=self._defaultParameters['btagDiscriminators'].value
1047  self.setParameter('btagDiscriminators', btagDiscriminators)
1048  if btagInfos is None:
1049  btagInfos=self._defaultParameters['btagInfos'].value
1050  self.setParameter('btagInfos', btagInfos)
1051  if jetTrackAssociation is None:
1052  jetTrackAssociation=self._defaultParameters['jetTrackAssociation'].value
1053  self.setParameter('jetTrackAssociation', jetTrackAssociation)
1054  if outputModules is None:
1055  outputModules=self._defaultParameters['outputModules'].value
1056  self.setParameter('outputModules', outputModules)
1057  self.apply(process)
1058 

References heavyIonTools.ConfigureHeavyIons._defaultParameters, coreTools.RunOnData._defaultParameters, heavyIonTools.ProductionDefaults._defaultParameters, cmsswVersionTools.PickRelValInputFiles._defaultParameters, coreTools.RemoveMCMatching._defaultParameters, heavyIonTools.SelectionDefaults._defaultParameters, heavyIonTools.DisbaleMonteCarloDeps._defaultParameters, jetTools.AddJetCollection._defaultParameters, SignedImpactParameter3D.apply(), SignedDecayLength3D.apply(), SignedTransverseImpactParameter.apply(), gen::PhotosInterfaceBase.apply(), SurveyParameters.apply(), DummyOOTPileupCorrection.apply(), MatrixReader.MatrixReader.apply, gen::PhotosppInterface.apply(), gen::PhotosInterface.apply(), FWPSetCellEditor.apply(), BeamSpotAlignmentParameters.apply(), RigidBodyAlignmentParameters.apply(), DeviationsFromFileSensor2D.apply(), FWGUIEventFilter.apply(), AlignmentParameters.apply(), ConfigToolBase.ConfigToolBase.apply(), BowedSurfaceAlignmentParameters.apply(), OOTPileupCorrData.apply(), AbsOOTPileupCorrection.apply(), TwoBowedSurfacesAlignmentParameters.apply(), reco::modules::TrackerTrackHitFilter::Rule.apply(), cmsswVersionTools.PickRelValInputFiles.apply(), models.RegExp.apply(), npstat::ArrayND< Numeric, StackLen, StackDim >.apply(), npstat::ArrayND< Numeric >.apply(), npstat::ArrayND< Num1, Len1, Dim1 >.apply(), Config.ProcessModifier.apply(), PedeReader.setParameter(), QIE8Simulator.setParameter(), AbsElectronicODERHS.setParameter(), SiStripLorentzAngleCalibration.setParameter(), SiPixelLorentzAngleCalibration.setParameter(), IntegratedCalibrationBase.setParameter(), SiStripBackplaneCalibration.setParameter(), fit::RootMinuit< Function >.setParameter(), and ConfigToolBase.ConfigToolBase.setParameter().

◆ getDefaultParameters()

def jetTools.AddJetCollection.getDefaultParameters (   self)

◆ toolCode()

def jetTools.AddJetCollection.toolCode (   self,
  process 
)
Tool code implementation

Definition at line 1059 of file jetTools.py.

1059  def toolCode(self, process):
1060  """
1061  Tool code implementation
1062  """
1063  task = getPatAlgosToolsTask(process)
1064 
1065 
1066  labelName=self._parameters['labelName'].value
1067  postfix=self._parameters['postfix'].value
1068  btagPrefix=self._parameters['btagPrefix'].value
1069  jetSource=self._parameters['jetSource'].value
1070  pfCandidates=self._parameters['pfCandidates'].value
1071  explicitJTA=self._parameters['explicitJTA'].value
1072  pvSource=self._parameters['pvSource'].value
1073  svSource=self._parameters['svSource'].value
1074  elSource=self._parameters['elSource'].value
1075  muSource=self._parameters['muSource'].value
1076  runIVF=self._parameters['runIVF'].value
1077  tightBTagNTkHits=self._parameters['tightBTagNTkHits'].value
1078  loadStdRecoBTag=self._parameters['loadStdRecoBTag'].value
1079  svClustering=self._parameters['svClustering'].value
1080  fatJets=self._parameters['fatJets'].value
1081  groomedFatJets=self._parameters['groomedFatJets'].value
1082  algo=self._parameters['algo'].value
1083  rParam=self._parameters['rParam'].value
1084  getJetMCFlavour=self._parameters['getJetMCFlavour'].value
1085  genJetCollection=self._parameters['genJetCollection'].value
1086  genParticles=self._parameters['genParticles'].value
1087  jetCorrections=self._parameters['jetCorrections'].value
1088  btagDiscriminators=list(self._parameters['btagDiscriminators'].value)
1089  btagInfos=list(self._parameters['btagInfos'].value)
1090  jetTrackAssociation=self._parameters['jetTrackAssociation'].value
1091  outputModules=list(self._parameters['outputModules'].value)
1092 
1093 
1094  if labelName=='UNDEFINED':
1095  undefinedLabelName(self)
1096 
1097 
1098  knownModules = process.producerNames().split()
1099 
1100  if btagDiscriminators.count('None')>0:
1101  btagDiscriminators.remove('None')
1102  if btagInfos.count('None')>0:
1103  btagInfos.remove('None')
1104  bTagging=(len(btagDiscriminators)>0 or len(btagInfos)>0)
1105 
1106  infos = 0
1107  for info in btagInfos:
1108  if info.startswith('pf'): infos = infos + 1
1109  if 'softpf' in info.lower(): infos = infos + 1
1110  tags = 0
1111  for tag in btagDiscriminators:
1112  if tag.startswith('pf'): tags = tags + 1
1113  if 'softpf' in tag.lower(): tags = tags + 1
1114  bTaggingLegacy=(len(btagDiscriminators)>tags or len(btagInfos)>infos)
1115 
1118  _labelName=labelName[:1].upper()+labelName[1:]
1119 
1120 
1121  _algo=''
1122  for x in ["ak", "ca", "kt"]:
1123  if x in algo.lower():
1124  _algo=supportedJetAlgos[x]
1125  break
1126  if _algo=='':
1128 
1129  from PhysicsTools.PatAlgos.producersLayer1.jetProducer_cfi import _patJets as patJets
1130  if 'patJets'+_labelName+postfix in knownModules :
1131  _newPatJets=getattr(process, 'patJets'+_labelName+postfix)
1132  _newPatJets.jetSource=jetSource
1133  else :
1134  addToProcessAndTask('patJets'+_labelName+postfix, patJets.clone(jetSource=jetSource), process, task)
1135  _newPatJets=getattr(process, 'patJets'+_labelName+postfix)
1136  knownModules.append('patJets'+_labelName+postfix)
1137 
1138  from PhysicsTools.PatAlgos.selectionLayer1.jetSelector_cfi import selectedPatJets
1139  if 'selectedPatJets'+_labelName+postfix in knownModules :
1140  _newSelectedPatJets=getattr(process, 'selectedPatJets'+_labelName+postfix)
1141  _newSelectedPatJets.src='patJets'+_labelName+postfix
1142  else :
1143  addToProcessAndTask('selectedPatJets'+_labelName+postfix,
1144  selectedPatJets.clone(src='patJets'+_labelName+postfix),
1145  process, task)
1146  knownModules.append('selectedPatJets'+_labelName+postfix)
1147 
1148 
1149  from PhysicsTools.PatAlgos.mcMatchLayer0.jetMatch_cfi import patJetPartonMatch
1150  if 'patJetPartonMatch'+_labelName+postfix in knownModules :
1151  _newPatJetPartonMatch=getattr(process, 'patJetPartonMatch'+_labelName+postfix)
1152  _newPatJetPartonMatch.src=jetSource
1153  _newPatJetPartonMatch.matched=genParticles
1154  else :
1155  addToProcessAndTask('patJetPartonMatch'+_labelName+postfix,
1156  patJetPartonMatch.clone(src=jetSource, matched=genParticles),
1157  process, task)
1158  knownModules.append('patJetPartonMatch'+_labelName+postfix)
1159 
1160  from PhysicsTools.PatAlgos.mcMatchLayer0.jetMatch_cfi import patJetGenJetMatch
1161  if 'patJetGenJetMatch'+_labelName+postfix in knownModules :
1162  _newPatJetGenJetMatch=getattr(process, 'patJetGenJetMatch'+_labelName+postfix)
1163  _newPatJetGenJetMatch.src=jetSource
1164  _newPatJetGenJetMatch.maxDeltaR=rParam
1165  _newPatJetGenJetMatch.matched=genJetCollection
1166  else :
1167  addToProcessAndTask('patJetGenJetMatch'+_labelName+postfix,
1168  patJetGenJetMatch.clone(src=jetSource, maxDeltaR=rParam, matched=genJetCollection),
1169  process, task)
1170  knownModules.append('patJetGenJetMatch'+_labelName+postfix)
1171 
1172  _newPatJets.genJetMatch.setModuleLabel('patJetGenJetMatch'+_labelName+postfix)
1173  _newPatJets.genPartonMatch.setModuleLabel('patJetPartonMatch'+_labelName+postfix)
1174 
1175  if (getJetMCFlavour):
1176 
1178  from PhysicsTools.PatAlgos.mcMatchLayer0.jetFlavourId_cff import patJetPartonsLegacy
1179  if 'patJetPartonsLegacy'+postfix not in knownModules :
1180  addToProcessAndTask('patJetPartonsLegacy'+postfix, patJetPartonsLegacy.clone(src=genParticles),
1181  process, task)
1182  knownModules.append('patJetPartonsLegacy'+postfix)
1183  else:
1184  getattr(process, 'patJetPartonsLegacy'+postfix).src=genParticles
1185 
1186  from PhysicsTools.PatAlgos.mcMatchLayer0.jetFlavourId_cff import patJetPartonAssociationLegacy
1187  if 'patJetPartonAssociationLegacy'+_labelName+postfix in knownModules :
1188  _newPatJetPartonAssociation=getattr(process, 'patJetPartonAssociationLegacy'+_labelName+postfix)
1189  _newPatJetPartonAssociation.jets=jetSource
1190  else :
1191  addToProcessAndTask('patJetPartonAssociationLegacy'+_labelName+postfix,
1192  patJetPartonAssociationLegacy.clone(jets=jetSource), process, task)
1193  knownModules.append('patJetPartonAssociationLegacy'+_labelName+postfix)
1194 
1195  from PhysicsTools.PatAlgos.mcMatchLayer0.jetFlavourId_cff import patJetFlavourAssociationLegacy
1196  if 'patJetFlavourAssociationLegacy'+_labelName+postfix in knownModules :
1197  _newPatJetFlavourAssociation=getattr(process, 'patJetFlavourAssociationLegacy'+_labelName+postfix)
1198  _newPatJetFlavourAssociation.srcByReference='patJetPartonAssociationLegacy'+_labelName+postfix
1199  else:
1200  addToProcessAndTask('patJetFlavourAssociationLegacy'+_labelName+postfix,
1201  patJetFlavourAssociationLegacy.clone(
1202  srcByReference='patJetPartonAssociationLegacy'+_labelName+postfix),
1203  process, task)
1204  knownModules.append('patJetFlavourAssociationLegacy'+_labelName+postfix)
1205 
1206  _newPatJets.JetPartonMapSource.setModuleLabel('patJetFlavourAssociationLegacy'+_labelName+postfix)
1207 
1210  if 'patJetPartons'+postfix not in knownModules :
1211  addToProcessAndTask('patJetPartons'+postfix, patJetPartons.clone(particles=genParticles), process, task)
1212  knownModules.append('patJetPartons'+postfix)
1213  else:
1214  getattr(process, 'patJetPartons'+postfix).particles=genParticles
1215 
1216  from PhysicsTools.PatAlgos.mcMatchLayer0.jetFlavourId_cff import patJetFlavourAssociation
1217  if 'patJetFlavourAssociation'+_labelName+postfix in knownModules :
1218  _newPatJetFlavourAssociation=getattr(process, 'patJetFlavourAssociation'+_labelName+postfix)
1219  _newPatJetFlavourAssociation.jets=jetSource
1220  _newPatJetFlavourAssociation.jetAlgorithm=_algo
1221  _newPatJetFlavourAssociation.rParam=rParam
1222  _newPatJetFlavourAssociation.bHadrons=cms.InputTag("patJetPartons"+postfix,"bHadrons")
1223  _newPatJetFlavourAssociation.cHadrons=cms.InputTag("patJetPartons"+postfix,"cHadrons")
1224  _newPatJetFlavourAssociation.partons=cms.InputTag("patJetPartons"+postfix,"physicsPartons")
1225  _newPatJetFlavourAssociation.leptons=cms.InputTag("patJetPartons"+postfix,"leptons")
1226  else :
1227  addToProcessAndTask('patJetFlavourAssociation'+_labelName+postfix,
1228  patJetFlavourAssociation.clone(
1229  jets=jetSource,
1230  jetAlgorithm=_algo,
1231  rParam=rParam,
1232  bHadrons = cms.InputTag("patJetPartons"+postfix,"bHadrons"),
1233  cHadrons = cms.InputTag("patJetPartons"+postfix,"cHadrons"),
1234  partons = cms.InputTag("patJetPartons"+postfix,"physicsPartons"),
1235  leptons = cms.InputTag("patJetPartons"+postfix,"leptons")),
1236  process, task)
1237 
1238  knownModules.append('patJetFlavourAssociation'+_labelName+postfix)
1239  if 'Puppi' in jetSource.value() and pfCandidates.value() == 'particleFlow':
1240  _newPatJetFlavourAssociation=getattr(process, 'patJetFlavourAssociation'+_labelName+postfix)
1241  _newPatJetFlavourAssociation.weights = cms.InputTag("puppi")
1242 
1243  _newPatJets.JetFlavourInfoSource.setModuleLabel('patJetFlavourAssociation'+_labelName+postfix)
1244 
1245  if fatJets != cms.InputTag('') and groomedFatJets != cms.InputTag(''):
1246  _newPatJetFlavourAssociation=getattr(process, 'patJetFlavourAssociation'+_labelName+postfix)
1247  _newPatJetFlavourAssociation.jets=fatJets
1248  _newPatJetFlavourAssociation.groomedJets=groomedFatJets
1249  _newPatJetFlavourAssociation.subjets=jetSource
1250  _newPatJets.JetFlavourInfoSource=cms.InputTag('patJetFlavourAssociation'+_labelName+postfix,'SubJets')
1251  else:
1252  _newPatJets.getJetMCFlavour = False
1253  _newPatJets.addJetFlavourInfo = False
1254 
1255 
1256  if (jetTrackAssociation or bTaggingLegacy):
1257 
1258  from RecoJets.JetAssociationProducers.ak4JTA_cff import ak4JetTracksAssociatorAtVertex, ak4JetTracksAssociatorExplicit
1259  if 'jetTracksAssociationAtVertex'+_labelName+postfix in knownModules :
1260  _newJetTracksAssociationAtVertex=getattr(process, 'jetTracksAssociatorAtVertex'+_labelName+postfix)
1261  _newJetTracksAssociationAtVertex.jets=jetSource
1262  _newJetTracksAssociationAtVertex.pvSrc=pvSource
1263  else:
1264  jetTracksAssociator=ak4JetTracksAssociatorAtVertex
1265  if explicitJTA:
1266  jetTracksAssociator=ak4JetTracksAssociatorExplicit
1267  addToProcessAndTask('jetTracksAssociatorAtVertex'+_labelName+postfix,
1268  jetTracksAssociator.clone(jets=jetSource,pvSrc=pvSource),
1269  process, task)
1270  knownModules.append('jetTracksAssociationAtVertex'+_labelName+postfix)
1271 
1273  if 'patJetCharge'+_labelName+postfix in knownModules :
1274  _newPatJetCharge=getattr(process, 'patJetCharge'+_labelName+postfix)
1275  _newPatJetCharge.src='jetTracksAssociatorAtVertex'+_labelName+postfix
1276  else:
1277  addToProcessAndTask('patJetCharge'+_labelName+postfix,
1278  patJetCharge.clone(src = 'jetTracksAssociatorAtVertex'+_labelName+postfix),
1279  process, task)
1280  knownModules.append('patJetCharge'+_labelName+postfix)
1281 
1282  _newPatJets.addAssociatedTracks=True
1283  _newPatJets.trackAssociationSource=cms.InputTag('jetTracksAssociatorAtVertex'+_labelName+postfix)
1284  _newPatJets.addJetCharge=True
1285  _newPatJets.jetChargeSource=cms.InputTag('patJetCharge'+_labelName+postfix)
1286  else:
1287 
1288  _newPatJets.addAssociatedTracks=False
1289  _newPatJets.trackAssociationSource=''
1290  _newPatJets.addJetCharge=False
1291  _newPatJets.jetChargeSource=''
1292 
1293  if (bTagging):
1294  setupBTagging(process, jetSource, pfCandidates, explicitJTA, pvSource, svSource, elSource, muSource, runIVF, tightBTagNTkHits, loadStdRecoBTag, svClustering, fatJets, groomedFatJets,
1295  _algo, rParam, btagDiscriminators, btagInfos, _newPatJets, _labelName, btagPrefix, postfix)
1296  else:
1297  _newPatJets.addBTagInfo = False
1298  _newPatJets.addTagInfos = False
1299 
1300  for outputModule in outputModules:
1301  if hasattr(process,outputModule):
1302  getattr(process,outputModule).outputCommands.append("drop *_"+'selected'+_labelName+postfix+"_tagInfos_*")
1303 
1304 
1305  if (jetCorrections != None):
1306 
1307  checkJetCorrectionsFormat(jetCorrections)
1308 
1309  setupJetCorrections(process, knownModules, jetCorrections, jetSource, pvSource, _newPatJets, _labelName, postfix)
1310  else:
1311 
1312  _newPatJets.addJetCorrFactors=False
1313 
1314 addJetCollection=AddJetCollection()
1315 

References heavyIonTools.ConfigureHeavyIons._parameters, coreTools.RunOnData._parameters, heavyIonTools.ProductionDefaults._parameters, ConfigToolBase.ConfigToolBase._parameters, TAbsFitConstraint._parameters, TAbsFitParticle._parameters, cmsswVersionTools.PickRelValInputFiles._parameters, coreTools.RemoveMCMatching._parameters, heavyIonTools.SelectionDefaults._parameters, heavyIonTools.DisbaleMonteCarloDeps._parameters, jetTools.AddJetCollection._parameters, helpers.addToProcessAndTask(), jetTools.checkJetCorrectionsFormat(), helpers.getPatAlgosToolsTask(), jetTools.setupBTagging(), jetTools.setupJetCorrections(), submitPVValidationJobs.split(), jetTools.undefinedLabelName(), jetTools.unsupportedJetAlgorithm(), and pileupCalc.upper.

Member Data Documentation

◆ _comment

jetTools.AddJetCollection._comment
private

add comments

Definition at line 964 of file jetTools.py.

◆ _defaultParameters

jetTools.AddJetCollection._defaultParameters
staticprivate

Definition at line 909 of file jetTools.py.

Referenced by trackTools.MakeAODTrackCandidates.__call__(), runJetUncertainties.RunJetUncertainties.__call__(), metTools.AddMETCollection.__call__(), trackTools.MakePATTrackCandidates.__call__(), trigTools.SwitchOnTrigger.__call__(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.__call__(), trigTools.SwitchOnTriggerStandAlone.__call__(), tauTools.AddTauCollection.__call__(), trackTools.MakeTrackCandidates.__call__(), trigTools.SwitchOnTriggerMatching.__call__(), trigTools.SwitchOnTriggerMatchingStandAlone.__call__(), trigTools.SwitchOnTriggerMatchEmbedding.__call__(), jetTools.AddJetCollection.__call__(), jetTools.SwitchJetCollection.__call__(), jetTools.UpdateJetCollection.__call__(), jetTools.AddJetID.__call__(), jetTools.SetTagInfos.__call__(), metTools.AddMETCollection.__init__(), trackTools.MakeAODTrackCandidates.__init__(), runJetUncertainties.RunJetUncertainties.__init__(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.__init__(), trackTools.MakePATTrackCandidates.__init__(), trigTools.SwitchOnTrigger.__init__(), trigTools.SwitchOnTriggerStandAlone.__init__(), tauTools.AddTauCollection.__init__(), trackTools.MakeTrackCandidates.__init__(), trigTools.SwitchOnTriggerMatching.__init__(), trigTools.SwitchOnTriggerMatchingStandAlone.__init__(), trigTools.SwitchOnTriggerMatchEmbedding.__init__(), jetTools.AddJetCollection.__init__(), jetTools.SwitchJetCollection.__init__(), jetTools.UpdateJetCollection.__init__(), jetTools.AddJetID.__init__(), jetTools.SetTagInfos.__init__(), ConfigToolBase.ConfigToolBase.dumpPython(), ConfigToolBase.ConfigToolBase.getAllowedValues(), trackTools.MakeAODTrackCandidates.getDefaultParameters(), metTools.AddMETCollection.getDefaultParameters(), trackTools.MakePATTrackCandidates.getDefaultParameters(), trigTools.SwitchOnTrigger.getDefaultParameters(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.getDefaultParameters(), trigTools.SwitchOnTriggerStandAlone.getDefaultParameters(), tauTools.AddTauCollection.getDefaultParameters(), trackTools.MakeTrackCandidates.getDefaultParameters(), trigTools.SwitchOnTriggerMatching.getDefaultParameters(), trigTools.SwitchOnTriggerMatchingStandAlone.getDefaultParameters(), trigTools.SwitchOnTriggerMatchEmbedding.getDefaultParameters(), jetTools.AddJetCollection.getDefaultParameters(), jetTools.SwitchJetCollection.getDefaultParameters(), jetTools.UpdateJetCollection.getDefaultParameters(), jetTools.AddJetID.getDefaultParameters(), jetTools.SetTagInfos.getDefaultParameters(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.initializeInputTag(), ConfigToolBase.ConfigToolBase.reset(), and ConfigToolBase.ConfigToolBase.setParameter().

◆ _label

jetTools.AddJetCollection._label
staticprivate

◆ _parameters

jetTools.AddJetCollection._parameters
private

initialization of the base class

add all parameters that should be known to the class set defaults

Definition at line 962 of file jetTools.py.

Referenced by runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.ak4JetReclustering(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.createMVAMETModule(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.createSmearedJetModule(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.extractMET(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.getCorrectedMET(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.getMETUncertainties(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.getUnclusteredVariationsForMVAMET(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.getVariations(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.jetCleaning(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.jetConfiguration(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.miniAODConfiguration(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.miniAODConfigurationPost(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.recomputeRawMetFromPfcs(), trackTools.MakeAODTrackCandidates.toolCode(), metTools.AddMETCollection.toolCode(), runJetUncertainties.RunJetUncertainties.toolCode(), trigTools.SwitchOnTrigger.toolCode(), trackTools.MakePATTrackCandidates.toolCode(), trigTools.SwitchOnTriggerStandAlone.toolCode(), tauTools.AddTauCollection.toolCode(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.toolCode(), trackTools.MakeTrackCandidates.toolCode(), trigTools.SwitchOnTriggerMatching.toolCode(), trigTools.SwitchOnTriggerMatchingStandAlone.toolCode(), trigTools.SwitchOnTriggerMatchEmbedding.toolCode(), jetTools.AddJetCollection.toolCode(), jetTools.SwitchJetCollection.toolCode(), jetTools.UpdateJetCollection.toolCode(), jetTools.AddJetID.toolCode(), jetTools.SetTagInfos.toolCode(), and runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.updateJECs().

helpers.getPatAlgosToolsTask
def getPatAlgosToolsTask(process)
Definition: helpers.py:14
jetTools.checkJetCorrectionsFormat
def checkJetCorrectionsFormat(jetCorrections)
Definition: jetTools.py:18
jetMatch_cfi
ak4JTA_cff
jetSelector_cfi
submitPVValidationJobs.split
def split(sequence, size)
Definition: submitPVValidationJobs.py:352
jetFlavourId_cff
jetTools.undefinedLabelName
def undefinedLabelName(obj)
Definition: jetTools.py:1918
jetTools.setupJetCorrections
def setupJetCorrections(process, knownModules, jetCorrections, jetSource, pvSource, patJets, labelName, postfix)
Definition: jetTools.py:26
jetProducer_cfi
jetTools.unsupportedJetAlgorithm
def unsupportedJetAlgorithm(obj)
Definition: jetTools.py:1925
jetTools.setupBTagging
def setupBTagging(process, jetSource, pfCandidates, explicitJTA, pvSource, svSource, elSource, muSource, runIVF, tightBTagNTkHits, loadStdRecoBTag, svClustering, fatJets, groomedFatJets, algo, rParam, btagDiscriminators, btagInfos, patJets, labelName, btagPrefix, postfix)
Definition: jetTools.py:238
jetTracksCharge_cff
pileupCalc.upper
upper
Definition: pileupCalc.py:214
helpers.addToProcessAndTask
def addToProcessAndTask(label, module, process, task)
Definition: helpers.py:29