![]() |
![]() |
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 = 'switchOnTriggerMatching' |
Enables trigger matching in PAT SwitchOnTriggerMatching( [cms.Process], triggerMatchers = [default list], triggerProducer = 'patTrigger', triggerEventProducer = 'patTriggerEvent', path = '', hltProcess = 'HLT', outputModule = 'out', postfix = '' ) - [cms.Process] : the 'cms.Process' - triggerMatchers : PAT trigger matcher module labels (list) optional; default: defined in '_exampleTriggerMatchers' (s. PhysicsTools/PatAlgos/python/triggerLayer1/triggerMatcherExamples_cfi.py) - triggerProducer : PATTriggerProducer module label; optional, default: 'patTrigger' - triggerEventProducer: PATTriggerEventProducer module label; optional, default: 'patTriggerEvent' - path : name of path to use; optional, default: 'patDefaultSequence' - hltProcess : HLT process name; optional, default: 'HLT' - outputModule : output module label; empty label indicates no output; optional, default: 'out' - postfix : postfix to apply to PAT module labels; optional, default: '' Using None as any argument restores its default value.
Definition at line 279 of file trigTools.py.
def trigTools::SwitchOnTriggerMatching::__init__ | ( | self | ) |
Definition at line 304 of file trigTools.py.
00305 : 00306 ConfigToolBase.__init__( self ) 00307 self.addParameter( self._defaultParameters, 'triggerMatchers' , _exampleTriggerMatchers , _defaultTriggerMatchersComment ) 00308 self.addParameter( self._defaultParameters, 'exampleMatchers' , False , '' ) 00309 self.addParameter( self._defaultParameters, 'triggerProducer' , _defaultTriggerProducer , _defaultTriggerProducerComment ) 00310 self.addParameter( self._defaultParameters, 'triggerEventProducer', _defaultTriggerEventProducer, _defaultTriggerEventProducerComment ) 00311 self.addParameter( self._defaultParameters, 'path' , _defaultPath , _defaultPathComment ) 00312 self.addParameter( self._defaultParameters, 'hltProcess' , _defaultHltProcess , _defaultHltProcessComment ) 00313 self.addParameter( self._defaultParameters, 'outputModule' , _defaultOutputModule , _defaultOutputModuleComment ) 00314 self.addParameter( self._defaultParameters, 'postfix' , _defaultPostfix , _defaultPostfixComment ) 00315 self._parameters = copy.deepcopy( self._defaultParameters ) 00316 self._comment = ""
def trigTools::SwitchOnTriggerMatching::__call__ | ( | self, | |
process, | |||
triggerMatchers = None , |
|||
triggerProducer = None , |
|||
triggerEventProducer = None , |
|||
path = None , |
|||
hltProcess = None , |
|||
outputModule = None , |
|||
postfix = None |
|||
) |
Definition at line 320 of file trigTools.py.
00329 : 00330 if triggerMatchers is None: 00331 triggerMatchers = self._defaultParameters[ 'triggerMatchers' ].value 00332 self.setParameter( 'exampleMatchers', True ) 00333 if triggerProducer is None: 00334 triggerProducer = self._defaultParameters[ 'triggerProducer' ].value 00335 if triggerEventProducer is None: 00336 triggerEventProducer = self._defaultParameters[ 'triggerEventProducer' ].value 00337 if path is None: 00338 path = self._defaultParameters[ 'path' ].value 00339 if hltProcess is None: 00340 hltProcess = self._defaultParameters[ 'hltProcess' ].value 00341 if outputModule is None: 00342 outputModule = self._defaultParameters[ 'outputModule' ].value 00343 if postfix is None: 00344 postfix = self._defaultParameters[ 'postfix' ].value 00345 self.setParameter( 'triggerMatchers' , triggerMatchers ) 00346 self.setParameter( 'triggerProducer' , triggerProducer ) 00347 self.setParameter( 'triggerEventProducer', triggerEventProducer ) 00348 self.setParameter( 'path' , path ) 00349 self.setParameter( 'hltProcess' , hltProcess ) 00350 self.setParameter( 'outputModule' , outputModule ) 00351 self.setParameter( 'postfix' , postfix ) 00352 self.apply( process )
def trigTools::SwitchOnTriggerMatching::getDefaultParameters | ( | self | ) |
Definition at line 317 of file trigTools.py.
def trigTools::SwitchOnTriggerMatching::toolCode | ( | self, | |
process | |||
) |
Definition at line 353 of file trigTools.py.
00354 : 00355 triggerMatchers = self._parameters[ 'triggerMatchers' ].value 00356 exampleMatchers = self._parameters[ 'exampleMatchers' ].value 00357 triggerProducer = self._parameters[ 'triggerProducer' ].value 00358 triggerEventProducer = self._parameters[ 'triggerEventProducer' ].value 00359 path = self._parameters[ 'path' ].value 00360 hltProcess = self._parameters[ 'hltProcess' ].value 00361 outputModule = self._parameters[ 'outputModule' ].value 00362 postfix = self._parameters[ 'postfix' ].value 00363 00364 # Load default producers from existing config file, if needed 00365 if exampleMatchers: 00366 process.load( "PhysicsTools.PatAlgos.triggerLayer1.triggerMatcherExamples_cfi" ) 00367 00368 # Switch on PAT trigger information if needed 00369 if not hasattr( process, triggerEventProducer ): 00370 print '%s():'%( self._label ) 00371 print ' PAT trigger production switched on automatically using' 00372 print ' switchOnTrigger( process, \'%s\', \'%s\', \'%s\', \'%s\', \'%s\' )'%( hltProcess, triggerProducer, triggerEventProducer, path, outputModule ) 00373 print _longLine 00374 switchOnTrigger( process, triggerProducer, triggerEventProducer, path, hltProcess, outputModule ) 00375 00376 # Maintain configurations 00377 trigEvtProdMod = getattr( process, triggerEventProducer ) 00378 triggerMatchersKnown = [] 00379 for matcher in triggerMatchers: 00380 if not hasattr( process, matcher ): 00381 print '%s():'%( self._label ) 00382 print ' Matcher \'%s\' not known to process'%( matcher ) 00383 print ' ==> skipped' 00384 print _longLine 00385 continue 00386 triggerMatchersKnown.append( matcher ) 00387 trigMchMod = getattr( process, matcher ) 00388 trigMchMod.src = cms.InputTag( trigMchMod.src.getModuleLabel() + postfix ) 00389 trigMchMod.matched = triggerProducer 00390 matchers = getattr( trigEvtProdMod, 'patTriggerMatches' ) 00391 if len( matchers ) > 0: 00392 print '%s():'%( self._label ) 00393 print ' PAT trigger matchers already attached to existing PATTriggerEventProducer \'%s\''%( triggerEventProducer ) 00394 print ' configuration parameters automatically changed' 00395 for matcher in matchers: 00396 trigMchMod = getattr( process, matcher ) 00397 if trigMchMod.matched.value() is not triggerProducer: 00398 trigMchMod.matched = triggerProducer 00399 print ' PAT trigger matcher %s.matched --> %s'%( matcher, trigMchMod.matched ) 00400 print _longLine 00401 else: 00402 trigEvtProdMod.patTriggerMatches = cms.VInputTag() 00403 for matcher in triggerMatchersKnown: 00404 trigEvtProdMod.patTriggerMatches.append( cms.InputTag( matcher ) ) 00405 00406 # Add event content 00407 if outputModule is not '': 00408 patTriggerEventContent = [] 00409 for matcher in triggerMatchersKnown: 00410 patTriggerEventContent += [ 'keep patTriggerObjectsedmAssociation_%s_%s_%s'%( triggerEventProducer, matcher, process.name_() ) 00411 , 'keep *_%s_*_*'%( getattr( process, matcher ).src.value() ) 00412 ] 00413 getattr( process, outputModule ).outputCommands = _addEventContent( getattr( process, outputModule ).outputCommands, patTriggerEventContent )
Definition at line 304 of file trigTools.py.
tuple trigTools::SwitchOnTriggerMatching::_defaultParameters = dicttypes.SortedKeysDict() [static, private] |
Definition at line 302 of file trigTools.py.
string trigTools::SwitchOnTriggerMatching::_label = 'switchOnTriggerMatching' [static, private] |
Definition at line 301 of file trigTools.py.
Definition at line 304 of file trigTools.py.