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 1506 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 1513 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().

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

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

Definition at line 1648 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.

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

jetTools.UpdateJetCollection._defaultParameters
staticprivate

Definition at line 1511 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 1560 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().