15from PyJobTransforms.trfDecorators
import stdTrfExceptionHandler, sigUsrStackTrace
16from RecJobTransforms.recTransformUtils
import addCommonRecTrfArgs, addStandardRecoFiles
47 executorSet.add(trigRecoExecutor(name =
'BSRDOtoRAW', skeletonFile =
'TriggerJobOpts/runHLT_standalone.py',
48 skeletonCA =
'TriggerJobOpts.runHLT',
49 substep =
'b2r', tryDropAndReload =
False,
50 inData = [
'BS_RDO',
'RDO'], outData = [
'BS',
'DRAW_TRIGCOST',
'HIST_HLTMON',
'HIST_DEBUGSTREAMMON'],
51 perfMonFile =
'ntuple_BSRDOtoRAW.pmon.gz',
52 literalRunargs = [
'writeBS = runArgs.writeBS',
53 'from AthenaCommon.AthenaCommonFlags import jobproperties as jps',
54 'jps.AthenaCommonFlags.FilesInput.set_Value_and_Lock(runArgs.inputBS_RDOFile)',
55 'jps.AthenaCommonFlags.EvtMax.set_Value_and_Lock(runArgs.maxEvents)',
56 'if hasattr(runArgs,\'skipEvents\'):',
57 ' jps.AthenaCommonFlags.SkipEvents.set_Value_and_Lock(runArgs.skipEvents)',
58 'if hasattr(runArgs,\'outputBSFile\'):',
59 ' jps.AthenaCommonFlags.BSRDOOutput.set_Value_and_Lock( runArgs.outputBSFile )']))
63 executorSet.add(trigCostExecutor(name =
'DRAWCOSTtoNTUPCOST',
64 exe =
'RunTrigCostAnalysis.py',
65 inData = [
'DRAW_TRIGCOST'], outData = [
'NTUP_TRIGCOST']))
69 executorSet.add(trigRateExecutor(name =
'AODtoNTUPRATE',
70 exe =
'RatesAnalysisFullMenu.py',
71 inData = [
'AOD'], outData = [
'NTUP_TRIGRATE']))
75 executorSet.add(athenaExecutor(name =
'RAWtoALL',
76 skeletonCA =
'RecJobTransforms.RAWtoALL_Skeleton',
77 substep =
'r2a', inData = [
'BS',
'RDO'],
78 outData = [
'ESD',
'AOD',
'HIST_R2A'],
79 perfMonFile =
'ntuple_RAWtoALL.pmon.gz'))
80 executorSet.add(DQMergeExecutor(name =
'DQHistogramMerge', inData = [
'HIST_R2A'], outData = [
'HIST']))
85 trf = transform(executor = executorSet, description =
'Trigger transform to run HLT, followed by'
86 ' general purpose ATLAS reconstruction transform. Input to HLT is inputBS_RDOFile'
87 ' with outputs of RDO, ESD or AOD. For more details see:'
88 ' https://twiki.cern.ch/twiki/bin/viewauth/Atlas/TriggerTransform or for reco_tf, see:'
89 ' https://twiki.cern.ch/twiki/bin/viewauth/Atlas/RecoTf')
93 addAthenaArguments(trf.parser)
94 addDetectorArguments(trf.parser)
96 addCommonRecTrfArgs(trf.parser)
97 addStandardRecoFiles(trf.parser)
111 parser.defineArgGroup(
'Trigger',
'Specific options related to the trigger configuration used for reprocessing')
115 parser.add_argument(
'--writeBS', type=trfArgClasses.argFactory(trfArgClasses.argBool, runarg=
True),
116 help=
'Needed if running BSRDO to BS step in athena (default: True)', group=
'Trigger', default=trfArgClasses.argBool(
True, runarg=
True))
118 parser.add_argument(
'--inputBS_RDOFile', nargs=
'+',
119 type=trfArgClasses.argFactory(trfArgClasses.argBSFile, io=
'input', runarg=
True, type=
'bs'),
120 help=
'Input bytestream file', group=
'Trigger')
122 parser.add_argument(
'--outputBSFile', nargs=
'+',
123 type=trfArgClasses.argFactory(trfArgClasses.argBSFile, io=
'output', runarg=
True, type=
'bs'),
124 help=
'Output bytestream file', group=
'Trigger')
128 parser.add_argument(
'--streamSelection', nargs=
'+', type=trfArgClasses.argFactory(trfArgClasses.argList, runarg=
True),
129 help=
'select output streams in produced BS file (default: \"Main\"). Specify \"All\" to disable splitting (standard reco will fail on any events with only PEB data)', group=
'Trigger', default=trfArgClasses.argList(
"Main", runarg=
True))
131 parser.add_argument(
'--outputHIST_HLTMONFile', nargs=
'+',
132 type=trfArgClasses.argFactory(trfArgClasses.argHISTFile, io=
'output', runarg=
True, countable=
False),
133 help=
'Output HLTMON file', group=
'Trigger')
135 parser.add_argument(
'--triggerConfig', nargs=
'+', metavar=
'substep=TRIGGERCONFIG',
136 type=trfArgClasses.argFactory(trfArgClasses.argSubstep, runarg=
True, separator=
'='),
137 help=
'Trigger Configuration String. '
138 'N.B. This argument uses EQUALS (=) to separate the substep name from the value.', group=
'Trigger')
140 parser.add_argument(
'--precommand', nargs=
'+', type=trfArgClasses.argFactory(trfArgClasses.argList, runarg=
True),
141 help=
'precommand for trigger step ("-c")', group=
'Trigger')
143 parser.add_argument(
'--postcommand', nargs=
'+', type=trfArgClasses.argFactory(trfArgClasses.argList, runarg=
True),
144 help=
'postcommand for trigger step ("-C")', group=
'Trigger')
147 parser.add_argument(
'--trigExe', type=trfArgClasses.argFactory(trfArgClasses.argString, runarg=
True),
148 default=trfArgClasses.argString(
"athenaHLT.py"),
149 help=
'Executable to run in the trigger step', group=
'Trigger')
152 parser.add_argument(
'--prodSysBSRDO', type=trfArgClasses.argFactory(trfArgClasses.argBool, runarg=
True),
153 help=
'For prodsys to make sure uses inputBS_RDOFile rather than inputBSFile when running the b2r step', group=
'Trigger')
158 parser.defineArgGroup(
'TrigCost',
'Specific options related to the trigger cost and rates steps in trigger reprocessings')
161 parser.add_argument(
'--outputDRAW_TRIGCOSTFile', nargs=
'+',
162 type=trfArgClasses.argFactory(trfArgClasses.argBSFile, io=
'output', runarg=
True),
163 help=
'Output bytestream file of CostMonitoring stream', group=
'TrigCost')
165 parser.add_argument(
'--inputDRAW_TRIGCOSTFile', nargs=
'+',
166 type=trfArgClasses.argFactory(trfArgClasses.argBSFile, io=
'input', runarg=
True),
167 help=
'Input bytestream file of CostMonitoring stream', group=
'TrigCost')
169 parser.add_argument(
'--outputNTUP_TRIGCOSTFile', nargs=
'+',
170 type=trfArgClasses.argFactory(trfArgClasses.argHISTFile, io=
'output', runarg=
True, countable=
False),
171 help=
'D3PD output NTUP_TRIGCOST file', group=
'TrigCost')
173 parser.add_argument(
'--outputNTUP_TRIGRATEFile', nargs=
'+',
174 type=trfArgClasses.argFactory(trfArgClasses.argHISTFile, io=
'output', runarg=
True, countable=
False),
175 help=
'D3PD output NTUP_TRIGRATE file', group=
'TrigCost')
178 parser.add_argument(
'--costopts', nargs=
'+',
179 type=trfArgClasses.argFactory(trfArgClasses.argSubstepList, splitter=
' ', runarg=
False),
180 help=
'Extra options to pass to cost processing.', group=
'TrigCost')
183 parser.add_argument(
'--rateopts', nargs=
'+',
184 type=trfArgClasses.argFactory(trfArgClasses.argSubstepList, splitter=
' ', runarg=
False),
185 help=
'Extra options to pass to rates analysis.', group=
'TrigCost')
189 parser.defineArgGroup(
'TriggerDB',
'Specific options related to the trigger DB')
191 parser.add_argument(
'--useDB', type=trfArgClasses.argFactory(trfArgClasses.argBool, runarg=
True),
192 help=
'read from DB', group=
'TriggerDB')
193 parser.add_argument(
'--DBserver', type=trfArgClasses.argFactory(trfArgClasses.argString, runarg=
True),
194 help=
'DB name', group=
'TriggerDB')
195 parser.add_argument(
'--DBsmkey', type=trfArgClasses.argFactory(trfArgClasses.argString, runarg=
True),
196 help=
'DB SMK', group=
'TriggerDB')
197 parser.add_argument(
'--DBhltpskey', type=trfArgClasses.argFactory(trfArgClasses.argString, runarg=
True),
198 help=
'DB hltpskey', group=
'TriggerDB')
199 parser.add_argument(
'--DBl1pskey', type=trfArgClasses.argFactory(trfArgClasses.argString, runarg=
True),
200 help=
'DB l1pskey', group=
'TriggerDB')