CMS 3D CMS Logo

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

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, printWarning=None, jetCorrections=None, btagDiscriminators=None, btagInfos=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 update a jet collection in your PAT Tuple (primarily intended for MiniAOD for which the default input argument values have been set).

Definition at line 1439 of file jetTools.py.

Constructor & Destructor Documentation

def jetTools.UpdateJetCollection.__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 1446 of file jetTools.py.

References editorTools.UserCodeTool._defaultParameters, heavyIonTools.ConfigureHeavyIons._defaultParameters, coreTools.RunOnData._defaultParameters, Vispa.Plugins.ConfigEditor.ToolDataAccessor.ImportTool._defaultParameters, heavyIonTools.ProductionDefaults._defaultParameters, editorTools.ChangeSource._defaultParameters, cmsswVersionTools.PickRelValInputFiles._defaultParameters, coreTools.RemoveMCMatching._defaultParameters, heavyIonTools.SelectionDefaults._defaultParameters, heavyIonTools.DisbaleMonteCarloDeps._defaultParameters, jetTools.AddJetCollection._defaultParameters, jetTools.SwitchJetCollection._defaultParameters, jetTools.UpdateJetCollection._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(), edm::ParameterSet.addParameter(), and list().

1446  def __init__(self):
1447  """
1448  Initialize elements of the class. Note that the tool needs to be derived from ConfigToolBase to be usable in the configEditor.
1449  """
1450  ## initialization of the base class
1451  ConfigToolBase.__init__(self)
1452  ## add all parameters that should be known to the class
1453  self.addParameter(self._defaultParameters,'labelName', '', "Label name of the new patJet collection.", str)
1454  self.addParameter(self._defaultParameters,'postfix','', "Postfix from usePF2PAT.", str)
1455  self.addParameter(self._defaultParameters,'btagPrefix','', "Prefix to be added to b-tag discriminator and TagInfo names", str)
1456  self.addParameter(self._defaultParameters,'jetSource','', "Label of the input collection from which the new patJet collection should be created", cms.InputTag)
1457  self.addParameter(self._defaultParameters,'pfCandidates',cms.InputTag('packedPFCandidates'), "Label of the input collection for candidatecandidatese used in b-tagging", cms.InputTag)
1458  self.addParameter(self._defaultParameters,'explicitJTA', False, "Use explicit jet-track association")
1459  self.addParameter(self._defaultParameters,'pvSource',cms.InputTag('offlineSlimmedPrimaryVertices'), "Label of the input collection for primary vertices used in b-tagging", cms.InputTag)
1460  self.addParameter(self._defaultParameters,'svSource',cms.InputTag('slimmedSecondaryVertices'), "Label of the input collection for IVF vertices used in b-tagging", cms.InputTag)
1461  self.addParameter(self._defaultParameters,'elSource',cms.InputTag('slimmedElectrons'), "Label of the input collection for electrons used in b-tagging", cms.InputTag)
1462  self.addParameter(self._defaultParameters,'muSource',cms.InputTag('slimmedMuons'), "Label of the input collection for muons used in b-tagging", cms.InputTag)
1463  self.addParameter(self._defaultParameters,'runIVF', False, "Re-run IVF secondary vertex reconstruction")
1464  self.addParameter(self._defaultParameters,'tightBTagNTkHits', False, "Enable legacy tight b-tag track selection")
1465  self.addParameter(self._defaultParameters,'loadStdRecoBTag', False, "Load the standard reconstruction b-tagging modules")
1466  self.addParameter(self._defaultParameters,'svClustering', False, "Secondary vertices ghost-associated to jets using jet clustering (mostly intended for subjets)")
1467  self.addParameter(self._defaultParameters,'fatJets', cms.InputTag(''), "Fat jet collection used for secondary vertex clustering", cms.InputTag)
1468  self.addParameter(self._defaultParameters,'groomedFatJets', cms.InputTag(''), "Groomed fat jet collection used for secondary vertex clustering", cms.InputTag)
1469  self.addParameter(self._defaultParameters,'algo', 'AK', "Jet algorithm of the input collection from which the new patJet collection should be created")
1470  self.addParameter(self._defaultParameters,'rParam', 0.4, "Jet size (distance parameter R used in jet clustering)")
1471  self.addParameter(self._defaultParameters,'printWarning', True, "To be use as False in production to reduce log size")
1472  self.addParameter(self._defaultParameters,'jetCorrections',None, "Add all relevant information about jet energy corrections that you want to be added to your new patJet \
1473  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 \
1474  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 \
1475  new patJet collection. This should be given as a list of strings. Available values are L1Offset, L1FastJet, L1JPTOffset, L2Relative, L3Absolute, L5Falvour, L7Parton; the \
1476  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 \
1477  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 \
1478  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\' \
1479  and \'type-2\' are not case sensitive.", tuple, acceptNoneValue=True)
1480  self.addParameter(self._defaultParameters,'btagDiscriminators',['None'], "If you are interested in btagging, in most cases just the labels of the btag discriminators that \
1481  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. \
1482  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)
1483  self.addParameter(self._defaultParameters,'btagInfos',['None'], "The btagInfos objects contain all relevant information from which all discriminators of a certain \
1484  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 \
1485  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 \
1486  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 \
1487  will be added to your new patJet collection.", allowedValues=supportedBtagInfos,Type=list)
1488  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 \
1489  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 \
1490  to more than one output module.")
1491  ## set defaults
1492  self._parameters=copy.deepcopy(self._defaultParameters)
1493  ## add comments
1494  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\
1495  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 \
1496  the descriptions of each parameter for more information."
1497 
_parameters
initialization of the base class
Definition: jetTools.py:1492
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*","!HLTx*"if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL.It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of"!*"before the partial wildcard feature was incorporated).Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run

Member Function Documentation

def jetTools.UpdateJetCollection.__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,
  printWarning = None,
  jetCorrections = None,
  btagDiscriminators = None,
  btagInfos = 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 1504 of file jetTools.py.

References editorTools.UserCodeTool._defaultParameters, heavyIonTools.ConfigureHeavyIons._defaultParameters, coreTools.RunOnData._defaultParameters, Vispa.Plugins.ConfigEditor.ToolDataAccessor.ImportTool._defaultParameters, heavyIonTools.ProductionDefaults._defaultParameters, editorTools.ChangeSource._defaultParameters, cmsswVersionTools.PickRelValInputFiles._defaultParameters, coreTools.RemoveMCMatching._defaultParameters, heavyIonTools.SelectionDefaults._defaultParameters, heavyIonTools.DisbaleMonteCarloDeps._defaultParameters, jetTools.AddJetCollection._defaultParameters, jetTools.SwitchJetCollection._defaultParameters, jetTools.UpdateJetCollection._defaultParameters, SignedImpactParameter3D.apply(), SignedDecayLength3D.apply(), SignedTransverseImpactParameter.apply(), gen::PhotosInterfaceBase.apply(), DummyOOTPileupCorrection.apply(), SurveyParameters.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(), Vispa.Plugins.ConfigEditor.ToolDataAccessor.ImportTool.apply(), Vispa.Plugins.ConfigEditor.ToolDataAccessor.ApplyTool.apply(), AbsOOTPileupCorrection.apply(), Vispa.Gui.BoxContentDialog.BoxContentDialog.apply(), TwoBowedSurfacesAlignmentParameters.apply(), reco::modules::TrackerTrackHitFilter::Rule.apply(), Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.apply(), cmsswVersionTools.PickRelValInputFiles.apply(), models.RegExp.apply(), npstat::ArrayND< Numeric >.apply(), npstat::ArrayND< Num1, Len1, Dim1 >.apply(), npstat::ArrayND< Numeric, StackLen, StackDim >.apply(), Config.ProcessModifier.apply(), PedeReader.setParameter(), QIE8Simulator.setParameter(), AbsElectronicODERHS.setParameter(), SiStripLorentzAngleCalibration.setParameter(), IntegratedCalibrationBase.setParameter(), SiPixelLorentzAngleCalibration.setParameter(), SiStripBackplaneCalibration.setParameter(), fit::RootMinuit< Function >.setParameter(), and ConfigToolBase.ConfigToolBase.setParameter().

1504  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,printWarning=None,jetCorrections=None,btagDiscriminators=None,btagInfos=None):
1505  """
1506  Function call wrapper. This will check the parameters and call the actual implementation that
1507  can be found in toolCode via the base class function apply.
1508  """
1509  if labelName is None:
1510  labelName=self._defaultParameters['labelName'].value
1511  self.setParameter('labelName', labelName)
1512  if postfix is None:
1513  postfix=self._defaultParameters['postfix'].value
1514  self.setParameter('postfix', postfix)
1515  if btagPrefix is None:
1516  btagPrefix=self._defaultParameters['btagPrefix'].value
1517  self.setParameter('btagPrefix', btagPrefix)
1518  if jetSource is None:
1519  jetSource=self._defaultParameters['jetSource'].value
1520  self.setParameter('jetSource', jetSource)
1521  if pfCandidates is None:
1522  pfCandidates=self._defaultParameters['pfCandidates'].value
1523  self.setParameter('pfCandidates', pfCandidates)
1524  if explicitJTA is None:
1525  explicitJTA=self._defaultParameters['explicitJTA'].value
1526  self.setParameter('explicitJTA', explicitJTA)
1527  if pvSource is None:
1528  pvSource=self._defaultParameters['pvSource'].value
1529  self.setParameter('pvSource', pvSource)
1530  if svSource is None:
1531  svSource=self._defaultParameters['svSource'].value
1532  self.setParameter('svSource', svSource)
1533  if elSource is None:
1534  elSource=self._defaultParameters['elSource'].value
1535  self.setParameter('elSource', elSource)
1536  if muSource is None:
1537  muSource=self._defaultParameters['muSource'].value
1538  self.setParameter('muSource', muSource)
1539  if runIVF is None:
1540  runIVF=self._defaultParameters['runIVF'].value
1541  self.setParameter('runIVF', runIVF)
1542  if tightBTagNTkHits is None:
1543  tightBTagNTkHits=self._defaultParameters['tightBTagNTkHits'].value
1544  self.setParameter('tightBTagNTkHits', tightBTagNTkHits)
1545  if loadStdRecoBTag is None:
1546  loadStdRecoBTag=self._defaultParameters['loadStdRecoBTag'].value
1547  self.setParameter('loadStdRecoBTag', loadStdRecoBTag)
1548  if svClustering is None:
1549  svClustering=self._defaultParameters['svClustering'].value
1550  self.setParameter('svClustering', svClustering)
1551  if fatJets is None:
1552  fatJets=self._defaultParameters['fatJets'].value
1553  self.setParameter('fatJets', fatJets)
1554  if groomedFatJets is None:
1555  groomedFatJets=self._defaultParameters['groomedFatJets'].value
1556  self.setParameter('groomedFatJets', groomedFatJets)
1557  if algo is None:
1558  algo=self._defaultParameters['algo'].value
1559  self.setParameter('algo', algo)
1560  if rParam is None:
1561  rParam=self._defaultParameters['rParam'].value
1562  self.setParameter('rParam', rParam)
1563  if printWarning is None:
1564  printWarning=self._defaultParameters['printWarning'].value
1565  self.setParameter('printWarning', printWarning)
1566  if jetCorrections is None:
1567  jetCorrections=self._defaultParameters['jetCorrections'].value
1568  self.setParameter('jetCorrections', jetCorrections)
1569  if btagDiscriminators is None:
1570  btagDiscriminators=self._defaultParameters['btagDiscriminators'].value
1571  self.setParameter('btagDiscriminators', btagDiscriminators)
1572  if btagInfos is None:
1573  btagInfos=self._defaultParameters['btagInfos'].value
1574  self.setParameter('btagInfos', btagInfos)
1575  self.apply(process)
1576 
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, printWarning=None, jetCorrections=None, btagDiscriminators=None, btagInfos=None)
Definition: jetTools.py:1504
def jetTools.UpdateJetCollection.getDefaultParameters (   self)
def jetTools.UpdateJetCollection.toolCode (   self,
  process 
)
Tool code implementation

