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, sortByPt=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 1509 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 1516 of file jetTools.py.

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, 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().

1516  def __init__(self):
1517  """
1518  Initialize elements of the class. Note that the tool needs to be derived from ConfigToolBase to be usable in the configEditor.
1519  """
1520  ## initialization of the base class
1521  ConfigToolBase.__init__(self)
1522  ## add all parameters that should be known to the class
1523  self.addParameter(self._defaultParameters,'labelName', '', "Label name of the new patJet collection.", str)
1524  self.addParameter(self._defaultParameters,'postfix','', "Postfix from usePF2PAT.", str)
1525  self.addParameter(self._defaultParameters,'btagPrefix','', "Prefix to be added to b-tag discriminator and TagInfo names", str)
1526  self.addParameter(self._defaultParameters,'jetSource','', "Label of the input collection from which the new patJet collection should be created", cms.InputTag)
1527  self.addParameter(self._defaultParameters,'pfCandidates',cms.InputTag('packedPFCandidates'), "Label of the input collection for candidatecandidatese used in b-tagging", cms.InputTag)
1528  self.addParameter(self._defaultParameters,'explicitJTA', False, "Use explicit jet-track association")
1529  self.addParameter(self._defaultParameters,'pvSource',cms.InputTag('offlineSlimmedPrimaryVertices'), "Label of the input collection for primary vertices used in b-tagging", cms.InputTag)
1530  self.addParameter(self._defaultParameters,'svSource',cms.InputTag('slimmedSecondaryVertices'), "Label of the input collection for IVF vertices used in b-tagging", cms.InputTag)
1531  self.addParameter(self._defaultParameters,'elSource',cms.InputTag('slimmedElectrons'), "Label of the input collection for electrons used in b-tagging", cms.InputTag)
1532  self.addParameter(self._defaultParameters,'muSource',cms.InputTag('slimmedMuons'), "Label of the input collection for muons used in b-tagging", cms.InputTag)
1533  self.addParameter(self._defaultParameters,'runIVF', False, "Re-run IVF secondary vertex reconstruction")
1534  self.addParameter(self._defaultParameters,'tightBTagNTkHits', False, "Enable legacy tight b-tag track selection")
1535  self.addParameter(self._defaultParameters,'loadStdRecoBTag', False, "Load the standard reconstruction b-tagging modules")
1536  self.addParameter(self._defaultParameters,'svClustering', False, "Secondary vertices ghost-associated to jets using jet clustering (mostly intended for subjets)")
1537  self.addParameter(self._defaultParameters,'fatJets', cms.InputTag(''), "Fat jet collection used for secondary vertex clustering", cms.InputTag)
1538  self.addParameter(self._defaultParameters,'groomedFatJets', cms.InputTag(''), "Groomed fat jet collection used for secondary vertex clustering", cms.InputTag)
1539  self.addParameter(self._defaultParameters,'algo', 'AK', "Jet algorithm of the input collection from which the new patJet collection should be created")
1540  self.addParameter(self._defaultParameters,'rParam', 0.4, "Jet size (distance parameter R used in jet clustering)")
1541  self.addParameter(self._defaultParameters,'sortByPt', True, "Set to False to not modify incoming jet order")
1542  self.addParameter(self._defaultParameters,'printWarning', True, "To be use as False in production to reduce log size")
1543  self.addParameter(self._defaultParameters,'jetCorrections',None, "Add all relevant information about jet energy corrections that you want to be added to your new patJet \
1544  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 \
1545  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 \
1546  new patJet collection. This should be given as a list of strings. Available values are L1Offset, L1FastJet, L1JPTOffset, L2Relative, L3Absolute, L5Falvour, L7Parton; the \
1547  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 \
1548  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 \
1549  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\' \
1550  and \'type-2\' are not case sensitive.", tuple, acceptNoneValue=True)
1551  self.addParameter(self._defaultParameters,'btagDiscriminators',['None'], "If you are interested in btagging, in most cases just the labels of the btag discriminators that \
1552  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. \
1553  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)
1554  self.addParameter(self._defaultParameters,'btagInfos',['None'], "The btagInfos objects contain all relevant information from which all discriminators of a certain \
1555  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 \
1556  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 \
1557  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 \
1558  will be added to your new patJet collection.", allowedValues=supportedBtagInfos,Type=list)
1559  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 \
1560  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 \
1561  to more than one output module.")
1562  ## set defaults
1563  self._parameters=copy.deepcopy(self._defaultParameters)
1564  ## add comments
1565  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\
1566  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 \
1567  the descriptions of each parameter for more information."
1568 
_parameters
initialization of the base class
Definition: jetTools.py:1563
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,
  sortByPt = 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 1575 of file jetTools.py.

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, jetTools.SwitchJetCollection._defaultParameters, jetTools.UpdateJetCollection._defaultParameters, SignedImpactParameter3D.apply(), gen::PhotosInterfaceBase.apply(), SurveyParameters.apply(), SignedTransverseImpactParameter.apply(), SignedDecayLength3D.apply(), MatrixReader.MatrixReader.apply, DummyOOTPileupCorrection.apply(), gen::PhotosppInterface.apply(), FWPSetCellEditor.apply(), gen::PhotosInterface.apply(), BeamSpotAlignmentParameters.apply(), RigidBodyAlignmentParameters.apply(), FWGUIEventFilter.apply(), DeviationsFromFileSensor2D.apply(), ConfigToolBase.ConfigToolBase.apply(), AlignmentParameters.apply(), BowedSurfaceAlignmentParameters.apply(), OOTPileupCorrData.apply(), Vispa.Plugins.ConfigEditor.ToolDataAccessor.ImportTool.apply(), Vispa.Plugins.ConfigEditor.ToolDataAccessor.ApplyTool.apply(), AbsOOTPileupCorrection.apply(), Vispa.Gui.BoxContentDialog.BoxContentDialog.apply(), reco::modules::TrackerTrackHitFilter::Rule.apply(), TwoBowedSurfacesAlignmentParameters.apply(), Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.apply(), reco::Add< T >.apply(), reco::Sub< T >.apply(), reco::Mul< T >.apply(), reco::Div< T >.apply(), cmsswVersionTools.PickRelValInputFiles.apply(), reco::And< bool >.apply(), models.RegExp.apply(), reco::Or< bool >.apply(), reco::Less< T >.apply(), reco::LessEqual< T >.apply(), reco::More< T >.apply(), reco::MoreEqual< T >.apply(), reco::Equal< T >.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(), SiPixelLorentzAngleCalibration.setParameter(), IntegratedCalibrationBase.setParameter(), SiStripBackplaneCalibration.setParameter(), fit::RootMinuit< Function >.setParameter(), and ConfigToolBase.ConfigToolBase.setParameter().

1575  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,sortByPt=None,printWarning=None,jetCorrections=None,btagDiscriminators=None,btagInfos=None):
1576  """
1577  Function call wrapper. This will check the parameters and call the actual implementation that
1578  can be found in toolCode via the base class function apply.
1579  """
1580  if labelName is None:
1581  labelName=self._defaultParameters['labelName'].value
1582  self.setParameter('labelName', labelName)
1583  if postfix is None:
1584  postfix=self._defaultParameters['postfix'].value
1585  self.setParameter('postfix', postfix)
1586  if btagPrefix is None:
1587  btagPrefix=self._defaultParameters['btagPrefix'].value
1588  self.setParameter('btagPrefix', btagPrefix)
1589  if jetSource is None:
1590  jetSource=self._defaultParameters['jetSource'].value
1591  self.setParameter('jetSource', jetSource)
1592  if pfCandidates is None:
1593  pfCandidates=self._defaultParameters['pfCandidates'].value
1594  self.setParameter('pfCandidates', pfCandidates)
1595  if explicitJTA is None:
1596  explicitJTA=self._defaultParameters['explicitJTA'].value
1597  self.setParameter('explicitJTA', explicitJTA)
1598  if pvSource is None:
1599  pvSource=self._defaultParameters['pvSource'].value
1600  self.setParameter('pvSource', pvSource)
1601  if svSource is None:
1602  svSource=self._defaultParameters['svSource'].value
1603  self.setParameter('svSource', svSource)
1604  if elSource is None:
1605  elSource=self._defaultParameters['elSource'].value
1606  self.setParameter('elSource', elSource)
1607  if muSource is None:
1608  muSource=self._defaultParameters['muSource'].value
1609  self.setParameter('muSource', muSource)
1610  if runIVF is None:
1611  runIVF=self._defaultParameters['runIVF'].value
1612  self.setParameter('runIVF', runIVF)
1613  if tightBTagNTkHits is None:
1614  tightBTagNTkHits=self._defaultParameters['tightBTagNTkHits'].value
1615  self.setParameter('tightBTagNTkHits', tightBTagNTkHits)
1616  if loadStdRecoBTag is None:
1617  loadStdRecoBTag=self._defaultParameters['loadStdRecoBTag'].value
1618  self.setParameter('loadStdRecoBTag', loadStdRecoBTag)
1619  if svClustering is None:
1620  svClustering=self._defaultParameters['svClustering'].value
1621  self.setParameter('svClustering', svClustering)
1622  if fatJets is None:
1623  fatJets=self._defaultParameters['fatJets'].value
1624  self.setParameter('fatJets', fatJets)
1625  if groomedFatJets is None:
1626  groomedFatJets=self._defaultParameters['groomedFatJets'].value
1627  self.setParameter('groomedFatJets', groomedFatJets)
1628  if algo is None:
1629  algo=self._defaultParameters['algo'].value
1630  self.setParameter('algo', algo)
1631  if rParam is None:
1632  rParam=self._defaultParameters['rParam'].value
1633  self.setParameter('rParam', rParam)
1634  if sortByPt is None:
1635  sortByPt=self._defaultParameters['sortByPt'].value
1636  self.setParameter('sortByPt', sortByPt)
1637  if printWarning is None:
1638  printWarning=self._defaultParameters['printWarning'].value
1639  self.setParameter('printWarning', printWarning)
1640  if jetCorrections is None:
1641  jetCorrections=self._defaultParameters['jetCorrections'].value
1642  self.setParameter('jetCorrections', jetCorrections)
1643  if btagDiscriminators is None:
1644  btagDiscriminators=self._defaultParameters['btagDiscriminators'].value
1645  self.setParameter('btagDiscriminators', btagDiscriminators)
1646  if btagInfos is None:
1647  btagInfos=self._defaultParameters['btagInfos'].value
1648  self.setParameter('btagInfos', btagInfos)
1649  self.apply(process)
1650 
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, sortByPt=None, printWarning=None, jetCorrections=None, btagDiscriminators=None, btagInfos=None)
Definition: jetTools.py:1575
def jetTools.UpdateJetCollection.getDefaultParameters (   self)
def jetTools.UpdateJetCollection.toolCode (   self,
  process 
)
Tool code implementation

