CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes

trigTools::RemoveCleaningFromTriggerMatching Class Reference

Inherits FWCore::GuiBrowsers::ConfigToolBase::ConfigToolBase.

List of all members.

Public Member Functions

def __call__
def __init__
def getDefaultParameters
def toolCode

Private Member Functions

def _renameMatchers

Private Attributes

 _comment
 _parameters

Static Private Attributes

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

Detailed Description

Removes cleaning from already existing PAT trigger matching/embedding configuration
RemoveCleaningFromTriggerMatching( [cms.Process], outputModule = 'out' )
- [cms.Process]  : the 'cms.Process'
- sequence       : name of sequence to use;
                   optional, default: 'patDefaultSequence'
- outputModule   : output module label;
                   empty label indicates no output;
                   optional, default: 'out'
Using None as any argument restores its default value.

Definition at line 672 of file trigTools.py.


Constructor & Destructor Documentation

def trigTools::RemoveCleaningFromTriggerMatching::__init__ (   self)

Definition at line 686 of file trigTools.py.

00687                         :
00688         ConfigToolBase.__init__( self )
00689         self.addParameter( self._defaultParameters, 'sequence'    , _defaultSequence    , _defaultSequenceComment )
00690         self.addParameter( self._defaultParameters, 'outputModule', _defaultOutputModule, _defaultOutputModuleComment )
00691         self._parameters = copy.deepcopy( self._defaultParameters )
00692         self._comment = ""


Member Function Documentation

def trigTools::RemoveCleaningFromTriggerMatching::__call__ (   self,
  process,
  sequence = None,
  outputModule = None 
)

Definition at line 696 of file trigTools.py.

00700                  :
00701         if sequence is None:
00702             sequence = self._defaultParameters[ 'sequence' ].value
00703         if outputModule is None:
00704             outputModule = self._defaultParameters[ 'outputModule' ].value
00705         self.setParameter( 'sequence'    , sequence )
00706         self.setParameter( 'outputModule', outputModule )
00707         self.apply( process )

def trigTools::RemoveCleaningFromTriggerMatching::_renameMatchers (   self,
  matchers,
  oldModules 
) [private]

Definition at line 762 of file trigTools.py.

00763                                                      :
00764         for matcher in range( len( matchers ) ):
00765             if matchers[ matcher ] in oldModules:
00766                 if matchers[ matcher ][ : 5 ] == 'clean':
00767                      matchers[ matcher ] = matchers[ matcher ].replace( 'clean', 'selected' )
00768         return matchers

def trigTools::RemoveCleaningFromTriggerMatching::getDefaultParameters (   self)

Definition at line 693 of file trigTools.py.

00694                                     :
00695         return self._defaultParameters

def trigTools::RemoveCleaningFromTriggerMatching::toolCode (   self,
  process 
)

Definition at line 708 of file trigTools.py.

00709                                  :
00710         sequence     = self._parameters[ 'sequence' ].value
00711         outputModule = self._parameters[ 'outputModule' ].value
00712 
00713         # Maintain configurations
00714         listMatchers = [ 'PATTriggerMatcherDRLessByR'
00715                        , 'PATTriggerMatcherDRDPtLessByR'
00716                        , 'PATTriggerMatcherDRLessByPt'
00717                        , 'PATTriggerMatcherDRDPtLessByPt'
00718                        , 'PATTriggerMatcherDEtaLessByDR'
00719                        , 'PATTriggerMatcherDEtaLessByDEta'
00720                        ]
00721         listEmbedders = [ 'PATTriggerMatchPhotonEmbedder'
00722                         , 'PATTriggerMatchElectronEmbedder'
00723                         , 'PATTriggerMatchMuonEmbedder'
00724                         , 'PATTriggerMatchTauEmbedder'
00725                         , 'PATTriggerMatchJetEmbedder'
00726                         , 'PATTriggerMatchMETEmbedder'
00727                         ]
00728         modules = _modulesInSequence( process, sequence )
00729         oldModules = []
00730         # input source labels
00731         for module in modules:
00732             if hasattr( process, module ):
00733                 trigMod = getattr( process, module )
00734                 if trigMod.type_() in listMatchers or trigMod.type_() in listEmbedders:
00735                     if trigMod.src.value()[ : 8 ] == 'cleanPat':
00736                         trigMod.src = trigMod.src.value().replace( 'cleanPat', 'selectedPat' )
00737                         if trigMod.label()[ : 5 ] == 'clean':
00738                             oldModules += [ trigMod.label() ]
00739                             setattr( process, trigMod.label().replace( 'clean', 'selected' ), trigMod )
00740         # matcher labels
00741         for module in modules:
00742             if hasattr( process, module ):
00743                 trigMod = getattr( process, module )
00744                 if trigMod.type_() == 'PATTriggerEventProducer':
00745                     matchers = getattr( trigMod, 'patTriggerMatches' )
00746                     matchers = self._renameMatchers( matchers, oldModules )
00747                 elif trigMod.type_() in listEmbedders:
00748                     matchers = getattr( trigMod, 'matches' )
00749                     matchers = self._renameMatchers( matchers, oldModules )
00750 
00751         # Maintain event content
00752         if outputModule is not '':
00753             patTriggerEventContent = getattr( process, outputModule ).outputCommands
00754             for statement in range( len( patTriggerEventContent ) ):
00755                 for module in oldModules:
00756                     if module in patTriggerEventContent[ statement ]:
00757                         patTriggerEventContent[ statement ] = patTriggerEventContent[ statement ].replace( 'clean', 'selected' )
00758         print '%s():'%( self._label )
00759         print '    Input from cleaning has been switched to input from selection;'
00760         print '    matcher and embedder modules have been renamed accordingly.'
00761         print _longLine


Member Data Documentation

Definition at line 686 of file trigTools.py.

tuple trigTools::RemoveCleaningFromTriggerMatching::_defaultParameters = dicttypes.SortedKeysDict() [static, private]

Definition at line 684 of file trigTools.py.

Definition at line 683 of file trigTools.py.

Definition at line 686 of file trigTools.py.