Definition at line 1577 of file jetTools.py.

References editorTools.UserCodeTool._parameters, heavyIonTools.ConfigureHeavyIons._parameters, coreTools.RunOnData._parameters, Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigFolder._parameters, Vispa.Plugins.ConfigEditor.ToolDataAccessor.ImportTool._parameters, heavyIonTools.ProductionDefaults._parameters, ConfigToolBase.ConfigToolBase._parameters, editorTools.ChangeSource._parameters, TAbsFitConstraint._parameters, TAbsFitParticle._parameters, cmsswVersionTools.PickRelValInputFiles._parameters, coreTools.RemoveMCMatching._parameters, heavyIonTools.SelectionDefaults._parameters, heavyIonTools.DisbaleMonteCarloDeps._parameters, jetTools.AddJetCollection._parameters, jetTools.SwitchJetCollection._parameters, jetTools.UpdateJetCollection._parameters, helpers.addToProcessAndTask(), jetTools.checkJetCorrectionsFormat(), helpers.getPatAlgosToolsTask(), list(), jetTools.setupBTagging(), jetTools.setupJetCorrections(), cms::dd.split(), jetTools.unsupportedJetAlgorithm(), and pileupCalc.upper.

1577  def toolCode(self, process):
1578  """
1579  Tool code implementation
1580  """
1581  ## initialize parameters
1582  labelName=self._parameters['labelName'].value
1583  postfix=self._parameters['postfix'].value
1584  btagPrefix=self._parameters['btagPrefix'].value
1585  jetSource=self._parameters['jetSource'].value
1586  pfCandidates=self._parameters['pfCandidates'].value
1587  explicitJTA=self._parameters['explicitJTA'].value
1588  pvSource=self._parameters['pvSource'].value
1589  svSource=self._parameters['svSource'].value
1590  elSource=self._parameters['elSource'].value
1591  muSource=self._parameters['muSource'].value
1592  runIVF=self._parameters['runIVF'].value
1593  tightBTagNTkHits=self._parameters['tightBTagNTkHits'].value
1594  loadStdRecoBTag=self._parameters['loadStdRecoBTag'].value
1595  svClustering=self._parameters['svClustering'].value
1596  fatJets=self._parameters['fatJets'].value
1597  groomedFatJets=self._parameters['groomedFatJets'].value
1598  algo=self._parameters['algo'].value
1599  rParam=self._parameters['rParam'].value
1600  printWarning=self._parameters['printWarning'].value
1601  jetCorrections=self._parameters['jetCorrections'].value
1602  btagDiscriminators=list(self._parameters['btagDiscriminators'].value)
1603  btagInfos=list(self._parameters['btagInfos'].value)
1604 
1605  ## a list of all producer modules, which are already known to process
1606  knownModules = process.producerNames().split()
1607  ## determine whether btagging information is required or not
1608  if btagDiscriminators.count('None')>0:
1609  btagDiscriminators.remove('None')
1610  if btagInfos.count('None')>0:
1611  btagInfos.remove('None')
1612  bTagging=(len(btagDiscriminators)>0 or len(btagInfos)>0)
1613 
1614  ## construct postfix label for auxiliary modules; this postfix
1615  ## label will start with a capitalized first letter following
1616  ## the CMS naming conventions and for improved readablility
1617  _labelName=labelName[:1].upper()+labelName[1:]
1618 
1619  ## supported algo types are ak, ca, and kt
1620  _algo=''
1621  for x in ["ak", "ca", "kt"]:
1622  if x in algo.lower():
1623  _algo=supportedJetAlgos[x]
1624  break
1625  if _algo=='':
1627 
1628  task = getPatAlgosToolsTask(process)
1629 
1630  ## add new updatedPatJets to process (keep instance for later further modifications)
1631  from PhysicsTools.PatAlgos.producersLayer1.jetUpdater_cfi import updatedPatJets
1632  if 'updatedPatJets'+_labelName+postfix in knownModules :
1633  _newPatJets=getattr(process, 'updatedPatJets'+_labelName+postfix)
1634  _newPatJets.jetSource=jetSource
1635  else :
1636  addToProcessAndTask('updatedPatJets'+_labelName+postfix,
1637  updatedPatJets.clone(jetSource=jetSource,
1638  printWarning=printWarning), process, task)
1639  _newPatJets=getattr(process, 'updatedPatJets'+_labelName+postfix)
1640  knownModules.append('updatedPatJets'+_labelName+postfix)
1641  ## add new selectedUpdatedPatJets to process
1642  from PhysicsTools.PatAlgos.selectionLayer1.jetSelector_cfi import selectedPatJets
1643  if 'selectedUpdatedPatJets'+_labelName+postfix in knownModules :
1644  _newSelectedPatJets=getattr(process, 'selectedUpdatedPatJets'+_labelName+postfix)
1645  _newSelectedPatJets.src='updatedPatJets'+_labelName+postfix
1646  else :
1647  addToProcessAndTask('selectedUpdatedPatJets'+_labelName+postfix,
1648  selectedPatJets.clone(src='updatedPatJets'+_labelName+postfix),
1649  process, task)
1650  knownModules.append('selectedUpdatedPatJets'+_labelName+postfix)
1651 
1652  ## run btagging if required by user
1653  if (bTagging):
1654  if printWarning:
1655  sys.stderr.write("**************************************************************\n")
1656  sys.stderr.write("b tagging needs to be run on uncorrected jets. Hence, the JECs\n")
1657  sys.stderr.write("will first be undone for 'updatedPatJets%s' and then applied to\n" % (_labelName+postfix) )
1658  sys.stderr.write("'updatedPatJetsTransientCorrected%s'.\n" % (_labelName+postfix) )
1659  sys.stderr.write("**************************************************************\n")
1660  _jetSource = cms.InputTag('updatedPatJets'+_labelName+postfix)
1661  ## insert new jet collection with jet corrections applied and btag info added
1662  self(
1663  process,
1664  labelName = ('TransientCorrected'+_labelName),
1665  jetSource = _jetSource,
1666  pfCandidates=pfCandidates,
1667  explicitJTA=explicitJTA,
1668  pvSource=pvSource,
1669  svSource=svSource,
1670  elSource=elSource,
1671  muSource=muSource,
1672  runIVF=runIVF,
1673  tightBTagNTkHits=tightBTagNTkHits,
1674  loadStdRecoBTag=loadStdRecoBTag,
1675  svClustering=svClustering,
1676  fatJets=fatJets,
1677  groomedFatJets=groomedFatJets,
1678  algo=algo,
1679  rParam=rParam,
1680  jetCorrections = jetCorrections,
1681  btagPrefix = btagPrefix,
1682  postfix = postfix
1683  )
1684  ## setup btagging
1685  _patJets=getattr(process, 'updatedPatJetsTransientCorrected'+_labelName+postfix)
1686  setupBTagging(process, _jetSource, pfCandidates, explicitJTA, pvSource, svSource, elSource, muSource, runIVF, tightBTagNTkHits, loadStdRecoBTag, svClustering, fatJets, groomedFatJets,
1687  _algo, rParam, btagDiscriminators, btagInfos, _patJets, _labelName, btagPrefix, postfix)
1688  ## update final selected jets
1689  _newSelectedPatJets=getattr(process, 'selectedUpdatedPatJets'+_labelName+postfix)
1690  _newSelectedPatJets.src='updatedPatJetsTransientCorrected'+_labelName+postfix
1691  ## remove automatically added but redundant 'TransientCorrected' selected jets
1692  delattr(process, 'selectedUpdatedPatJetsTransientCorrected'+_labelName+postfix)
1693  else:
1694  _newPatJets.addBTagInfo = False
1695  _newPatJets.addTagInfos = False
1696 
1697  ## add jet correction factors if required by user
1698  if (jetCorrections != None or bTagging):
1699  ## check the jet corrections format
1700  checkJetCorrectionsFormat(jetCorrections)
1701  ## reset MET corrrection
1702  if jetCorrections[2].lower() != 'none' and jetCorrections[2] != '':
1703  sys.stderr.write("-------------------------------------------------------------------\n")
1704  sys.stderr.write(" Warning: MET correction was set to " + jetCorrections[2] + " but\n")
1705  sys.stderr.write(" will be ignored. Please set it to \"None\" to avoid\n")
1706  sys.stderr.write(" getting this warning.\n")
1707  sys.stderr.write("-------------------------------------------------------------------\n")
1708  jetCorrectionsList = list(jetCorrections)
1709  jetCorrectionsList[2] = 'None'
1710  jetCorrections = tuple(jetCorrectionsList)
1711  ## if running b tagging, need to use uncorrected jets
1712  if (bTagging):
1713  jetCorrections = ('AK4PFchs', cms.vstring([]), 'None')
1714  ## setup jet energy corrections
1715  setupJetCorrections(process, knownModules, jetCorrections, jetSource, pvSource, _newPatJets, _labelName, postfix)
1716  else:
1717  ## switch jetCorrFactors off
1718  _newPatJets.addJetCorrFactors=False
1719 
1720 updateJetCollection=UpdateJetCollection()
1721 
1722 
std::vector< std::string_view > split(std::string_view, const char *)
def addToProcessAndTask(label, module, process, task)
Definition: helpers.py:29
def setupJetCorrections(process, knownModules, jetCorrections, jetSource, pvSource, patJets, labelName, postfix)
Definition: jetTools.py:26
_parameters
initialization of the base class
Definition: jetTools.py:1492
def toolCode(self, process)
Definition: jetTools.py:1577
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:237
def checkJetCorrectionsFormat(jetCorrections)
Definition: jetTools.py:18
def getPatAlgosToolsTask(process)
Definition: helpers.py:14
def unsupportedJetAlgorithm(obj)
Definition: jetTools.py:1835
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*","!HLTx*"if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL.It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of"!*"before the partial wildcard feature was incorporated).Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run

