CMS 3D CMS Logo

Public Member Functions | Private Attributes | Static Private Attributes

trigTools::SwitchOnTriggerStandAlone Class Reference

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

List of all members.

Public Member Functions

def __call__
def __init__
def getDefaultParameters
def toolCode

Private Attributes

 _comment
 _parameters

Static Private Attributes

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

Detailed Description

Enables trigger information in PAT, limited to stand-alone trigger objects
SwitchOnTriggerStandAlone( [cms.Process], triggerProducer = 'patTrigger', sequence = 'patDefaultSequence', hltProcess = 'HLT', outputModule = 'out' )
- [cms.Process]       : the 'cms.Process'
- triggerProducer     : PATTriggerProducer module label;
                        optional, default: 'patTrigger'
- sequence            : name of sequence to use;
                        optional, default: 'patDefaultSequence'
- hltProcess          : HLT process name;
                        optional, default: 'HLT'
- outputModule        : output module label;
                        empty label indicates no output;
                        optional, default: 'out'
Using None as any argument restores its default value.

Definition at line 191 of file trigTools.py.


Constructor & Destructor Documentation

def trigTools::SwitchOnTriggerStandAlone::__init__ (   self)

Definition at line 209 of file trigTools.py.

00210                         :
00211         ConfigToolBase.__init__( self )
00212         self.addParameter( self._defaultParameters, 'triggerProducer', _defaultTriggerProducer, _defaultTriggerProducerComment )
00213         self.addParameter( self._defaultParameters, 'sequence'       , _defaultSequence       , _defaultSequenceComment )
00214         self.addParameter( self._defaultParameters, 'hltProcess'     , _defaultHltProcess     , _defaultHltProcessComment )
00215         self.addParameter( self._defaultParameters, 'outputModule'   , _defaultOutputModule   , _defaultOutputModuleComment )
00216         self._parameters = copy.deepcopy( self._defaultParameters )
00217         self._comment = ""


Member Function Documentation

def trigTools::SwitchOnTriggerStandAlone::__call__ (   self,
  process,
  triggerProducer = None,
  sequence = None,
  hltProcess = None,
  outputModule = None 
)

Definition at line 221 of file trigTools.py.

00227                  :
00228         if triggerProducer is None:
00229             triggerProducer = self._defaultParameters[ 'triggerProducer' ].value
00230         if sequence is None:
00231             sequence = self._defaultParameters[ 'sequence' ].value
00232         if hltProcess is None:
00233             hltProcess = self._defaultParameters[ 'hltProcess' ].value
00234         if outputModule is None:
00235             outputModule = self._defaultParameters[ 'outputModule' ].value
00236         self.setParameter( 'triggerProducer', triggerProducer )
00237         self.setParameter( 'sequence'       , sequence )
00238         self.setParameter( 'hltProcess'     , hltProcess )
00239         self.setParameter( 'outputModule'   , outputModule )
00240         self.apply( process )

def trigTools::SwitchOnTriggerStandAlone::getDefaultParameters (   self)

Definition at line 218 of file trigTools.py.

00219                                     :
00220         return self._defaultParameters

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

Definition at line 241 of file trigTools.py.

00242                                  :
00243         triggerProducer = self._parameters[ 'triggerProducer' ].value
00244         sequence        = self._parameters[ 'sequence' ].value
00245         hltProcess      = self._parameters[ 'hltProcess' ].value
00246         outputModule    = self._parameters[ 'outputModule' ].value
00247 
00248         # Load default producer from existing config file, if needed
00249         if not hasattr( process, triggerProducer ):
00250             if triggerProducer is self.getDefaultParameters()[ 'triggerProducer' ].value:
00251                 process.load( "PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cfi" )
00252 
00253         # Maintain configuration
00254         prodSequence            = getattr( process, sequence )
00255         trigProdMod             = getattr( process, triggerProducer )
00256         trigProdMod.processName = hltProcess
00257         if triggerProducer in _modulesInSequence( process, sequence ):
00258             print '%s():'%( self._label )
00259             print '    PATTriggerProducer module %s exists already in sequence %s'%( triggerProducer, sequence )
00260             print '    ==> entry re-used'
00261             print _longLine
00262         else:
00263             # Sequence arithmetics for PATTriggerProducer module
00264             if trigProdMod.onlyStandAlone.value() is False:
00265                 trigProdMod.onlyStandAlone = True
00266                 print '%s():'%( self._label )
00267                 print '    configuration parameter automatically changed'
00268                 print '    PATTriggerProducer %s.onlyStandAlone --> %s'%( triggerProducer, trigProdMod.onlyStandAlone )
00269                 print _longLine
00270             if hasattr( process, sequence + 'Trigger' ):
00271                 index = len( getattr( process, sequence + 'Trigger' ).moduleNames() )
00272                 getattr( process, sequence + 'Trigger' ).insert( index, trigProdMod )
00273             else:
00274                 patTriggerSequence = cms.Sequence( trigProdMod )
00275                 setattr( process, sequence + 'Trigger', patTriggerSequence )
00276                 prodSequence *= getattr( process, sequence + 'Trigger' )
00277 
00278         # Add event content
00279         if outputModule is not '':
00280             patTriggerEventContent = [ 'keep patTriggerObjectStandAlones_%s_*_%s'%( triggerProducer, process.name_() )
00281                                      ]
00282             if hasattr( trigProdMod, 'saveL1Refs' ) and trigProdMod.saveL1Refs.value() is True:
00283                 patTriggerEventContent += patTriggerL1RefsEventContent
00284             getattr( process, outputModule ).outputCommands = _addEventContent( getattr( process, outputModule ).outputCommands, patTriggerEventContent )


Member Data Documentation

Definition at line 209 of file trigTools.py.

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

Definition at line 207 of file trigTools.py.

Definition at line 206 of file trigTools.py.

Definition at line 209 of file trigTools.py.