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 1468 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 1475 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().

1475  def __init__(self):
1476  """
1477  Initialize elements of the class. Note that the tool needs to be derived from ConfigToolBase to be usable in the configEditor.
1478  """
1479  ## initialization of the base class
1480  ConfigToolBase.__init__(self)
1481  ## add all parameters that should be known to the class
1482  self.addParameter(self._defaultParameters,'labelName', '', "Label name of the new patJet collection.", str)
1483  self.addParameter(self._defaultParameters,'postfix','', "Postfix from usePF2PAT.", str)
1484  self.addParameter(self._defaultParameters,'btagPrefix','', "Prefix to be added to b-tag discriminator and TagInfo names", str)
1485  self.addParameter(self._defaultParameters,'jetSource','', "Label of the input collection from which the new patJet collection should be created", cms.InputTag)
1486  self.addParameter(self._defaultParameters,'pfCandidates',cms.InputTag('packedPFCandidates'), "Label of the input collection for candidatecandidatese used in b-tagging", cms.InputTag)
1487  self.addParameter(self._defaultParameters,'explicitJTA', False, "Use explicit jet-track association")
1488  self.addParameter(self._defaultParameters,'pvSource',cms.InputTag('offlineSlimmedPrimaryVertices'), "Label of the input collection for primary vertices used in b-tagging", cms.InputTag)
1489  self.addParameter(self._defaultParameters,'svSource',cms.InputTag('slimmedSecondaryVertices'), "Label of the input collection for IVF vertices used in b-tagging", cms.InputTag)
1490  self.addParameter(self._defaultParameters,'elSource',cms.InputTag('slimmedElectrons'), "Label of the input collection for electrons used in b-tagging", cms.InputTag)
1491  self.addParameter(self._defaultParameters,'muSource',cms.InputTag('slimmedMuons'), "Label of the input collection for muons used in b-tagging", cms.InputTag)
1492  self.addParameter(self._defaultParameters,'runIVF', False, "Re-run IVF secondary vertex reconstruction")
1493  self.addParameter(self._defaultParameters,'tightBTagNTkHits', False, "Enable legacy tight b-tag track selection")
1494  self.addParameter(self._defaultParameters,'loadStdRecoBTag', False, "Load the standard reconstruction b-tagging modules")
1495  self.addParameter(self._defaultParameters,'svClustering', False, "Secondary vertices ghost-associated to jets using jet clustering (mostly intended for subjets)")
1496  self.addParameter(self._defaultParameters,'fatJets', cms.InputTag(''), "Fat jet collection used for secondary vertex clustering", cms.InputTag)
1497  self.addParameter(self._defaultParameters,'groomedFatJets', cms.InputTag(''), "Groomed fat jet collection used for secondary vertex clustering", cms.InputTag)
1498  self.addParameter(self._defaultParameters,'algo', 'AK', "Jet algorithm of the input collection from which the new patJet collection should be created")
1499  self.addParameter(self._defaultParameters,'rParam', 0.4, "Jet size (distance parameter R used in jet clustering)")
1500  self.addParameter(self._defaultParameters,'printWarning', True, "To be use as False in production to reduce log size")
1501  self.addParameter(self._defaultParameters,'jetCorrections',None, "Add all relevant information about jet energy corrections that you want to be added to your new patJet \
1502  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 \
1503  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 \
1504  new patJet collection. This should be given as a list of strings. Available values are L1Offset, L1FastJet, L1JPTOffset, L2Relative, L3Absolute, L5Falvour, L7Parton; the \
1505  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 \
1506  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 \
1507  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\' \
1508  and \'type-2\' are not case sensitive.", tuple, acceptNoneValue=True)
1509  self.addParameter(self._defaultParameters,'btagDiscriminators',['None'], "If you are interested in btagging, in most cases just the labels of the btag discriminators that \
1510  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. \
1511  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)
1512  self.addParameter(self._defaultParameters,'btagInfos',['None'], "The btagInfos objects contain all relevant information from which all discriminators of a certain \
1513  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 \
1514  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 \
1515  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 \
1516  will be added to your new patJet collection.", allowedValues=supportedBtagInfos,Type=list)
1517  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 \
1518  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 \
1519  to more than one output module.")
1520  ## set defaults
1521  self._parameters=copy.deepcopy(self._defaultParameters)
1522  ## add comments
1523  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\
1524  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 \
1525  the descriptions of each parameter for more information."
1526 
_parameters
initialization of the base class
Definition: jetTools.py:1521
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 1533 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().

1533  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):
1534  """
1535  Function call wrapper. This will check the parameters and call the actual implementation that
1536  can be found in toolCode via the base class function apply.
1537  """
1538  if labelName is None:
1539  labelName=self._defaultParameters['labelName'].value
1540  self.setParameter('labelName', labelName)
1541  if postfix is None:
1542  postfix=self._defaultParameters['postfix'].value
1543  self.setParameter('postfix', postfix)
1544  if btagPrefix is None:
1545  btagPrefix=self._defaultParameters['btagPrefix'].value
1546  self.setParameter('btagPrefix', btagPrefix)
1547  if jetSource is None:
1548  jetSource=self._defaultParameters['jetSource'].value
1549  self.setParameter('jetSource', jetSource)
1550  if pfCandidates is None:
1551  pfCandidates=self._defaultParameters['pfCandidates'].value
1552  self.setParameter('pfCandidates', pfCandidates)
1553  if explicitJTA is None:
1554  explicitJTA=self._defaultParameters['explicitJTA'].value
1555  self.setParameter('explicitJTA', explicitJTA)
1556  if pvSource is None:
1557  pvSource=self._defaultParameters['pvSource'].value
1558  self.setParameter('pvSource', pvSource)
1559  if svSource is None:
1560  svSource=self._defaultParameters['svSource'].value
1561  self.setParameter('svSource', svSource)
1562  if elSource is None:
1563  elSource=self._defaultParameters['elSource'].value
1564  self.setParameter('elSource', elSource)
1565  if muSource is None:
1566  muSource=self._defaultParameters['muSource'].value
1567  self.setParameter('muSource', muSource)
1568  if runIVF is None:
1569  runIVF=self._defaultParameters['runIVF'].value
1570  self.setParameter('runIVF', runIVF)
1571  if tightBTagNTkHits is None:
1572  tightBTagNTkHits=self._defaultParameters['tightBTagNTkHits'].value
1573  self.setParameter('tightBTagNTkHits', tightBTagNTkHits)
1574  if loadStdRecoBTag is None:
1575  loadStdRecoBTag=self._defaultParameters['loadStdRecoBTag'].value
1576  self.setParameter('loadStdRecoBTag', loadStdRecoBTag)
1577  if svClustering is None:
1578  svClustering=self._defaultParameters['svClustering'].value
1579  self.setParameter('svClustering', svClustering)
1580  if fatJets is None:
1581  fatJets=self._defaultParameters['fatJets'].value
1582  self.setParameter('fatJets', fatJets)
1583  if groomedFatJets is None:
1584  groomedFatJets=self._defaultParameters['groomedFatJets'].value
1585  self.setParameter('groomedFatJets', groomedFatJets)
1586  if algo is None:
1587  algo=self._defaultParameters['algo'].value
1588  self.setParameter('algo', algo)
1589  if rParam is None:
1590  rParam=self._defaultParameters['rParam'].value
1591  self.setParameter('rParam', rParam)
1592  if printWarning is None:
1593  printWarning=self._defaultParameters['printWarning'].value
1594  self.setParameter('printWarning', printWarning)
1595  if jetCorrections is None:
1596  jetCorrections=self._defaultParameters['jetCorrections'].value
1597  self.setParameter('jetCorrections', jetCorrections)
1598  if btagDiscriminators is None:
1599  btagDiscriminators=self._defaultParameters['btagDiscriminators'].value
1600  self.setParameter('btagDiscriminators', btagDiscriminators)
1601  if btagInfos is None:
1602  btagInfos=self._defaultParameters['btagInfos'].value
1603  self.setParameter('btagInfos', btagInfos)
1604  self.apply(process)
1605 
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:1533
def jetTools.UpdateJetCollection.getDefaultParameters (   self)
def jetTools.UpdateJetCollection.toolCode (   self,
  process 
)
Tool code implementation

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

