CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes | Static Private Attributes
HiCoreTools.RemoveSpecificPATObjects Class Reference
Inheritance diagram for HiCoreTools.RemoveSpecificPATObjects:

Public Member Functions

def __call__
 
def __init__
 
def getDefaultParameters
 
def toolCode
 

Private Attributes

 _comment
 
 _parameters
 

Static Private Attributes

tuple _defaultParameters = dicttypes.SortedKeysDict()
 
string _label = 'removeSpecificPATObjects'
 

Detailed Description

Remove a specific PAT object from the default sequence

Definition at line 190 of file HiCoreTools.py.

Constructor & Destructor Documentation

def HiCoreTools.RemoveSpecificPATObjects.__init__ (   self)

Definition at line 196 of file HiCoreTools.py.

References metTools.AddMETCollection._defaultParameters, editorTools.UserCodeTool._defaultParameters, trackTools.MakeAODTrackCandidates._defaultParameters, heavyIonTools.ConfigureHeavyIons._defaultParameters, coreTools.RunOnData._defaultParameters, HiCoreTools.RestrictInputToAOD._defaultParameters, runJetUncertainties.RunJetUncertainties._defaultParameters, runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties._defaultParameters, Vispa.Plugins.ConfigEditor.ToolDataAccessor.ImportTool._defaultParameters, heavyIonTools.ProductionDefaults._defaultParameters, editorTools.ChangeSource._defaultParameters, cmsswVersionTools.PickRelValInputFiles._defaultParameters, HiCoreTools.RemoveMCMatching._defaultParameters, coreTools.RemoveMCMatching._defaultParameters, trackTools.MakePATTrackCandidates._defaultParameters, trigTools.SwitchOnTrigger._defaultParameters, heavyIonTools.SelectionDefaults._defaultParameters, HiCoreTools.RemoveAllPATObjectsBut._defaultParameters, heavyIonTools.DisbaleMonteCarloDeps._defaultParameters, HiCoreTools.RemoveSpecificPATObjects._defaultParameters, trigTools.SwitchOnTriggerStandAlone._defaultParameters, trackTools.MakeTrackCandidates._defaultParameters, trigTools.SwitchOnTriggerMatching._defaultParameters, jetTools.AddJetCollection._defaultParameters, tauTools.AddTauCollection._defaultParameters, trigTools.SwitchOnTriggerMatchingStandAlone._defaultParameters, trigTools.SwitchOnTriggerMatchEmbedding._defaultParameters, jetTools.SwitchJetCollection._defaultParameters, jetTools.UpdateJetCollection._defaultParameters, jetTools.AddJetID._defaultParameters, jetTools.SetTagInfos._defaultParameters, ConfigToolBase.ConfigToolBase._defaultValue, GenObject.GenObject._defaultValue, RootFunctionAdapter< F, args >.addParameter(), root::helper::RootFunctionAdapter< F, args >.addParameter(), root::helper::RootFunctionHelper< F, args, Tag >.addParameter(), root_function.addParameter(), ParameterMgr.addParameter(), RootMinuit< Function >.addParameter(), fit::RootMinuit< Function >.addParameter(), DropBoxMetadata::Parameters.addParameter(), PythonParameterSet.addParameter(), LutXml.addParameter(), ConfigToolBase.ConfigToolBase.addParameter(), and edm::ParameterSet.addParameter().

197  def __init__(self):
198  ConfigToolBase.__init__(self)
199  self.addParameter(self._defaultParameters,'names',self._defaultValue, "list of collection names; supported are 'Photons', 'Electrons', 'Muons', 'Taus', 'Jets', 'METs'", Type=list, allowedValues=['Photons', 'Electrons', 'Muons', 'Taus', 'Jets', 'METs'])
200  self.addParameter(self._defaultParameters,'outputInProcess',True,"indicate whether there is an output module specified for the process (default is True)" )
201  self.addParameter(self._defaultParameters,'postfix',"", "postfix of default sequence")
202  self._parameters=copy.deepcopy(self._defaultParameters)
203  self._comment = ""

Member Function Documentation

def HiCoreTools.RemoveSpecificPATObjects.__call__ (   self,
  process,
  names = None,
  outputInProcess = None,
  postfix = None 
)

