![]() |
![]() |
Inherits FWCore::GuiBrowsers::ConfigToolBase::ConfigToolBase.
Public Member Functions | |
def | __call__ |
def | __init__ |
def | getDefaultParameters |
def | toolCode |
Private Attributes | |
_comment | |
_parameters | |
Static Private Attributes | |
tuple | _defaultParameters = dicttypes.SortedKeysDict() |
string | _label = 'switchOnTrigger' |
Enables trigger information in PAT SwitchOnTrigger( [cms.Process], triggerProducer = 'patTrigger', triggerEventProducer = 'patTriggerEvent', sequence = 'patDefaultSequence', hltProcess = 'HLT', outputModule = 'out' ) - [cms.Process] : the 'cms.Process' - triggerProducer : PATTriggerProducer module label; optional, default: 'patTrigger' - triggerEventProducer: PATTriggerEventProducer module label; optional, default: 'patTriggerEvent' - 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 58 of file trigTools.py.
def trigTools::SwitchOnTrigger::__init__ | ( | self | ) |
Definition at line 78 of file trigTools.py.
00079 : 00080 ConfigToolBase.__init__( self ) 00081 self.addParameter( self._defaultParameters, 'triggerProducer' , _defaultTriggerProducer , _defaultTriggerProducerComment ) 00082 self.addParameter( self._defaultParameters, 'triggerEventProducer', _defaultTriggerEventProducer, _defaultTriggerEventProducerComment ) 00083 self.addParameter( self._defaultParameters, 'sequence' , _defaultSequence , _defaultSequenceComment ) 00084 self.addParameter( self._defaultParameters, 'hltProcess' , _defaultHltProcess , _defaultHltProcessComment ) 00085 self.addParameter( self._defaultParameters, 'outputModule' , _defaultOutputModule , _defaultOutputModuleComment ) 00086 self._parameters = copy.deepcopy( self._defaultParameters ) 00087 self._comment = ""
def trigTools::SwitchOnTrigger::__call__ | ( | self, | |
process, | |||
triggerProducer = None , |
|||
triggerEventProducer = None , |
|||
sequence = None , |
|||
hltProcess = None , |
|||
outputModule = None |
|||
) |
Definition at line 91 of file trigTools.py.
00098 : 00099 if triggerProducer is None: 00100 triggerProducer = self._defaultParameters[ 'triggerProducer' ].value 00101 if triggerEventProducer is None: 00102 triggerEventProducer = self._defaultParameters[ 'triggerEventProducer' ].value 00103 if sequence is None: 00104 sequence = self._defaultParameters[ 'sequence' ].value 00105 if hltProcess is None: 00106 hltProcess = self._defaultParameters[ 'hltProcess' ].value 00107 if outputModule is None: 00108 outputModule = self._defaultParameters[ 'outputModule' ].value 00109 self.setParameter( 'triggerProducer' , triggerProducer ) 00110 self.setParameter( 'triggerEventProducer', triggerEventProducer ) 00111 self.setParameter( 'sequence' , sequence ) 00112 self.setParameter( 'hltProcess' , hltProcess ) 00113 self.setParameter( 'outputModule' , outputModule ) 00114 self.apply( process )
def trigTools::SwitchOnTrigger::getDefaultParameters | ( | self | ) |
Definition at line 88 of file trigTools.py.
def trigTools::SwitchOnTrigger::toolCode | ( | self, | |
process | |||
) |
Definition at line 115 of file trigTools.py.
00116 : 00117 triggerProducer = self._parameters[ 'triggerProducer' ].value 00118 triggerEventProducer = self._parameters[ 'triggerEventProducer' ].value 00119 sequence = self._parameters[ 'sequence' ].value 00120 hltProcess = self._parameters[ 'hltProcess' ].value 00121 outputModule = self._parameters[ 'outputModule' ].value 00122 00123 # Load default producers from existing config files, if needed 00124 if not hasattr( process, triggerProducer ): 00125 if triggerProducer is self.getDefaultParameters()[ 'triggerProducer' ].value: 00126 process.load( "PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cfi" ) 00127 if not hasattr( process, triggerEventProducer ): 00128 if triggerEventProducer is self.getDefaultParameters()[ 'triggerEventProducer' ].value: 00129 process.load( "PhysicsTools.PatAlgos.triggerLayer1.triggerEventProducer_cfi" ) 00130 00131 # Maintain configurations 00132 prodSequence = getattr( process, sequence ) 00133 trigProdMod = getattr( process, triggerProducer ) 00134 trigProdMod.processName = hltProcess 00135 if triggerProducer in _modulesInSequence( process, sequence ): 00136 print '%s():'%( self._label ) 00137 print ' PATTriggerProducer module %s exists already in sequence %s'%( triggerProducer, sequence ) 00138 print ' ==> entry re-used' 00139 if trigProdMod.onlyStandAlone.value() is True: 00140 trigProdMod.onlyStandAlone = False 00141 print ' configuration parameter automatically changed' 00142 print ' PATTriggerProducer %s.onlyStandAlone --> %s'%( triggerProducer, trigProdMod.onlyStandAlone ) 00143 print _longLine 00144 else: 00145 # Sequence arithmetics for PATTriggerProducer module 00146 if hasattr( process, sequence + 'Trigger' ): 00147 index = len( getattr( process, sequence + 'Trigger' ).moduleNames() ) 00148 getattr( process, sequence + 'Trigger' ).insert( index, trigProdMod ) 00149 else: 00150 patTriggerSequence = cms.Sequence( trigProdMod ) 00151 setattr( process, sequence + 'Trigger', patTriggerSequence ) 00152 prodSequence *= getattr( process, sequence + 'Trigger' ) 00153 trigEvtProdMod = getattr( process, triggerEventProducer ) 00154 trigEvtProdMod.processName = hltProcess 00155 if hasattr( trigEvtProdMod, 'patTriggerProducer' ): 00156 trigEvtProdMod.patTriggerProducer = triggerProducer 00157 else: 00158 trigEvtProdMod.patTriggerProducer = cms.InputTag( triggerProducer ) 00159 if triggerEventProducer in _modulesInSequence( process, sequence ): 00160 print '%s():'%( self._label ) 00161 print ' PATTriggerEventProducer module %s exists already in sequence %s'%( triggerEventProducer, sequence ) 00162 print ' ==> entry re-used' 00163 print _longLine 00164 else: 00165 # Sequence arithmetics for PATTriggerEventProducer module 00166 if hasattr( process, sequence + 'TriggerEvent' ): 00167 index = len( getattr( process, sequence + 'Trigger' ).moduleNames() ) 00168 getattr( process, sequence + 'TriggerEvent' ).insert( index, trigEvtProdMod ) 00169 else: 00170 patTriggerEventSequence = cms.Sequence( trigEvtProdMod ) 00171 setattr( process, sequence + 'TriggerEvent', patTriggerEventSequence ) 00172 prodSequence *= getattr( process, sequence + 'TriggerEvent' ) 00173 00174 # Add event content 00175 if outputModule is not '': 00176 patTriggerEventContent = [ 'keep patTriggerObjects_%s_*_%s'%( triggerProducer, process.name_() ) 00177 , 'keep patTriggerFilters_%s_*_%s'%( triggerProducer, process.name_() ) 00178 , 'keep patTriggerPaths_%s_*_%s'%( triggerProducer, process.name_() ) 00179 , 'keep patTriggerEvent_%s_*_%s'%( triggerEventProducer, process.name_() ) 00180 ] 00181 if hasattr( trigProdMod, 'addL1Algos' ) and trigProdMod.addL1Algos.value() is True: 00182 patTriggerEventContent += [ 'keep patTriggerConditions_%s_*_%s'%( triggerProducer, process.name_() ) 00183 , 'keep patTriggerAlgorithms_%s_*_%s'%( triggerProducer, process.name_() ) 00184 ] 00185 if hasattr( trigProdMod, 'saveL1Refs' ) and trigProdMod.saveL1Refs.value() is True: 00186 patTriggerEventContent += patTriggerL1RefsEventContent 00187 getattr( process, outputModule ).outputCommands = _addEventContent( getattr( process, outputModule ).outputCommands, patTriggerEventContent )
trigTools::SwitchOnTrigger::_comment [private] |
Definition at line 78 of file trigTools.py.
tuple trigTools::SwitchOnTrigger::_defaultParameters = dicttypes.SortedKeysDict() [static, private] |
Definition at line 76 of file trigTools.py.
string trigTools::SwitchOnTrigger::_label = 'switchOnTrigger' [static, private] |
Definition at line 75 of file trigTools.py.
trigTools::SwitchOnTrigger::_parameters [private] |
Definition at line 78 of file trigTools.py.