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 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,'printWarning', True, "To be use as False in production to reduce log size")
1539  self.addParameter(self._defaultParameters,'jetCorrections',None, "Add all relevant information about jet energy corrections that you want to be added to your new patJet \
1540  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 \
1541  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 \
1542  new patJet collection. This should be given as a list of strings. Available values are L1Offset, L1FastJet, L1JPTOffset, L2Relative, L3Absolute, L5Falvour, L7Parton; the \
1543  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 \
1544  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 \
1545  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\' \
1546  and \'type-2\' are not case sensitive.", tuple, acceptNoneValue=True)
1547  self.addParameter(self._defaultParameters,'btagDiscriminators',['None'], "If you are interested in btagging, in most cases just the labels of the btag discriminators that \
1548  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. \
1549  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)
1550  self.addParameter(self._defaultParameters,'btagInfos',['None'], "The btagInfos objects contain all relevant information from which all discriminators of a certain \
1551  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 \
1552  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 \
1553  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 \
1554  will be added to your new patJet collection.", allowedValues=supportedBtagInfos,Type=list)
1555  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 \
1556  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 \
1557  to more than one output module.")
1558  ## set defaults
1559  self._parameters=copy.deepcopy(self._defaultParameters)
1560  ## add comments
1561  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\
1562  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 \
1563  the descriptions of each parameter for more information."
1564 
_parameters
initialization of the base class
Definition: jetTools.py:1559
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 1571 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().

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

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

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