Definition at line 210 of file HiCoreTools.py.

References metTools.AddMETCollection._defaultParameters, editorTools.UserCodeTool._defaultParameters, trackTools.MakeAODTrackCandidates._defaultParameters, heavyIonTools.ConfigureHeavyIons._defaultParameters, coreTools.RunOnData._defaultParameters, HiCoreTools.RestrictInputToAOD._defaultParameters, runJetUncertainties.RunJetUncertainties._defaultParameters, runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties._defaultParameters, Vispa.Plugins.ConfigEditor.ToolDataAccessor.ImportTool._defaultParameters, heavyIonTools.ProductionDefaults._defaultParameters, editorTools.ChangeSource._defaultParameters, cmsswVersionTools.PickRelValInputFiles._defaultParameters, HiCoreTools.RemoveMCMatching._defaultParameters, coreTools.RemoveMCMatching._defaultParameters, trackTools.MakePATTrackCandidates._defaultParameters, trigTools.SwitchOnTrigger._defaultParameters, heavyIonTools.SelectionDefaults._defaultParameters, HiCoreTools.RemoveAllPATObjectsBut._defaultParameters, heavyIonTools.DisbaleMonteCarloDeps._defaultParameters, HiCoreTools.RemoveSpecificPATObjects._defaultParameters, trigTools.SwitchOnTriggerStandAlone._defaultParameters, trackTools.MakeTrackCandidates._defaultParameters, trigTools.SwitchOnTriggerMatching._defaultParameters, jetTools.AddJetCollection._defaultParameters, tauTools.AddTauCollection._defaultParameters, trigTools.SwitchOnTriggerMatchingStandAlone._defaultParameters, trigTools.SwitchOnTriggerMatchEmbedding._defaultParameters, jetTools.SwitchJetCollection._defaultParameters, jetTools.UpdateJetCollection._defaultParameters, jetTools.AddJetID._defaultParameters, jetTools.SetTagInfos._defaultParameters, SignedImpactParameter3D.apply(), gen::PhotosInterfaceBase.apply(), SignedTransverseImpactParameter.apply(), SignedDecayLength3D.apply(), HcalDeterministicFit.apply(), MatrixReader.MatrixReader.apply, DummyOOTPileupCorrection.apply(), gen::PhotosppInterface.apply(), gen::PhotosInterface.apply(), SurveyParameters.apply(), FWPSetCellEditor.apply(), FWGUIEventFilter.apply(), DeviationsFromFileSensor2D.apply(), BeamSpotAlignmentParameters.apply(), RigidBodyAlignmentParameters.apply(), MatRepSparse< T, D1, D2, S, F >.apply(), ConfigToolBase.ConfigToolBase.apply(), AlignmentParameters.apply(), BowedSurfaceAlignmentParameters.apply(), OOTPileupCorrData.apply(), Vispa.Plugins.ConfigEditor.ToolDataAccessor.ImportTool.apply(), Vispa.Plugins.ConfigEditor.ToolDataAccessor.ApplyTool.apply(), AbsOOTPileupCorrection.apply(), TwoBowedSurfacesAlignmentParameters.apply(), Vispa.Gui.BoxContentDialog.BoxContentDialog.apply(), reco::modules::TrackerTrackHitFilter::Rule.apply(), PulseShapeFitOOTPileupCorrection.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(), reco::Or< bool >.apply(), reco::Less< T >.apply(), reco::LessEqual< T >.apply(), reco::More< T >.apply(), reco::MoreEqual< T >.apply(), reco::Equal< T >.apply(), ArrayND< Numeric, Len2, Dim2 >.apply(), ArrayND< Numeric, Len, Dim >.apply(), npstat::ArrayND< Numeric, StackLen, StackDim >.apply(), npstat::ArrayND< Num1, Len1, Dim1 >.apply(), ArrayND< Num2, Len2, Dim2 >.apply(), ArrayND< Accumulator >.apply(), npstat::ArrayND< Numeric >.apply(), Config.ProcessModifier.apply(), ora::OraMainTable.setParameter(), ora::IMainTable.setParameter(), PedeReader.setParameter(), ora::PoolMainTable.setParameter(), QIE8Simulator.setParameter(), AbsElectronicODERHS.setParameter(), IntegratedCalibrationBase.setParameter(), SiStripLorentzAngleCalibration.setParameter(), SiPixelLorentzAngleCalibration.setParameter(), SiStripBackplaneCalibration.setParameter(), fit::RootMinuit< Function >.setParameter(), RootMinuit< Function >.setParameter(), and ConfigToolBase.ConfigToolBase.setParameter().

