7 from pipe
import pipe
as _pipe
8 from options
import globalTag
9 from itertools
import islice
12 i = iterator.__iter__()
14 l =
list(islice(i, n))
23 fastsimUnsupportedPaths = (
28 "HLT_*Calibration_v*",
33 "HLT_Activity_Ecal*_v*",
36 "HLT_L1SingleMuOpen_AntiBPTX_v*",
37 "HLT_JetE*_NoBPTX*_v*",
38 "HLT_L2Mu*_NoVertex_NoBPTX*_v*",
39 "HLT_L2Mu20_NoVertex_2Cha_NoBPTX3BX_NoHalo_v*",
40 "HLT_L2Mu30_NoVertex_2Cha_NoBPTX3BX_NoHalo_v*",
41 "HLT_PixelTracks_Multiplicity70_v*",
42 "HLT_PixelTracks_Multiplicity80_v*",
43 "HLT_PixelTracks_Multiplicity90_v*",
46 "HLT_GlobalRunHPDNoise_v*",
47 "HLT_L1TrackerCosmics_v*",
52 "HLT_DoubleMediumIsoPFTau30_Trk1_eta2p1_Reg_Jet30_v*",
53 "HLT_DoubleMediumIsoPFTau30_Trk1_eta2p1_Reg_v*",
54 "HLT_DoubleMediumIsoPFTau35_Trk1_eta2p1_Prong1_Reg_v*",
55 "HLT_DoubleMediumIsoPFTau35_Trk1_eta2p1_Reg_v*",
56 "HLT_IsoMu18_eta2p1_MediumIsoPFTau25_Trk1_eta2p1_Reg_v*",
59 "HLT_DoubleMediumIsoPFTau45_Trk1_eta2p1_Reg_Jet30_v*",
60 "HLT_DoubleMediumIsoPFTau50_Trk1_eta2p1_Prong1_Reg_v*",
61 "HLT_IsoMu26_eta2p1_MediumIsoPFTau30_Trk1_eta2p1_Reg_v*",
83 if self.config.fragment:
84 self.
labels[
'process'] =
''
85 self.
labels[
'dict'] =
'locals()'
87 self.
labels[
'process'] =
'process.'
88 self.
labels[
'dict'] =
'process.__dict__'
90 if self.config.online:
91 self.
labels[
'connect'] =
'frontier://(proxyurl=http://localhost:3128)(serverurl=http://localhost:8000/FrontierOnProd)(serverurl=http://localhost:8000/FrontierOnProd)(retrieve-ziplevel=0)'
93 self.
labels[
'connect'] =
'frontier://FrontierProd'
103 url =
'http://j2eeps.cern.ch/cms-project-confdb-hltdev/get.jsp'
104 postdata =
dict([ (key,
','.
join(vals))
for key, vals
in self.options.iteritems()
if vals ])
105 postdata[
'noedsources'] =
''
106 if self.config.fragment:
108 if self.config.menu.run:
109 postdata[
'runNumber'] = self.config.menu.run
111 postdata[
'dbName'] = self.config.menu.db
112 postdata[
'configName']= self.config.menu.name
114 data = urllib2.urlopen(url, urllib.urlencode(postdata)).
read()
115 if 'Exhausted Resultset' in data
or 'CONFIG_NOT_FOUND' in data:
116 raise ImportError(
'%s is not a valid HLT menu' % self.config.menuConfig.value)
121 url =
'http://j2eeps.cern.ch/cms-project-confdb-hltdev/get.jsp'
130 if self.config.menu.run:
131 postdata[
'runNumber'] = self.config.menu.run
133 postdata[
'dbName'] = self.config.menu.db
134 postdata[
'configName']= self.config.menu.name
136 data = urllib2.urlopen(url, urllib.urlencode(postdata)).
read()
137 if 'Exhausted Resultset' in data
or 'CONFIG_NOT_FOUND' in data:
138 raise ImportError(
'%s is not a valid HLT menu' % self.config.menuConfig.value)
139 filter = re.compile(
r' *= *cms.(End)?Path.*')
140 paths = [ filter.sub(
'', line)
for line
in data.splitlines()
if filter.search(line) ]
155 filter = re.compile(
r'^' + glob.replace(
'?',
'.').
replace(
'*',
'.*').
replace(
'[!',
'[^') +
r'$')
156 matches.extend( negate + element
for element
in collection
if filter.match(element) )
165 for element
in elements:
166 if element[0] ==
'-':
167 result.add( element )
169 result.discard(
'-' + element )
170 return sorted( element
for element
in result )
177 for element
in elements:
178 if element[0] ==
'-':
179 result.discard( element[1:] )
181 result.add( element )
182 return sorted( element
for element
in result )
194 # CMSSW version specific customizations
196 cmsswVersion = os.environ['CMSSW_VERSION']
198 # customization for 6_2_X
208 if not self.config.fragment:
212 if self.config.type
in (
'GRun', ):
214 # Enable HF Noise filters in GRun menu
215 if 'hltHfreco' in %(dict)s:
216 %(process)shltHfreco.setNoiseFlags = cms.bool( True )
218 if self.config.type
in (
'HIon', ):
220 # Disable HF Noise filters in HIon menu
221 if 'hltHfreco' in %(dict)s:
222 %(process)shltHfreco.setNoiseFlags = cms.bool( False )
234 self.overrideL1MenuXml()
243 self.instrumentOpenMode()
246 self.instrumentErrorEventType()
249 self.instrumentTiming()
254 if self.config.fragment:
271 self.overrideProcessName()
274 self.overrideOutput()
277 self.addGlobalOptions()
280 self.overrideGlobalTag()
286 self.updateMessageLogger()
312 # limit the number of events to be processed
313 %%(process)smaxEvents = cms.untracked.PSet(
314 input = cms.untracked.int32( %d )
316 """ % self.config.events
318 if not self.config.profiling:
320 # enable the TrigReport and TimeReport
321 %(process)soptions = cms.untracked.PSet(
322 wantSummary = cms.untracked.bool( True )
329 name: parameter name (optional)
330 type: parameter type (look for tracked and untracked variants)
331 value: original value
332 replace: replacement value
336 r'%(name)s = cms(?P<tracked>(?:\.untracked)?)\.%(type)s\( (?P<quote>["\']?)%(value)s(?P=quote)' % args,
337 r'%(name)s = cms\g<tracked>.%(type)s( \g<quote>%(replace)s\g<quote>' % args,
341 r'cms(?P<tracked>(?:\.untracked)?)\.%(type)s\( (?P<quote>["\']?)%(value)s(?P=quote)' % args,
342 r'cms\g<tracked>.%(type)s( \g<quote>%(replace)s\g<quote>' % args,
347 if not self.config.data:
349 if not self.config.fragment:
351 # customise the HLT menu for running on MC
352 from HLTrigger.Configuration.customizeHLTforMC import customizeHLTforMC
353 process = customizeHLTforMC(process)
358 if self.config.fastsim:
360 self.data = re.sub(
r'import FWCore.ParameterSet.Config as cms',
r'\g<0>\nfrom FastSimulation.HighLevelTrigger.HLTSetup_cff import *', self.data)
363 self.data = re.compile(
r'^streams.*\n(.*\n)*?^\)\s*\n', re.MULTILINE ).sub(
'', self.data )
364 self.data = re.compile(
r'^datasets.*\n(.*\n)*?^\)\s*\n', re.MULTILINE ).sub(
'', self.data )
368 self._fix_parameter( type =
'InputTag', value =
'hltL1extraParticles', replace =
'l1extraParticles')
369 self._fix_parameter(name =
'GMTReadoutCollection', type =
'InputTag', value =
'hltGtDigis', replace =
'gmtDigis')
370 self._fix_parameter( type =
'InputTag', value =
'hltGtDigis', replace =
'gtDigis')
371 self._fix_parameter( type =
'InputTag', value =
'hltL1GtObjectMap', replace =
'gtDigis')
372 self._fix_parameter(name =
'initialSeeds', type =
'InputTag', value =
'noSeedsHere', replace =
'globalPixelSeeds:GlobalPixel')
373 self._fix_parameter(name =
'preFilteredSeeds', type =
'bool', value =
'True', replace =
'False')
374 self._fix_parameter( type =
'InputTag', value =
'hltOfflineBeamSpot', replace =
'offlineBeamSpot')
375 self._fix_parameter( type =
'InputTag', value =
'hltOnlineBeamSpot', replace =
'offlineBeamSpot')
376 self._fix_parameter( type =
'InputTag', value =
'hltMuonCSCDigis', replace =
'simMuonCSCDigis')
377 self._fix_parameter( type =
'InputTag', value =
'hltMuonDTDigis', replace =
'simMuonDTDigis')
378 self._fix_parameter( type =
'InputTag', value =
'hltMuonRPCDigis', replace =
'simMuonRPCDigis')
379 self._fix_parameter( type =
'InputTag', value =
'hltRegionalTracksForL3MuonIsolation', replace =
'hltPixelTracks')
380 self._fix_parameter(name =
'src', type =
'InputTag', value =
'hltHcalTowerNoiseCleaner', replace =
'hltTowerMakerForAll')
381 self._fix_parameter(name =
'src', type =
'InputTag', value =
'hltIter4Tau3MuMerged', replace =
'hltIter4Merged')
384 self.data = re.sub(
r'hltMuonCSCDigis',
r'cms.SequencePlaceholder( "simMuonCSCDigis" )', self.data )
385 self.data = re.sub(
r'hltMuonDTDigis',
r'cms.SequencePlaceholder( "simMuonDTDigis" )', self.data )
386 self.data = re.sub(
r'hltMuonRPCDigis',
r'cms.SequencePlaceholder( "simMuonRPCDigis" )', self.data )
387 self.data = re.sub(
r'HLTEndSequence',
r'cms.SequencePlaceholder( "HLTEndSequence" )', self.data )
388 self.data = re.sub(
r'hltGtDigis',
r'HLTBeginSequence', self.data )
393 if self.options[
'paths']:
394 if self.options[
'paths'][0][0] ==
'-':
396 for minuspath
in self.options[
'paths']:
398 self.data = re.sub(
r' cms.PSet\( pathName = cms.string\( "%s" \),\n prescales = cms.vuint32\( .* \)\n \),?\n' % path,
'', self.data)
401 for path
in self.all_paths:
402 if path
not in self.options[
'paths']:
403 self.data = re.sub(
r' cms.PSet\( pathName = cms.string\( "%s" \),\n prescales = cms.vuint32\( .* \)\n \),?\n' % path,
'', self.data)
405 if self.config.unprescale:
407 # remove the HLT prescales
408 if 'PrescaleService' in %(dict)s:
409 %(process)sPrescaleService.lvl1DefaultLabel = cms.string( '0' )
410 %(process)sPrescaleService.lvl1Labels = cms.vstring( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' )
411 %(process)sPrescaleService.prescaleTable = cms.VPSet( )
418 filters = [ match[1]
for match
in re.findall(
r'(process\.)?\b(\w+) = cms.EDFilter', self.data) ]
419 re_sequence = re.compile(
r'cms\.(Path|Sequence)\((.*)\)' )
421 self.data = re_sequence.sub(
lambda line: re.sub(
r'cms\.ignore *\( *((process\.)?\b(\w+)) *\)',
r'\1', line.group(0) ), self.data )
422 self.data = re_sequence.sub(
lambda line: re.sub(
r'~',
'', line.group(0) ), self.data )
424 for some
in splitter(filters, 1000):
425 re_filters = re.compile(
r'\b((process\.)?(' +
r'|'.
join(some) +
r'))\b' )
426 self.data = re_sequence.sub(
lambda line: re_filters.sub(
r'cms.ignore( \1 )', line.group(0) ), self.data )
430 if self.config.errortype:
432 self._fix_parameter(name =
'SelectedTriggerType', type =
'int32', value =
'1', replace =
'0')
433 self._fix_parameter(name =
'SelectedTriggerType', type =
'int32', value =
'2', replace =
'0')
434 self._fix_parameter(name =
'SelectedTriggerType', type =
'int32', value =
'3', replace =
'0')
450 # override the GlobalTag, connection string and pfnPrefix
451 if 'GlobalTag' in %(dict)s:
455 if not self.config.data
and not self.config.globaltag:
456 if self.config.type
in globalTag:
457 self.config.globaltag = globalTag[self.config.type]
459 self.config.globaltag = globalTag[
'GRun']
462 if self.config.l1.override:
463 self.config.l1.record =
'L1GtTriggerMenuRcd'
464 self.config.l1.label =
''
465 self.config.l1.tag = self.config.l1.override
466 if not self.config.l1.connect:
467 self.config.l1.connect =
'%(connect)s/CMS_COND_31X_L1T'
468 self.config.l1cond =
'%(tag)s,%(record)s,%(connect)s' % self.config.l1.__dict__
470 self.config.l1cond =
None
472 if self.config.globaltag
or self.config.l1cond:
473 text +=
" from Configuration.AlCa.GlobalTag import GlobalTag as customiseGlobalTag\n"
474 text +=
" %(process)sGlobalTag = customiseGlobalTag(%(process)sGlobalTag"
475 if self.config.globaltag:
476 text +=
", globaltag = %s" % repr(self.config.globaltag)
477 if self.config.l1cond:
478 text +=
", conditions = %s" % repr(self.config.l1cond)
481 text +=
""" %(process)sGlobalTag.connect = '%(connect)s/CMS_COND_31X_GLOBALTAG'
482 %(process)sGlobalTag.pfnPrefix = cms.untracked.string('%(connect)s/')
483 for pset in process.GlobalTag.toGet.value():
484 pset.connect = pset.connect.value().replace('frontier://FrontierProd/', '%(connect)s/')
490 if self.config.l1Xml.XmlFile:
492 # override the L1 menu from an Xml file
493 %%(process)sl1GtTriggerMenuXml = cms.ESProducer("L1GtTriggerMenuXmlProducer",
494 TriggerMenuLuminosity = cms.string('%(LumiDir)s'),
495 DefXmlFile = cms.string('%(XmlFile)s'),
496 VmeXmlFile = cms.string('')
498 %%(process)sL1GtTriggerMenuRcdSource = cms.ESSource("EmptyESSource",
499 recordName = cms.string('L1GtTriggerMenuRcd'),
500 iovIsRunNotTime = cms.bool(True),
501 firstValid = cms.vuint32(1)
503 %%(process)ses_prefer_l1GtParameters = cms.ESPrefer('L1GtTriggerMenuXmlProducer','l1GtTriggerMenuXml')
505 self.data += text % self.config.l1Xml.__dict__
509 if not self.config.emulator:
512 if self.config.emulator !=
'gt':
518 # run the L1 GT emulator, then repack the data into a new RAW collection, to be used by the HLT
520 if self.config.fragment:
522 text +=
"import Configuration.StandardSequences.SimL1EmulatorRepack_GT_cff\n"
524 text +=
"process.load( 'Configuration.StandardSequences.SimL1EmulatorRepack_GT_cff' )\n"
526 if not 'hltBoolFalse' in self.data:
529 %(process)shltBoolFalse = cms.EDFilter( "HLTBool",
530 result = cms.bool( False )
533 text +=
"process.L1Emulator = cms.Path( process.SimL1Emulator + process.hltBoolFalse )\n\n"
535 self.data = re.sub(
r'.*cms\.(End)?Path.*', text +
r'\g<0>', self.data, 1)
540 if self.config.emulator:
549 emulator[
'RawToDigi'] =
'RawToDigi_Data_cff'
551 emulator[
'RawToDigi'] =
'RawToDigi_cff'
553 if self.config.emulator ==
'gt':
554 emulator[
'CustomL1T'] =
'customiseL1GtEmulatorFromRaw'
555 emulator[
'CustomHLT'] =
'switchToSimGtDigis'
556 elif self.config.emulator ==
'gct,gt':
557 emulator[
'CustomL1T'] =
'customiseL1CaloAndGtEmulatorsFromRaw'
558 emulator[
'CustomHLT'] =
'switchToSimGctGtDigis'
559 elif self.config.emulator ==
'gmt,gt':
561 emulator[
'CustomL1T'] =
'customiseL1MuonAndGtEmulatorsFromRaw'
562 emulator[
'CustomHLT'] =
'switchToSimGmtGtDigis'
563 elif self.config.emulator
in (
'gmt,gct,gt',
'gct,gmt,gt',
'all'):
564 emulator[
'CustomL1T'] =
'customiseL1EmulatorFromRaw'
565 emulator[
'CustomHLT'] =
'switchToSimGmtGctGtDigis'
568 emulator[
'CustomL1T'] =
'customiseL1EmulatorFromRaw'
569 emulator[
'CustomHLT'] =
'switchToSimGmtGctGtDigis'
572 # customize the L1 emulator to run %(CustomL1T)s with HLT to %(CustomHLT)s
573 process.load( 'Configuration.StandardSequences.%(RawToDigi)s' )
574 process.load( 'Configuration.StandardSequences.SimL1Emulator_cff' )
575 import L1Trigger.Configuration.L1Trigger_custom
576 process = L1Trigger.Configuration.L1Trigger_custom.%(CustomL1T)s( process )
577 process = L1Trigger.Configuration.L1Trigger_custom.customiseResetPrescalesAndMasks( process )
579 # customize the HLT to use the emulated results
580 import HLTrigger.Configuration.customizeHLTforL1Emulator
581 process = HLTrigger.Configuration.customizeHLTforL1Emulator.switchToL1Emulator( process )
582 process = HLTrigger.Configuration.customizeHLTforL1Emulator.%(CustomHLT)s( process )
589 r'\b(process\.)?hltOutput(\w+) *= *cms\.OutputModule\( *"ShmStreamConsumer" *,',
590 r'%(process)shltOutput\2 = cms.OutputModule( "PoolOutputModule",\n fileName = cms.untracked.string( "output\2.root" ),\n fastCloning = cms.untracked.bool( False ),\n dataset = cms.untracked.PSet(\n filterName = cms.untracked.string( "" ),\n dataTier = cms.untracked.string( "RAW" )\n ),',
594 if not self.config.fragment
and self.config.output ==
'full':
597 # add a single "keep *" output
598 %(process)shltOutputFULL = cms.OutputModule( "PoolOutputModule",
599 fileName = cms.untracked.string( "outputFULL.root" ),
600 fastCloning = cms.untracked.bool( False ),
601 dataset = cms.untracked.PSet(
602 dataTier = cms.untracked.string( 'RECO' ),
603 filterName = cms.untracked.string( '' )
605 outputCommands = cms.untracked.vstring( 'keep *' )
607 %(process)sFULLOutput = cms.EndPath( %(process)shltOutputFULL )
613 if self.config.name
is None:
618 self.data = re.compile(
r'^(process\s*=\s*cms\.Process\(\s*' + quote +
r')\w+(' + quote +
r'\s*\).*)$', re.MULTILINE).sub(
r'\1%s\2' % self.config.name, self.data, 1)
622 # adapt HLT modules to the correct process name
623 if 'hltTrigReport' in %%(dict)s:
624 %%(process)shltTrigReport.HLTriggerResults = cms.InputTag( 'TriggerResults', '', '%(name)s' )
626 if 'hltPreExpressCosmicsOutputSmart' in %%(dict)s:
627 %%(process)shltPreExpressCosmicsOutputSmart.TriggerResultsTag = cms.InputTag( 'TriggerResults', '', '%(name)s' )
629 if 'hltPreExpressOutputSmart' in %%(dict)s:
630 %%(process)shltPreExpressOutputSmart.TriggerResultsTag = cms.InputTag( 'TriggerResults', '', '%(name)s' )
632 if 'hltPreDQMForHIOutputSmart' in %%(dict)s:
633 %%(process)shltPreDQMForHIOutputSmart.TriggerResultsTag = cms.InputTag( 'TriggerResults', '', '%(name)s' )
635 if 'hltPreDQMForPPOutputSmart' in %%(dict)s:
636 %%(process)shltPreDQMForPPOutputSmart.TriggerResultsTag = cms.InputTag( 'TriggerResults', '', '%(name)s' )
638 if 'hltPreHLTDQMResultsOutputSmart' in %%(dict)s:
639 %%(process)shltPreHLTDQMResultsOutputSmart.TriggerResultsTag = cms.InputTag( 'TriggerResults', '', '%(name)s' )
641 if 'hltPreHLTDQMOutputSmart' in %%(dict)s:
642 %%(process)shltPreHLTDQMOutputSmart.TriggerResultsTag = cms.InputTag( 'TriggerResults', '', '%(name)s' )
644 if 'hltPreHLTMONOutputSmart' in %%(dict)s:
645 %%(process)shltPreHLTMONOutputSmart.TriggerResultsTag = cms.InputTag( 'TriggerResults', '', '%(name)s' )
647 if 'hltDQMHLTScalers' in %%(dict)s:
648 %%(process)shltDQMHLTScalers.triggerResults = cms.InputTag( 'TriggerResults', '', '%(name)s' )
649 %%(process)shltDQMHLTScalers.processname = '%(name)s'
651 if 'hltDQML1SeedLogicScalers' in %%(dict)s:
652 %%(process)shltDQML1SeedLogicScalers.processname = '%(name)s'
653 """ % self.config.__dict__
659 if 'MessageLogger' in %(dict)s:
660 %(process)sMessageLogger.categories.append('TriggerSummaryProducerAOD')
661 %(process)sMessageLogger.categories.append('L1GtTrigReport')
662 %(process)sMessageLogger.categories.append('HLTrigReport')
663 %(process)sMessageLogger.categories.append('FastReport')
671 if 'GlobalTag' in %%(dict)s:
673 for condition
in conditions:
674 self.data +=
""" %%(process)sGlobalTag.toGet.append(
676 record = cms.string( '%(record)s' ),
677 tag = cms.string( '%(tag)s' ),
678 label = cms.untracked.string( '%(label)s' ),
679 connect = cms.untracked.string( '%(connect)s' )
687 if self.config.fragment:
688 self.data +=
'from %s import *\n' % module
690 self.data +=
'process.load( "%s" )\n' % module
695 self.data +=
"if '%s' in %%(dict)s:\n" % module
696 for (parameter, value)
in parameters:
697 self.data +=
" %%(process)s%s.%s = %s\n" % (module, parameter, value)
702 if self.config.profiling:
706 if not 'hltGetRaw' in self.data:
709 %(process)shltGetRaw = cms.EDAnalyzer( "HLTGetRaw",
710 RawDataCollection = cms.InputTag( "rawDataCollector" )
714 if not 'hltGetConditions' in self.data:
717 %(process)shltGetConditions = cms.EDAnalyzer( 'EventSetupRecordDataGetter',
718 verbose = cms.untracked.bool( False ),
723 if not 'hltBoolFalse' in self.data:
726 %(process)shltBoolFalse = cms.EDFilter( "HLTBool",
727 result = cms.bool( False )
734 %(process)sHLTriggerFirstPath = cms.Path( %(process)shltGetRaw + %(process)shltGetConditions + %(process)shltBoolFalse )
736 self.data = re.sub(
r'.*cms\.(End)?Path.*', text +
r'\g<0>', self.data, 1)
741 if self.config.timing:
743 # instrument the menu with the modules and EndPath needed for timing studies
747 if 'FastTimerService' in self.data:
750 self.data +=
'\n# configure the FastTimerService\n'
752 self.loadCff(
'HLTrigger.Timer.FastTimerService_cfi')
753 self.data +=
"""%(process)sFastTimerService.useRealTimeClock = False
754 %(process)sFastTimerService.enableTimingPaths = True
755 %(process)sFastTimerService.enableTimingModules = True
756 %(process)sFastTimerService.enableTimingExclusive = True
757 %(process)sFastTimerService.enableTimingSummary = True
758 %(process)sFastTimerService.skipFirstPath = True
759 %(process)sFastTimerService.enableDQM = True
760 %(process)sFastTimerService.enableDQMbyPathActive = True
761 %(process)sFastTimerService.enableDQMbyPathTotal = True
762 %(process)sFastTimerService.enableDQMbyPathOverhead = True
763 %(process)sFastTimerService.enableDQMbyPathDetails = True
764 %(process)sFastTimerService.enableDQMbyPathCounters = True
765 %(process)sFastTimerService.enableDQMbyPathExclusive = True
766 %(process)sFastTimerService.enableDQMbyModule = True
767 %(process)sFastTimerService.enableDQMbyModuleType = True
768 %(process)sFastTimerService.enableDQMSummary = True
769 %(process)sFastTimerService.enableDQMbyLuminosity = True
770 %(process)sFastTimerService.enableDQMbyLumiSection = True
771 %(process)sFastTimerService.enableDQMbyProcesses = False
772 %(process)sFastTimerService.dqmTimeRange = 1000.
773 %(process)sFastTimerService.dqmTimeResolution = 5.
774 %(process)sFastTimerService.dqmPathTimeRange = 100.
775 %(process)sFastTimerService.dqmPathTimeResolution = 0.5
776 %(process)sFastTimerService.dqmModuleTimeRange = 40.
777 %(process)sFastTimerService.dqmModuleTimeResolution = 0.2
778 %(process)sFastTimerService.dqmLuminosityRange = 1e+34
779 %(process)sFastTimerService.dqmLuminosityResolution = 1e+31
780 %(process)sFastTimerService.dqmLumiSectionsRange = 2500
781 %(process)sFastTimerService.dqmPath = 'HLT/TimerService'
782 %(process)sFastTimerService.luminosityProduct = cms.untracked.InputTag( 'hltScalersRawToDigi' )
783 %(process)sFastTimerService.supportedProcesses = cms.untracked.vuint32( )
787 # FastTimerServiceClient
788 %(process)sfastTimerServiceClient = cms.EDAnalyzer( "FastTimerServiceClient",
789 dqmPath = cms.untracked.string( "HLT/TimerService" )
793 %(process)sdqmFileSaver = cms.EDAnalyzer( "DQMFileSaver",
794 convention = cms.untracked.string( "Offline" ),
795 workflow = cms.untracked.string( "/HLT/FastTimerService/All" ),
796 dirName = cms.untracked.string( "." ),
797 saveByRun = cms.untracked.int32(1),
798 saveByLumiSection = cms.untracked.int32(-1),
799 saveByEvent = cms.untracked.int32(-1),
800 saveByTime = cms.untracked.int32(-1),
801 saveByMinute = cms.untracked.int32(-1),
802 saveAtJobEnd = cms.untracked.bool(False),
803 forceRunNumber = cms.untracked.int32(-1),
806 %(process)sTimingOutput = cms.EndPath( %(process)sfastTimerServiceClient + %(process)sdqmFileSaver )
811 sys.stderr.write(
'Path selection:\n')
813 sys.stderr.write(
'\t%s\n' % path)
814 sys.stderr.write(
'\n\n')
817 self.all_paths = self.getPathList()
819 if self.config.paths:
821 paths = self.config.paths.split(
',')
826 if self.config.fragment
or self.config.output
in (
'none',
'full'):
828 if self.config.paths:
833 paths.append(
"-*Output" )
834 elif self.config.output ==
'minimal':
836 if self.config.paths:
837 paths.append(
"HLTDQMResultsOutput" )
839 paths.append(
"-*Output" )
840 paths.append(
"HLTDQMResultsOutput" )
843 if self.config.paths:
844 paths.append(
"*Output" )
849 if self.config.fastsim:
850 paths.extend(
"-%s" % path
for path
in self.fastsimUnsupportedPaths )
853 if self.config.profiling:
854 paths.append(
"-HLTriggerFirstPath" )
855 paths.append(
"-HLTAnalyzerEndpath" )
858 paths.append(
"-OfflineOutput" )
861 paths = self.expandWildcards(paths, self.all_paths)
863 if self.config.paths:
865 self.options[
'paths'] = self.consolidatePositiveList(paths)
866 if not self.options[
'paths']:
867 raise RuntimeError(
'Error: option "--paths %s" does not select any valid paths' % self.config.paths)
870 self.options[
'paths'] = self.consolidateNegativeList(paths)
875 self.options[
'services'].
append(
"-FUShmDQMOutputService" )
877 if self.config.fragment:
879 self.options[
'essources'].
append(
"-GlobalTag" )
880 self.options[
'essources'].
append(
"-HepPDTESSource" )
881 self.options[
'essources'].
append(
"-XMLIdealGeometryESSource" )
882 self.options[
'essources'].
append(
"-eegeom" )
883 self.options[
'essources'].
append(
"-es_hardcode" )
884 self.options[
'essources'].
append(
"-magfield" )
886 self.options[
'esmodules'].
append(
"-AutoMagneticFieldESProducer" )
887 self.options[
'esmodules'].
append(
"-SlaveField0" )
888 self.options[
'esmodules'].
append(
"-SlaveField20" )
889 self.options[
'esmodules'].
append(
"-SlaveField30" )
890 self.options[
'esmodules'].
append(
"-SlaveField35" )
891 self.options[
'esmodules'].
append(
"-SlaveField38" )
892 self.options[
'esmodules'].
append(
"-SlaveField40" )
893 self.options[
'esmodules'].
append(
"-VBF0" )
894 self.options[
'esmodules'].
append(
"-VBF20" )
895 self.options[
'esmodules'].
append(
"-VBF30" )
896 self.options[
'esmodules'].
append(
"-VBF35" )
897 self.options[
'esmodules'].
append(
"-VBF38" )
898 self.options[
'esmodules'].
append(
"-VBF40" )
899 self.options[
'esmodules'].
append(
"-CSCGeometryESModule" )
900 self.options[
'esmodules'].
append(
"-CaloGeometryBuilder" )
901 self.options[
'esmodules'].
append(
"-CaloTowerHardcodeGeometryEP" )
902 self.options[
'esmodules'].
append(
"-CastorHardcodeGeometryEP" )
903 self.options[
'esmodules'].
append(
"-DTGeometryESModule" )
904 self.options[
'esmodules'].
append(
"-EcalBarrelGeometryEP" )
905 self.options[
'esmodules'].
append(
"-EcalElectronicsMappingBuilder" )
906 self.options[
'esmodules'].
append(
"-EcalEndcapGeometryEP" )
907 self.options[
'esmodules'].
append(
"-EcalLaserCorrectionService" )
908 self.options[
'esmodules'].
append(
"-EcalPreshowerGeometryEP" )
909 self.options[
'esmodules'].
append(
"-HcalHardcodeGeometryEP" )
910 self.options[
'esmodules'].
append(
"-HcalTopologyIdealEP" )
911 self.options[
'esmodules'].
append(
"-MuonNumberingInitialization" )
912 self.options[
'esmodules'].
append(
"-ParametrizedMagneticFieldProducer" )
913 self.options[
'esmodules'].
append(
"-RPCGeometryESModule" )
914 self.options[
'esmodules'].
append(
"-SiStripGainESProducer" )
915 self.options[
'esmodules'].
append(
"-SiStripRecHitMatcherESProducer" )
916 self.options[
'esmodules'].
append(
"-SiStripQualityESProducer" )
917 self.options[
'esmodules'].
append(
"-StripCPEfromTrackAngleESProducer" )
918 self.options[
'esmodules'].
append(
"-TrackerDigiGeometryESModule" )
919 self.options[
'esmodules'].
append(
"-TrackerGeometricDetESModule" )
920 self.options[
'esmodules'].
append(
"-VolumeBasedMagneticFieldESProducer" )
921 self.options[
'esmodules'].
append(
"-ZdcHardcodeGeometryEP" )
922 self.options[
'esmodules'].
append(
"-hcal_db_producer" )
923 self.options[
'esmodules'].
append(
"-L1GtTriggerMaskAlgoTrigTrivialProducer" )
924 self.options[
'esmodules'].
append(
"-L1GtTriggerMaskTechTrigTrivialProducer" )
925 self.options[
'esmodules'].
append(
"-hltESPEcalTrigTowerConstituentsMapBuilder" )
926 self.options[
'esmodules'].
append(
"-hltESPGlobalTrackingGeometryESProducer" )
927 self.options[
'esmodules'].
append(
"-hltESPMuonDetLayerGeometryESProducer" )
928 self.options[
'esmodules'].
append(
"-hltESPTrackerRecoGeometryESProducer" )
929 if not self.config.fastsim:
930 self.options[
'esmodules'].
append(
"-CaloTowerGeometryFromDBEP" )
931 self.options[
'esmodules'].
append(
"-CastorGeometryFromDBEP" )
932 self.options[
'esmodules'].
append(
"-EcalBarrelGeometryFromDBEP" )
933 self.options[
'esmodules'].
append(
"-EcalEndcapGeometryFromDBEP" )
934 self.options[
'esmodules'].
append(
"-EcalPreshowerGeometryFromDBEP" )
935 self.options[
'esmodules'].
append(
"-HcalGeometryFromDBEP" )
936 self.options[
'esmodules'].
append(
"-ZdcGeometryFromDBEP" )
937 self.options[
'esmodules'].
append(
"-XMLFromDBSource" )
938 self.options[
'esmodules'].
append(
"-sistripconn" )
940 self.options[
'services'].
append(
"-PrescaleService" )
941 self.options[
'services'].
append(
"-MessageLogger" )
942 self.options[
'services'].
append(
"-DQM" )
943 self.options[
'services'].
append(
"-DQMStore" )
944 self.options[
'services'].
append(
"-MicroStateService" )
945 self.options[
'services'].
append(
"-ModuleWebRegistry" )
946 self.options[
'services'].
append(
"-TimeProfilerService" )
947 self.options[
'services'].
append(
"-FastTimerService" )
949 self.options[
'psets'].
append(
"-maxEvents" )
950 self.options[
'psets'].
append(
"-options" )
952 if self.config.fastsim:
954 self.options[
'esmodules'].
append(
"-navigationSchoolESProducer" )
955 self.options[
'esmodules'].
append(
"-TransientTrackBuilderESProducer" )
956 self.options[
'esmodules'].
append(
"-SteppingHelixPropagatorAny" )
957 self.options[
'esmodules'].
append(
"-OppositeMaterialPropagator" )
958 self.options[
'esmodules'].
append(
"-MaterialPropagator" )
959 self.options[
'esmodules'].
append(
"-CaloTowerConstituentsMapBuilder" )
960 self.options[
'esmodules'].
append(
"-CaloTopologyBuilder" )
962 self.options[
'services'].
append(
"-UpdaterService" )
964 self.options[
'modules'].
append(
"hltL3MuonIsolations" )
965 self.options[
'modules'].
append(
"hltPixelVertices" )
966 self.options[
'modules'].
append(
"-hltCkfL1SeededTrackCandidates" )
967 self.options[
'modules'].
append(
"-hltCtfL1SeededithMaterialTracks" )
968 self.options[
'modules'].
append(
"-hltCkf3HitL1SeededTrackCandidates" )
969 self.options[
'modules'].
append(
"-hltCtf3HitL1SeededWithMaterialTracks" )
970 self.options[
'modules'].
append(
"-hltCkf3HitActivityTrackCandidates" )
971 self.options[
'modules'].
append(
"-hltCtf3HitActivityWithMaterialTracks" )
972 self.options[
'modules'].
append(
"-hltActivityCkfTrackCandidatesForGSF" )
973 self.options[
'modules'].
append(
"-hltL1SeededCkfTrackCandidatesForGSF" )
974 self.options[
'modules'].
append(
"-hltMuCkfTrackCandidates" )
975 self.options[
'modules'].
append(
"-hltMuCtfTracks" )
976 self.options[
'modules'].
append(
"-hltTau3MuCkfTrackCandidates" )
977 self.options[
'modules'].
append(
"-hltTau3MuCtfWithMaterialTracks" )
978 self.options[
'modules'].
append(
"-hltMuTrackJpsiCkfTrackCandidates" )
979 self.options[
'modules'].
append(
"-hltMuTrackJpsiCtfTracks" )
980 self.options[
'modules'].
append(
"-hltMuTrackJpsiEffCkfTrackCandidates" )
981 self.options[
'modules'].
append(
"-hltMuTrackJpsiEffCtfTracks" )
982 self.options[
'modules'].
append(
"-hltJpsiTkPixelSeedFromL3Candidate" )
983 self.options[
'modules'].
append(
"-hltCkfTrackCandidatesJpsiTk" )
984 self.options[
'modules'].
append(
"-hltCtfWithMaterialTracksJpsiTk" )
985 self.options[
'modules'].
append(
"-hltMuTrackCkfTrackCandidatesOnia" )
986 self.options[
'modules'].
append(
"-hltMuTrackCtfTracksOnia" )
988 self.options[
'modules'].
append(
"-hltESRegionalEgammaRecHit" )
989 self.options[
'modules'].
append(
"-hltEcalRegionalJetsFEDs" )
990 self.options[
'modules'].
append(
"-hltEcalRegionalMuonsFEDs" )
991 self.options[
'modules'].
append(
"-hltEcalRegionalEgammaFEDs" )
992 self.options[
'modules'].
append(
"-hltFEDSelector" )
993 self.options[
'modules'].
append(
"-hltL3TrajSeedOIHit" )
994 self.options[
'modules'].
append(
"-hltL3TrajSeedIOHit" )
995 self.options[
'modules'].
append(
"-hltL3TrackCandidateFromL2OIState" )
996 self.options[
'modules'].
append(
"-hltL3TrackCandidateFromL2OIHit" )
997 self.options[
'modules'].
append(
"-hltL3TrackCandidateFromL2IOHit" )
998 self.options[
'modules'].
append(
"-hltL3TrackCandidateFromL2NoVtx" )
999 self.options[
'modules'].
append(
"-hltHcalDigis" )
1000 self.options[
'modules'].
append(
"-hltHoreco" )
1001 self.options[
'modules'].
append(
"-hltHfreco" )
1002 self.options[
'modules'].
append(
"-hltHbhereco" )
1003 self.options[
'modules'].
append(
"-hltEcalRegionalRestFEDs" )
1004 self.options[
'modules'].
append(
"-hltEcalRegionalESRestFEDs" )
1005 self.options[
'modules'].
append(
"-hltEcalRawToRecHitFacility" )
1006 self.options[
'modules'].
append(
"-hltESRawToRecHitFacility" )
1007 self.options[
'modules'].
append(
"-hltEcalRegionalJetsRecHit" )
1008 self.options[
'modules'].
append(
"-hltEcalRegionalMuonsRecHit" )
1009 self.options[
'modules'].
append(
"-hltEcalRegionalEgammaRecHit" )
1010 self.options[
'modules'].
append(
"-hltEcalRecHitAll" )
1011 self.options[
'modules'].
append(
"-hltESRecHitAll" )
1013 self.options[
'modules'].
append(
"-hltPFJetCkfTrackCandidates" )
1014 self.options[
'modules'].
append(
"-hltPFJetCtfWithMaterialTracks" )
1015 self.options[
'modules'].
append(
"-hltPFlowTrackSelectionHighPurity" )
1017 self.options[
'modules'].
append(
"-hltDisplacedHT250L1FastJetRegionalPixelSeedGenerator" )
1018 self.options[
'modules'].
append(
"-hltDisplacedHT250L1FastJetRegionalCkfTrackCandidates" )
1019 self.options[
'modules'].
append(
"-hltDisplacedHT250L1FastJetRegionalCtfWithMaterialTracks" )
1020 self.options[
'modules'].
append(
"-hltDisplacedHT300L1FastJetRegionalPixelSeedGenerator" )
1021 self.options[
'modules'].
append(
"-hltDisplacedHT300L1FastJetRegionalCkfTrackCandidates" )
1022 self.options[
'modules'].
append(
"-hltDisplacedHT300L1FastJetRegionalCtfWithMaterialTracks" )
1023 self.options[
'modules'].
append(
"-hltBLifetimeRegionalPixelSeedGeneratorbbPhiL1FastJet" )
1024 self.options[
'modules'].
append(
"-hltBLifetimeRegionalCkfTrackCandidatesbbPhiL1FastJet" )
1025 self.options[
'modules'].
append(
"-hltBLifetimeRegionalCtfWithMaterialTracksbbPhiL1FastJet" )
1026 self.options[
'modules'].
append(
"-hltBLifetimeRegionalPixelSeedGeneratorHbbVBF" )
1027 self.options[
'modules'].
append(
"-hltBLifetimeRegionalCkfTrackCandidatesHbbVBF" )
1028 self.options[
'modules'].
append(
"-hltBLifetimeRegionalCtfWithMaterialTracksHbbVBF" )
1029 self.options[
'modules'].
append(
"-hltBLifetimeBTagIP3D1stTrkRegionalPixelSeedGeneratorJet20HbbL1FastJet" )
1030 self.options[
'modules'].
append(
"-hltBLifetimeBTagIP3D1stTrkRegionalCkfTrackCandidatesJet20HbbL1FastJet" )
1031 self.options[
'modules'].
append(
"-hltBLifetimeBTagIP3D1stTrkRegionalCtfWithMaterialTracksJet20HbbL1FastJet" )
1032 self.options[
'modules'].
append(
"-hltBLifetimeDiBTagIP3D1stTrkRegionalPixelSeedGeneratorJet20HbbL1FastJet" )
1033 self.options[
'modules'].
append(
"-hltBLifetimeDiBTagIP3D1stTrkRegionalCkfTrackCandidatesJet20HbbL1FastJet" )
1034 self.options[
'modules'].
append(
"-hltBLifetimeDiBTagIP3D1stTrkRegionalCtfWithMaterialTracksJet20HbbL1FastJet" )
1036 self.options[
'modules'].
append(
"-hltBLifetimeRegionalPixelSeedGeneratorHbb" )
1037 self.options[
'modules'].
append(
"-hltBLifetimeRegionalCkfTrackCandidatesHbb" )
1038 self.options[
'modules'].
append(
"-hltBLifetimeRegionalCtfWithMaterialTracksHbb" )
1039 self.options[
'modules'].
append(
"-hltBLifetimeRegionalPixelSeedGeneratorbbPhi" )
1040 self.options[
'modules'].
append(
"-hltBLifetimeRegionalCkfTrackCandidatesbbPhi" )
1041 self.options[
'modules'].
append(
"-hltBLifetimeRegionalCtfWithMaterialTracksbbPhi" )
1042 self.options[
'modules'].
append(
"-hltBLifetimeBTagIP3D1stTrkRegionalPixelSeedGeneratorJet20Hbb" )
1043 self.options[
'modules'].
append(
"-hltBLifetimeBTagIP3D1stTrkRegionalCkfTrackCandidatesJet20Hbb" )
1044 self.options[
'modules'].
append(
"-hltBLifetimeBTagIP3D1stTrkRegionalCtfWithMaterialTracksJet20Hbb" )
1045 self.options[
'modules'].
append(
"-hltBLifetimeDiBTagIP3D1stTrkRegionalPixelSeedGeneratorJet20Hbb" )
1046 self.options[
'modules'].
append(
"-hltBLifetimeDiBTagIP3D1stTrkRegionalCkfTrackCandidatesJet20Hbb" )
1047 self.options[
'modules'].
append(
"-hltBLifetimeDiBTagIP3D1stTrkRegionalCtfWithMaterialTracksJet20Hbb" )
1048 self.options[
'modules'].
append(
"-hltBLifetimeFastRegionalPixelSeedGeneratorHbbVBF" )
1049 self.options[
'modules'].
append(
"-hltBLifetimeFastRegionalCkfTrackCandidatesHbbVBF" )
1050 self.options[
'modules'].
append(
"-hltBLifetimeFastRegionalCtfWithMaterialTracksHbbVBF" )
1051 self.options[
'modules'].
append(
"-hltBLifetimeRegionalPixelSeedGeneratorbbPhiL1FastJetFastPV" )
1052 self.options[
'modules'].
append(
"-hltBLifetimeRegionalCkfTrackCandidatesbbPhiL1FastJetFastPV" )
1053 self.options[
'modules'].
append(
"-hltBLifetimeRegionalCtfWithMaterialTracksbbPhiL1FastJetFastPV" )
1054 self.options[
'modules'].
append(
"-hltFastPixelBLifetimeRegionalPixelSeedGeneratorHbb" )
1055 self.options[
'modules'].
append(
"-hltFastPixelBLifetimeRegionalCkfTrackCandidatesHbb" )
1056 self.options[
'modules'].
append(
"-hltFastPixelBLifetimeRegionalCtfWithMaterialTracksHbb" )
1058 self.options[
'modules'].
append(
"-hltPixelTracksForMinBias" )
1059 self.options[
'modules'].
append(
"-hltPixelTracksForHighMult" )
1060 self.options[
'modules'].
append(
"-hltRegionalPixelTracks" )
1061 self.options[
'modules'].
append(
"-hltPixelTracksReg" )
1062 self.options[
'modules'].
append(
"-hltIter4Merged" )
1063 self.options[
'modules'].
append(
"-hltFastPixelHitsVertex" )
1064 self.options[
'modules'].
append(
"-hltFastPixelTracks")
1065 self.options[
'modules'].
append(
"-hltFastPixelTracksRecover")
1067 self.options[
'modules'].
append(
"-hltFastPrimaryVertexbbPhi")
1068 self.options[
'modules'].
append(
"-hltPixelTracksFastPVbbPhi")
1069 self.options[
'modules'].
append(
"-hltPixelTracksRecoverbbPhi" )
1070 self.options[
'modules'].
append(
"-hltFastPixelHitsVertexVHbb" )
1071 self.options[
'modules'].
append(
"-hltFastPixelTracksVHbb" )
1072 self.options[
'modules'].
append(
"-hltFastPixelTracksRecoverVHbb" )
1074 self.options[
'modules'].
append(
"-hltFastPrimaryVertex")
1075 self.options[
'modules'].
append(
"-hltFastPVPixelTracks")
1076 self.options[
'modules'].
append(
"-hltFastPVPixelTracksRecover" )
1078 self.options[
'modules'].
append(
"-hltIter4Tau3MuMerged" )
1079 self.options[
'modules'].
append(
"hltPixelMatchElectronsActivity" )
1081 self.options[
'modules'].
append(
"-hltMuonCSCDigis" )
1082 self.options[
'modules'].
append(
"-hltMuonDTDigis" )
1083 self.options[
'modules'].
append(
"-hltMuonRPCDigis" )
1084 self.options[
'modules'].
append(
"-hltGtDigis" )
1085 self.options[
'modules'].
append(
"-hltL1GtTrigReport" )
1086 self.options[
'modules'].
append(
"hltCsc2DRecHits" )
1087 self.options[
'modules'].
append(
"hltDt1DRecHits" )
1088 self.options[
'modules'].
append(
"hltRpcRecHits" )
1089 self.options[
'modules'].
append(
"-hltScalersRawToDigi" )
1091 self.options[
'sequences'].
append(
"-HLTL1SeededEgammaRegionalRecoTrackerSequence" )
1092 self.options[
'sequences'].
append(
"-HLTEcalActivityEgammaRegionalRecoTrackerSequence" )
1093 self.options[
'sequences'].
append(
"-HLTPixelMatchElectronActivityTrackingSequence" )
1094 self.options[
'sequences'].
append(
"-HLTDoLocalStripSequence" )
1095 self.options[
'sequences'].
append(
"-HLTDoLocalPixelSequence" )
1096 self.options[
'sequences'].
append(
"-HLTDoLocalPixelSequenceRegL2Tau" )
1097 self.options[
'sequences'].
append(
"-hltSiPixelDigis" )
1098 self.options[
'sequences'].
append(
"-hltSiPixelClusters" )
1099 self.options[
'sequences'].
append(
"-hltSiPixelRecHits" )
1100 self.options[
'sequences'].
append(
"-HLTRecopixelvertexingSequence" )
1101 self.options[
'sequences'].
append(
"-HLTEndSequence" )
1102 self.options[
'sequences'].
append(
"-HLTBeginSequence" )
1103 self.options[
'sequences'].
append(
"-HLTBeginSequenceNZS" )
1104 self.options[
'sequences'].
append(
"-HLTBeginSequenceBPTX" )
1105 self.options[
'sequences'].
append(
"-HLTBeginSequenceAntiBPTX" )
1106 self.options[
'sequences'].
append(
"-HLTHBHENoiseSequence" )
1107 self.options[
'sequences'].
append(
"-HLTIterativeTracking" )
1108 self.options[
'sequences'].
append(
"-HLTIterativeTrackingTau3Mu" )
1109 self.options[
'sequences'].
append(
"-HLTRegionalCKFTracksForL3Isolation" )
1110 self.options[
'sequences'].
append(
"-HLTHBHENoiseCleanerSequence" )
1113 if self.config.fragment:
1114 self.options[
'paths'].
append(
"-HLTAnalyzerEndpath" )
1118 if self.config.input:
1120 if self.config.input[0:8] ==
'dataset:':
1121 from dbsFileQuery
import dbsFileQuery
1123 dataset = self.config.input[8:]
1124 query =
'find file where dataset=' + dataset
1129 self.source = self.config.input.split(
',')
1130 elif self.config.online:
1132 self.source = [
"file:/tmp/InputCollection.root" ]
1133 elif self.config.data:
1135 self.source = [
"file:RelVal_Raw_%s_DATA.root" % self.config.type ]
1138 self.source = [
"file:RelVal_Raw_%s_STARTUP.root" % self.config.type ]
1141 %(process)ssource = cms.Source( "PoolSource",
1142 fileNames = cms.untracked.vstring(
1145 for line
in self.source:
1146 self.data +=
" '%s',\n" % line
1148 secondaryFileNames = cms.untracked.vstring(
1151 for line
in self.parent:
1152 self.data +=
" '%s',\n" % line
1154 inputCommands = cms.untracked.vstring(
def loadAdditionalConditions
def instrumentErrorEventType
def releaseSpecificCustomize
def consolidateNegativeList
def consolidatePositiveList
static std::string join(char **cmd)
def getRawConfigurationFromDB
def addGlobalOptions
untracked parameters with NO default in the code if 'hltHcalDataIntegrityMonitor' in %(dict)s: %(proc...
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*","!HLTx*"if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL.It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of"!*"before the partial wildcard feature was incorporated).Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run