Definition at line 1651 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(), split, jetTools.unsupportedJetAlgorithm(), and pileupCalc.upper.

1651  def toolCode(self, process):
1652  """
1653  Tool code implementation
1654  """
1655  ## initialize parameters
1656  labelName=self._parameters['labelName'].value
1657  postfix=self._parameters['postfix'].value
1658  btagPrefix=self._parameters['btagPrefix'].value
1659  jetSource=self._parameters['jetSource'].value
1660  pfCandidates=self._parameters['pfCandidates'].value
1661  explicitJTA=self._parameters['explicitJTA'].value
1662  pvSource=self._parameters['pvSource'].value
1663  svSource=self._parameters['svSource'].value
1664  elSource=self._parameters['elSource'].value
1665  muSource=self._parameters['muSource'].value
1666  runIVF=self._parameters['runIVF'].value
1667  tightBTagNTkHits=self._parameters['tightBTagNTkHits'].value
1668  loadStdRecoBTag=self._parameters['loadStdRecoBTag'].value
1669  svClustering=self._parameters['svClustering'].value
1670  fatJets=self._parameters['fatJets'].value
1671  groomedFatJets=self._parameters['groomedFatJets'].value
1672  algo=self._parameters['algo'].value
1673  rParam=self._parameters['rParam'].value
1674  sortByPt=self._parameters['sortByPt'].value
1675  printWarning=self._parameters['printWarning'].value
1676  jetCorrections=self._parameters['jetCorrections'].value
1677  btagDiscriminators=list(self._parameters['btagDiscriminators'].value)
1678  btagInfos=list(self._parameters['btagInfos'].value)
1679 
1680  ## a list of all producer modules, which are already known to process
1681  knownModules = process.producerNames().split()
1682  ## determine whether btagging information is required or not
1683  if btagDiscriminators.count('None')>0:
1684  btagDiscriminators.remove('None')
1685  if btagInfos.count('None')>0:
1686  btagInfos.remove('None')
1687  bTagging=(len(btagDiscriminators)>0 or len(btagInfos)>0)
1688 
1689  ## construct postfix label for auxiliary modules; this postfix
1690  ## label will start with a capitalized first letter following
1691  ## the CMS naming conventions and for improved readablility
1692  _labelName=labelName[:1].upper()+labelName[1:]
1693 
1694  ## supported algo types are ak, ca, and kt
1695  _algo=''
1696  for x in ["ak", "ca", "kt"]:
1697  if x in algo.lower():
1698  _algo=supportedJetAlgos[x]
1699  break
1700  if _algo=='':
1702 
1703  task = getPatAlgosToolsTask(process)
1704 
1705  ## add new updatedPatJets to process (keep instance for later further modifications)
1706  from PhysicsTools.PatAlgos.producersLayer1.jetUpdater_cfi import updatedPatJets
1707  if not sortByPt: # default is True
1708  updatedPatJets.sort = cms.bool(False)
1709  if 'updatedPatJets'+_labelName+postfix in knownModules :
1710  _newPatJets=getattr(process, 'updatedPatJets'+_labelName+postfix)
1711  _newPatJets.jetSource=jetSource
1712  else :
1713  addToProcessAndTask('updatedPatJets'+_labelName+postfix,
1714  updatedPatJets.clone(jetSource=jetSource,
1715  printWarning=printWarning), process, task)
1716  _newPatJets=getattr(process, 'updatedPatJets'+_labelName+postfix)
1717  knownModules.append('updatedPatJets'+_labelName+postfix)
1718  ## add new selectedUpdatedPatJets to process
1719  from PhysicsTools.PatAlgos.selectionLayer1.jetSelector_cfi import selectedPatJets
1720  if 'selectedUpdatedPatJets'+_labelName+postfix in knownModules :
1721  _newSelectedPatJets=getattr(process, 'selectedUpdatedPatJets'+_labelName+postfix)
1722  _newSelectedPatJets.src='updatedPatJets'+_labelName+postfix
1723  else :
1724  addToProcessAndTask('selectedUpdatedPatJets'+_labelName+postfix,
1725  selectedPatJets.clone(src='updatedPatJets'+_labelName+postfix),
1726  process, task)
1727  knownModules.append('selectedUpdatedPatJets'+_labelName+postfix)
1728 
1729  ## run btagging if required by user
1730  if (bTagging):
1731  if printWarning:
1732  sys.stderr.write("**************************************************************\n")
1733  sys.stderr.write("b tagging needs to be run on uncorrected jets. Hence, the JECs\n")
1734  sys.stderr.write("will first be undone for 'updatedPatJets%s' and then applied to\n" % (_labelName+postfix) )
1735  sys.stderr.write("'updatedPatJetsTransientCorrected%s'.\n" % (_labelName+postfix) )
1736  sys.stderr.write("**************************************************************\n")
1737  _jetSource = cms.InputTag('updatedPatJets'+_labelName+postfix)
1738  ## insert new jet collection with jet corrections applied and btag info added
1739  self(
1740  process,
1741  labelName = ('TransientCorrected'+_labelName),
1742  jetSource = _jetSource,
1743  pfCandidates=pfCandidates,
1744  explicitJTA=explicitJTA,
1745  pvSource=pvSource,
1746  svSource=svSource,
1747  elSource=elSource,
1748  muSource=muSource,
1749  runIVF=runIVF,
1750  tightBTagNTkHits=tightBTagNTkHits,
1751  loadStdRecoBTag=loadStdRecoBTag,
1752  svClustering=svClustering,
1753  fatJets=fatJets,
1754  groomedFatJets=groomedFatJets,
1755  algo=algo,
1756  rParam=rParam,
1757  jetCorrections = jetCorrections,
1758  btagPrefix = btagPrefix,
1759  postfix = postfix
1760  )
1761  ## setup btagging
1762  _patJets=getattr(process, 'updatedPatJetsTransientCorrected'+_labelName+postfix)
1763  setupBTagging(process, _jetSource, pfCandidates, explicitJTA, pvSource, svSource, elSource, muSource, runIVF, tightBTagNTkHits, loadStdRecoBTag, svClustering, fatJets, groomedFatJets,
1764  _algo, rParam, btagDiscriminators, btagInfos, _patJets, _labelName, btagPrefix, postfix)
1765  ## update final selected jets
1766  _newSelectedPatJets=getattr(process, 'selectedUpdatedPatJets'+_labelName+postfix)
1767  _newSelectedPatJets.src='updatedPatJetsTransientCorrected'+_labelName+postfix
1768  ## remove automatically added but redundant 'TransientCorrected' selected jets
1769  delattr(process, 'selectedUpdatedPatJetsTransientCorrected'+_labelName+postfix)
1770  else:
1771  _newPatJets.addBTagInfo = False
1772  _newPatJets.addTagInfos = False
1773 
1774  ## add jet correction factors if required by user
1775  if (jetCorrections is not None or bTagging):
1776  ## check the jet corrections format
1777  if jetCorrections is None and bTagging:
1778  raise ValueError("Passing jetCorrections = None while running bTagging is likely not intended.")
1779  else:
1780  checkJetCorrectionsFormat(jetCorrections)
1781  ## reset MET corrrection
1782  if jetCorrections[2].lower() != 'none' and jetCorrections[2] != '':
1783  sys.stderr.write("-------------------------------------------------------------------\n")
1784  sys.stderr.write(" Warning: MET correction was set to " + jetCorrections[2] + " but\n")
1785  sys.stderr.write(" will be ignored. Please set it to \"None\" to avoid\n")
1786  sys.stderr.write(" getting this warning.\n")
1787  sys.stderr.write("-------------------------------------------------------------------\n")
1788  jetCorrectionsList = list(jetCorrections)
1789  jetCorrectionsList[2] = 'None'
1790  jetCorrections = tuple(jetCorrectionsList)
1791  ## if running b tagging, need to use uncorrected jets
1792  if (bTagging):
1793  jetCorrections = ('AK4PFchs', cms.vstring([]), 'None')
1794  ## setup jet energy corrections
1795  setupJetCorrections(process, knownModules, jetCorrections, jetSource, pvSource, _newPatJets, _labelName, postfix)
1796  else:
1797  ## switch jetCorrFactors off
1798  _newPatJets.addJetCorrFactors=False
1799 
1800 updateJetCollection=UpdateJetCollection()
1801 
1802 
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:1563
def toolCode(self, process)
Definition: jetTools.py:1651
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
double split
Definition: MVATrainer.cc:139
def unsupportedJetAlgorithm(obj)
Definition: jetTools.py:1915
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 1565 of file jetTools.py.