Referenced by HiCoreTools.RemoveSpecificPATObjects.getDefaultParameters().

211  postfix = None) :
212  if names is None:
213  names=self._defaultParameters['names'].value
214  if outputInProcess is None:
215  outputInProcess=self._defaultParameters['outputInProcess'].value
216  if postfix is None:
217  postfix=self._defaultParameters['postfix'].value
218  self.setParameter('names',names)
219  self.setParameter('outputInProcess',outputInProcess)
220  self.setParameter('postfix',postfix)
221  self.apply(process)
def HiCoreTools.RemoveSpecificPATObjects.getDefaultParameters (   self)

Definition at line 204 of file HiCoreTools.py.

References HiCoreTools.RemoveSpecificPATObjects.__call__(), metTools.AddMETCollection._defaultParameters, editorTools.UserCodeTool._defaultParameters, trackTools.MakeAODTrackCandidates._defaultParameters, heavyIonTools.ConfigureHeavyIons._defaultParameters, coreTools.RunOnData._defaultParameters, HiCoreTools.RestrictInputToAOD._defaultParameters, runJetUncertainties.RunJetUncertainties._defaultParameters, runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties._defaultParameters, Vispa.Plugins.ConfigEditor.ToolDataAccessor.ImportTool._defaultParameters, heavyIonTools.ProductionDefaults._defaultParameters, editorTools.ChangeSource._defaultParameters, cmsswVersionTools.PickRelValInputFiles._defaultParameters, HiCoreTools.RemoveMCMatching._defaultParameters, coreTools.RemoveMCMatching._defaultParameters, trackTools.MakePATTrackCandidates._defaultParameters, trigTools.SwitchOnTrigger._defaultParameters, heavyIonTools.SelectionDefaults._defaultParameters, HiCoreTools.RemoveAllPATObjectsBut._defaultParameters, heavyIonTools.DisbaleMonteCarloDeps._defaultParameters, HiCoreTools.RemoveSpecificPATObjects._defaultParameters, trigTools.SwitchOnTriggerStandAlone._defaultParameters, trackTools.MakeTrackCandidates._defaultParameters, trigTools.SwitchOnTriggerMatching._defaultParameters, jetTools.AddJetCollection._defaultParameters, tauTools.AddTauCollection._defaultParameters, trigTools.SwitchOnTriggerMatchingStandAlone._defaultParameters, trigTools.SwitchOnTriggerMatchEmbedding._defaultParameters, jetTools.SwitchJetCollection._defaultParameters, jetTools.UpdateJetCollection._defaultParameters, jetTools.AddJetID._defaultParameters, and jetTools.SetTagInfos._defaultParameters.

205  def getDefaultParameters(self):
206  return self._defaultParameters
def HiCoreTools.RemoveSpecificPATObjects.toolCode (   self,
  process 
)

Definition at line 222 of file HiCoreTools.py.

References editorTools.UserCodeTool._parameters, heavyIonTools.ConfigureHeavyIons._parameters, HiCoreTools.RestrictInputToAOD._parameters, coreTools.RunOnData._parameters, trackTools.MakeAODTrackCandidates._parameters, metTools.AddMETCollection._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, HiCoreTools.RemoveMCMatching._parameters, cmsswVersionTools.PickRelValInputFiles._parameters, coreTools.RemoveMCMatching._parameters, trackTools.MakePATTrackCandidates._parameters, trigTools.SwitchOnTrigger._parameters, heavyIonTools.SelectionDefaults._parameters, HiCoreTools.RemoveAllPATObjectsBut._parameters, heavyIonTools.DisbaleMonteCarloDeps._parameters, HiCoreTools.RemoveSpecificPATObjects._parameters, trigTools.SwitchOnTriggerStandAlone._parameters, trackTools.MakeTrackCandidates._parameters, trigTools.SwitchOnTriggerMatching._parameters, jetTools.AddJetCollection._parameters, tauTools.AddTauCollection._parameters, trigTools.SwitchOnTriggerMatchingStandAlone._parameters, trigTools.SwitchOnTriggerMatchEmbedding._parameters, jetTools.SwitchJetCollection._parameters, jetTools.UpdateJetCollection._parameters, jetTools.AddJetID._parameters, jetTools.SetTagInfos._parameters, helpers.applyPostfix(), citk.if(), helpers.jetCollectionString(), python.multivaluedict.remove(), and helpers.removeIfInSequence().