Member Data Documentation

jetTools.UpdateJetCollection._comment
private

add comments

Definition at line 1494 of file jetTools.py.

jetTools.UpdateJetCollection._defaultParameters
staticprivate

Definition at line 1444 of file jetTools.py.

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

jetTools.UpdateJetCollection._label
staticprivate
jetTools.UpdateJetCollection._parameters
private

initialization of the base class

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

Definition at line 1492 of file jetTools.py.

Referenced by runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.__call__(), 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.produceMET(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.recomputeRawMetFromPfcs(), HiCoreTools.RestrictInputToAOD.toolCode(), trackTools.MakeAODTrackCandidates.toolCode(), metTools.AddMETCollection.toolCode(), runJetUncertainties.RunJetUncertainties.toolCode(), HiCoreTools.RemoveMCMatching.toolCode(), trigTools.SwitchOnTrigger.toolCode(), trackTools.MakePATTrackCandidates.toolCode(), HiCoreTools.RemoveAllPATObjectsBut.toolCode(), HiCoreTools.RemoveSpecificPATObjects.toolCode(), trigTools.SwitchOnTriggerStandAlone.toolCode(), tauTools.AddTauCollection.toolCode(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.toolCode(), trackTools.MakeTrackCandidates.toolCode(), HiCoreTools.RemoveCleaning.toolCode(), trigTools.SwitchOnTriggerMatching.toolCode(), HiCoreTools.AddCleaning.toolCode(), trigTools.SwitchOnTriggerMatchingStandAlone.toolCode(), trigTools.SwitchOnTriggerMatchEmbedding.toolCode(), jetTools.UpdateJetCollection.toolCode(), jetTools.AddJetID.toolCode(), jetTools.SetTagInfos.toolCode(), and runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.updateJECs().