jetTools.UpdateJetCollection._defaultParameters
staticprivate

Definition at line 1514 of file jetTools.py.

Referenced by HiCoreTools.RestrictInputToAOD.__call__(), trackTools.MakeAODTrackCandidates.__call__(), runJetUncertainties.RunJetUncertainties.__call__(), metTools.AddMETCollection.__call__(), editorTools.ChangeSource.__call__(), HiCoreTools.RemoveMCMatching.__call__(), trackTools.MakePATTrackCandidates.__call__(), trigTools.SwitchOnTrigger.__call__(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.__call__(), HiCoreTools.RemoveAllPATObjectsBut.__call__(), HiCoreTools.RemoveSpecificPATObjects.__call__(), trigTools.SwitchOnTriggerStandAlone.__call__(), trackTools.MakeTrackCandidates.__call__(), tauTools.AddTauCollection.__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__(), editorTools.UserCodeTool.__init__(), metTools.AddMETCollection.__init__(), trackTools.MakeAODTrackCandidates.__init__(), HiCoreTools.RestrictInputToAOD.__init__(), runJetUncertainties.RunJetUncertainties.__init__(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.__init__(), Vispa.Plugins.ConfigEditor.ToolDataAccessor.ImportTool.__init__(), editorTools.ChangeSource.__init__(), HiCoreTools.RemoveMCMatching.__init__(), trackTools.MakePATTrackCandidates.__init__(), trigTools.SwitchOnTrigger.__init__(), HiCoreTools.RemoveAllPATObjectsBut.__init__(), HiCoreTools.RemoveSpecificPATObjects.__init__(), trigTools.SwitchOnTriggerStandAlone.__init__(), trackTools.MakeTrackCandidates.__init__(), tauTools.AddTauCollection.__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(), editorTools.ChangeSource.getDefaultParameters(), HiCoreTools.RemoveMCMatching.getDefaultParameters(), trackTools.MakePATTrackCandidates.getDefaultParameters(), trigTools.SwitchOnTrigger.getDefaultParameters(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.getDefaultParameters(), HiCoreTools.RemoveAllPATObjectsBut.getDefaultParameters(), HiCoreTools.RemoveSpecificPATObjects.getDefaultParameters(), trigTools.SwitchOnTriggerStandAlone.getDefaultParameters(), trackTools.MakeTrackCandidates.getDefaultParameters(), tauTools.AddTauCollection.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 1563 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.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(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.toolCode(), trackTools.MakeTrackCandidates.toolCode(), tauTools.AddTauCollection.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().