1606  def toolCode(self, process):
1607  """
1608  Tool code implementation
1609  """
1610  ## initialize parameters
1611  labelName=self._parameters['labelName'].value
1612  postfix=self._parameters['postfix'].value
1613  btagPrefix=self._parameters['btagPrefix'].value
1614  jetSource=self._parameters['jetSource'].value
1615  pfCandidates=self._parameters['pfCandidates'].value
1616  explicitJTA=self._parameters['explicitJTA'].value
1617  pvSource=self._parameters['pvSource'].value
1618  svSource=self._parameters['svSource'].value
1619  elSource=self._parameters['elSource'].value
1620  muSource=self._parameters['muSource'].value
1621  runIVF=self._parameters['runIVF'].value
1622  tightBTagNTkHits=self._parameters['tightBTagNTkHits'].value
1623  loadStdRecoBTag=self._parameters['loadStdRecoBTag'].value
1624  svClustering=self._parameters['svClustering'].value
1625  fatJets=self._parameters['fatJets'].value
1626  groomedFatJets=self._parameters['groomedFatJets'].value
1627  algo=self._parameters['algo'].value
1628  rParam=self._parameters['rParam'].value
1629  printWarning=self._parameters['printWarning'].value
1630  jetCorrections=self._parameters['jetCorrections'].value
1631  btagDiscriminators=list(self._parameters['btagDiscriminators'].value)
1632  btagInfos=list(self._parameters['btagInfos'].value)
1633 
1634  ## a list of all producer modules, which are already known to process
1635  knownModules = process.producerNames().split()
1636  ## determine whether btagging information is required or not
1637  if btagDiscriminators.count('None')>0:
1638  btagDiscriminators.remove('None')
1639  if btagInfos.count('None')>0:
1640  btagInfos.remove('None')
1641  bTagging=(len(btagDiscriminators)>0 or len(btagInfos)>0)
1642 
1643  ## construct postfix label for auxiliary modules; this postfix
1644  ## label will start with a capitalized first letter following
1645  ## the CMS naming conventions and for improved readablility
1646  _labelName=labelName[:1].upper()+labelName[1:]
1647 
1648  ## supported algo types are ak, ca, and kt
1649  _algo=''
1650  for x in ["ak", "ca", "kt"]:
1651  if x in algo.lower():
1652  _algo=supportedJetAlgos[x]
1653  break
1654  if _algo=='':
1656 
1657  task = getPatAlgosToolsTask(process)
1658 
1659  ## add new updatedPatJets to process (keep instance for later further modifications)
1660  from PhysicsTools.PatAlgos.producersLayer1.jetUpdater_cfi import updatedPatJets
1661  if 'updatedPatJets'+_labelName+postfix in knownModules :
1662  _newPatJets=getattr(process, 'updatedPatJets'+_labelName+postfix)
1663  _newPatJets.jetSource=jetSource
1664  else :
1665  addToProcessAndTask('updatedPatJets'+_labelName+postfix,
1666  updatedPatJets.clone(jetSource=jetSource,
1667  printWarning=printWarning), process, task)
1668  _newPatJets=getattr(process, 'updatedPatJets'+_labelName+postfix)
1669  knownModules.append('updatedPatJets'+_labelName+postfix)
1670  ## add new selectedUpdatedPatJets to process
1671  from PhysicsTools.PatAlgos.selectionLayer1.jetSelector_cfi import selectedPatJets
1672  if 'selectedUpdatedPatJets'+_labelName+postfix in knownModules :
1673  _newSelectedPatJets=getattr(process, 'selectedUpdatedPatJets'+_labelName+postfix)
1674  _newSelectedPatJets.src='updatedPatJets'+_labelName+postfix
1675  else :
1676  addToProcessAndTask('selectedUpdatedPatJets'+_labelName+postfix,
1677  selectedPatJets.clone(src='updatedPatJets'+_labelName+postfix),
1678  process, task)
1679  knownModules.append('selectedUpdatedPatJets'+_labelName+postfix)
1680 
1681  ## run btagging if required by user
1682  if (bTagging):
1683  if printWarning:
1684  sys.stderr.write("**************************************************************\n")
1685  sys.stderr.write("b tagging needs to be run on uncorrected jets. Hence, the JECs\n")
1686  sys.stderr.write("will first be undone for 'updatedPatJets%s' and then applied to\n" % (_labelName+postfix) )
1687  sys.stderr.write("'updatedPatJetsTransientCorrected%s'.\n" % (_labelName+postfix) )
1688  sys.stderr.write("**************************************************************\n")
1689  _jetSource = cms.InputTag('updatedPatJets'+_labelName+postfix)
1690  ## insert new jet collection with jet corrections applied and btag info added
1691  self(
1692  process,
1693  labelName = ('TransientCorrected'+_labelName),
1694  jetSource = _jetSource,
1695  pfCandidates=pfCandidates,
1696  explicitJTA=explicitJTA,
1697  pvSource=pvSource,
1698  svSource=svSource,
1699  elSource=elSource,
1700  muSource=muSource,
1701  runIVF=runIVF,
1702  tightBTagNTkHits=tightBTagNTkHits,
1703  loadStdRecoBTag=loadStdRecoBTag,
1704  svClustering=svClustering,
1705  fatJets=fatJets,
1706  groomedFatJets=groomedFatJets,
1707  algo=algo,
1708  rParam=rParam,
1709  jetCorrections = jetCorrections,
1710  btagPrefix = btagPrefix,
1711  postfix = postfix
1712  )
1713  ## setup btagging
1714  _patJets=getattr(process, 'updatedPatJetsTransientCorrected'+_labelName+postfix)
1715  setupBTagging(process, _jetSource, pfCandidates, explicitJTA, pvSource, svSource, elSource, muSource, runIVF, tightBTagNTkHits, loadStdRecoBTag, svClustering, fatJets, groomedFatJets,
1716  _algo, rParam, btagDiscriminators, btagInfos, _patJets, _labelName, btagPrefix, postfix)
1717  ## update final selected jets
1718  _newSelectedPatJets=getattr(process, 'selectedUpdatedPatJets'+_labelName+postfix)
1719  _newSelectedPatJets.src='updatedPatJetsTransientCorrected'+_labelName+postfix
1720  ## remove automatically added but redundant 'TransientCorrected' selected jets
1721  delattr(process, 'selectedUpdatedPatJetsTransientCorrected'+_labelName+postfix)
1722  else:
1723  _newPatJets.addBTagInfo = False
1724  _newPatJets.addTagInfos = False
1725 
1726  ## add jet correction factors if required by user
1727  if (jetCorrections != None or bTagging):
1728  ## check the jet corrections format
1729  checkJetCorrectionsFormat(jetCorrections)
1730  ## reset MET corrrection
1731  if jetCorrections[2].lower() != 'none' and jetCorrections[2] != '':
1732  sys.stderr.write("-------------------------------------------------------------------\n")
1733  sys.stderr.write(" Warning: MET correction was set to " + jetCorrections[2] + " but\n")
1734  sys.stderr.write(" will be ignored. Please set it to \"None\" to avoid\n")
1735  sys.stderr.write(" getting this warning.\n")
1736  sys.stderr.write("-------------------------------------------------------------------\n")
1737  jetCorrectionsList = list(jetCorrections)
1738  jetCorrectionsList[2] = 'None'
1739  jetCorrections = tuple(jetCorrectionsList)
1740  ## if running b tagging, need to use uncorrected jets
1741  if (bTagging):
1742  jetCorrections = ('AK4PFchs', cms.vstring([]), 'None')
1743  ## setup jet energy corrections
1744  setupJetCorrections(process, knownModules, jetCorrections, jetSource, pvSource, _newPatJets, _labelName, postfix)
1745  else:
1746  ## switch jetCorrFactors off
1747  _newPatJets.addJetCorrFactors=False
1748 
1749 updateJetCollection=UpdateJetCollection()
1750 
1751 
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:1521
def toolCode(self, process)
Definition: jetTools.py:1606
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:1864
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 1523 of file jetTools.py.

jetTools.UpdateJetCollection._defaultParameters
staticprivate

Definition at line 1473 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 1521 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().