223  def toolCode(self, process):
224  names=self._parameters['names'].value
225  outputInProcess=self._parameters['outputInProcess'].value
226  postfix=self._parameters['postfix'].value
227  ## remove pre object production steps from the default sequence
228 
229  for obj in range(len(names)):
230  if( names[obj] == 'Photons' ):
231  removeIfInSequence(process, 'patPhotonIsolation', "patHeavyIonDefaultSequence", postfix)
232  removeIfInSequence(process, 'photonMatch', "patHeavyIonDefaultSequence", postfix)
233  if( names[obj] == 'Muons' ):
234  removeIfInSequence(process, 'muonMatch', "patHeavyIonDefaultSequence", postfix)
235  if( names[obj] == 'Taus' ):
236  removeIfInSequence(process, 'patPFCandidateIsoDepositSelection', "patHeavyIonDefaultSequence", postfix)
237  removeIfInSequence(process, 'patPFTauIsolation', "patHeavyIonDefaultSequence", postfix)
238  removeIfInSequence(process, 'tauMatch', "patHeavyIonDefaultSequence", postfix)
239  removeIfInSequence(process, 'tauGenJets', "patHeavyIonDefaultSequence", postfix)
240  removeIfInSequence(process, 'tauGenJetsSelectorAllHadrons', "patHeavyIonDefaultSequence", postfix)
241  removeIfInSequence(process, 'tauGenJetMatch', "patHeavyIonDefaultSequence", postfix)
242  if( names[obj] == 'Jets' ):
243  removeIfInSequence(process, 'patJetCharge', "patHeavyIonDefaultSequence", postfix)
244  removeIfInSequence(process, 'patJetCorrections', "patHeavyIonDefaultSequence", postfix)
245  removeIfInSequence(process, 'patJetPartonMatch', "patHeavyIonDefaultSequence", postfix)
246  removeIfInSequence(process, 'patJetGenJetMatch', "patHeavyIonDefaultSequence", postfix)
247 # removeIfInSequence(process, 'patJetFlavourId', "patHeavyIonDefaultSequence", postfix)
248  if( names[obj] == 'METs' ):
249  removeIfInSequence(process, 'patMETCorrections', "patHeavyIonDefaultSequence", postfix)
250 
251  ## remove object production steps from the default sequence
252  if( names[obj] == 'METs' ):
253  process.patCandidates.remove( getattr(process, 'pat'+names[obj]) )
254  else:
255  if( names[obj] == 'Jets' ):
256  applyPostfix(process,"patCandidates",postfix).remove(
257  getattr(process, jetCollectionString()+postfix) )
258  applyPostfix(process,"selectedPatCandidates",postfix).remove(
259  getattr(process, jetCollectionString('selected')+postfix) )
260  applyPostfix(process,"countPatCandidates",postfix).remove(
261  getattr(process, jetCollectionString('count')+postfix) )
262  else:
263  applyPostfix(process,"patCandidates",postfix).remove(
264  getattr(process, 'pat'+names[obj]+postfix) )
265  applyPostfix(process,"selectedPatCandidates",postfix).remove(
266  getattr(process, 'selectedPat'+names[obj]+postfix) )
267  applyPostfix(process,"countPatCandidates",postfix).remove(
268  getattr(process, 'countPat'+names[obj]+postfix) )
269  ## in the case of leptons, the lepton counter must be modified as well
270  if( names[obj] == 'Electrons' ):
271  print 'removed from lepton counter: electrons'
272  applyPostfix(process,"countPatLeptons",postfix).countElectrons = False
273  elif( names[obj] == 'Muons' ):
274  print 'removed from lepton counter: muons'
275  applyPostfix(process,"countPatLeptons",postfix).countMuons = False
276  elif( names[obj] == 'Taus' ):
277  print 'removed from lepton counter: taus'
278  applyPostfix(process,"countPatLeptons",postfix).countTaus = False
279  ## remove from summary
280  if( names[obj] == 'METs' ):
281  applyPostfix(process,"patCandidateSummary",postfix).candidates.remove(
282  cms.InputTag('pat'+names[obj]+postfix) )
283  else:
284  if( names[obj] == 'Jets' ):
285  applyPostfix(process,"patCandidateSummary",postfix).candidates.remove(
286  cms.InputTag(jetCollectionString()+postfix) )
287  applyPostfix(process,"selectedPatCandidateSummary",postfix).candidates.remove(
288  cms.InputTag(jetCollectionString('selected')+postfix) )
289  applyPostfix(process,"cleanPatCandidateSummary",postfix).candidates.remove(
290  cms.InputTag(jetCollectionString('clean')+postfix) )
291  else:
292  applyPostfix(process,"patCandidateSummary",postfix).candidates.remove(
293  cms.InputTag('pat'+names[obj]+postfix) )
294  applyPostfix(process,"selectedPatCandidateSummary",postfix).candidates.remove(
295  cms.InputTag('selectedPat'+names[obj]+postfix) )
296  getattr(process,"cleanPatCandidateSummary"+postfix).candidates.remove(
297  cms.InputTag('cleanPat'+names[obj]+postfix) )
298  ## remove cleaning for the moment; in principle only the removed object
299  ## could be taken out of the checkOverlaps PSet
300  if ( outputInProcess ):
301  print "---------------------------------------------------------------------"
302  print "INFO : some objects have been removed from the sequence. Switching "
303  print " off PAT cross collection cleaning, as it might be of limited"
304  print " sense now. If you still want to keep object collection cross"
305  print " cleaning within PAT you need to run and configure it by hand"
306  removeCleaning(process)
307 
308 
309 removeSpecificPATObjects=RemoveSpecificPATObjects()
310 
def jetCollectionString
Definition: helpers.py:266
def applyPostfix
Definition: helpers.py:70
if(c.getParameter< edm::InputTag >("puppiValueMap").label().size()!=0)
def removeIfInSequence
Definition: helpers.py:78

Member Data Documentation

HiCoreTools.RemoveSpecificPATObjects._comment
private

Definition at line 202 of file HiCoreTools.py.

Referenced by runJetUncertainties.RunJetUncertainties.__init__(), and runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.__init__().

tuple HiCoreTools.RemoveSpecificPATObjects._defaultParameters = dicttypes.SortedKeysDict()
staticprivate

Definition at line 195 of file HiCoreTools.py.

Referenced by HiCoreTools.RemoveSpecificPATObjects.__call__(), HiCoreTools.RemoveCleaning.__call__(), HiCoreTools.AddCleaning.__call__(), HiCoreTools.RemoveSpecificPATObjects.__init__(), HiCoreTools.RemoveCleaning.__init__(), HiCoreTools.AddCleaning.__init__(), ConfigToolBase.ConfigToolBase.dumpPython(), ConfigToolBase.ConfigToolBase.getAllowedValues(), HiCoreTools.RemoveSpecificPATObjects.getDefaultParameters(), HiCoreTools.RemoveCleaning.getDefaultParameters(), HiCoreTools.AddCleaning.getDefaultParameters(), ConfigToolBase.ConfigToolBase.reset(), and ConfigToolBase.ConfigToolBase.setParameter().

string HiCoreTools.RemoveSpecificPATObjects._label = 'removeSpecificPATObjects'
staticprivate

Definition at line 194 of file HiCoreTools.py.

Referenced by validation.SimpleSample.digest(), and validation.SimpleSample.label().

HiCoreTools.RemoveSpecificPATObjects._parameters
private

Definition at line 201 of file HiCoreTools.py.

Referenced by runJetUncertainties.RunJetUncertainties.__init__(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.__init__(), runJetUncertainties.RunJetUncertainties.toolCode(), HiCoreTools.RemoveSpecificPATObjects.toolCode(), HiCoreTools.RemoveCleaning.toolCode(), and HiCoreTools.AddCleaning.toolCode().