136 maybeMissingRobs = []
141 if not flags.Trigger.doLVL1:
144 flags, name=
"RoIBResultBSDecoderTool", writeBS=
False))
145 decoderTools += [roibResultTool]
147 for module_id
in roibResultTool.L1TopoModuleIds:
148 maybeMissingRobs.append(
int(SourceIdentifier(SubDetector.TDAQ_CALO_TOPO_PROC, module_id)))
149 if flags.Trigger.EDMVersion == 2
and not flags.Trigger.doHLT:
151 for module_id
in roibResultTool.JetModuleIds:
152 maybeMissingRobs.append(
int(SourceIdentifier(SubDetector.TDAQ_CALO_JET_PROC_ROI, module_id)))
153 for module_id
in roibResultTool.EMModuleIds:
154 maybeMissingRobs.append(
int(SourceIdentifier(SubDetector.TDAQ_CALO_CLUSTER_PROC_ROI, module_id)))
159 if flags.Trigger.L1.doMuon
and flags.Trigger.enableL1MuonPhase1
and flags.Trigger.doHLT :
161 flags, name=
"L1MuonBSDecoderTool", writeBS=
False))
162 decoderTools += [muonRoiTool]
167 if flags.Trigger.L1.doCalo
and flags.Trigger.enableL1CaloPhase1:
171 if flags.Trigger.L1.doeFex:
173 if flags.Trigger.doHLT:
191 decodeInputs=flags.Trigger.L1.doCaloInputs
193 decoderTools += [eFexByteStreamTool]
196 if not flags.Trigger.doHLT:
197 maybeMissingRobs += eFexByteStreamTool.ROBIDs
202 if flags.Trigger.L1.dojFex:
204 if flags.Trigger.doHLT:
218 decoderTools += [jFexRoiByteStreamTool]
219 maybeMissingRobs += jFexRoiByteStreamTool.ROBIDs
222 if flags.Trigger.L1.doCaloInputs:
225 'jFexInputBSDecoderTool',
228 decoderTools += [jFexInputByteStreamTool]
229 maybeMissingRobs += jFexInputByteStreamTool.ROBIDs
235 if flags.Trigger.L1.dogFex:
237 if flags.Trigger.doHLT:
243 decoderTools += [gFexByteStreamTool]
244 maybeMissingRobs += gFexByteStreamTool.ROBIDs
247 if flags.Trigger.L1.doCaloInputs:
250 'gFexInputBSDecoderTool',
253 decoderTools += [gFexInputByteStreamTool]
254 maybeMissingRobs += gFexInputByteStreamTool.ROBIDs
259 if flags.Trigger.L1.doTopo
and flags.Trigger.enableL1CaloPhase1
and flags.Trigger.L1.doTopoPhase1:
262 "L1TopoBSDecoderTool",
265 decoderTools += [topoByteStreamTool]
266 maybeMissingRobs += topoByteStreamTool.ROBIDs
268 decoderAlg = CompFactory.L1TriggerByteStreamDecoderAlg(name=
"L1TriggerByteStreamDecoder",
269 DecoderTools=decoderTools,
270 MaybeMissingROBs=
list(
set(maybeMissingRobs)))
272 if flags.Trigger.doHLT
or flags.DQ.Steering.doHLTMon:
273 from TrigT1ResultByteStream.TrigT1ResultByteStreamMonitoringConfig
import L1TriggerByteStreamDecoderMonitoringCfg
276 acc.addEventAlgo(decoderAlg, primary=
True)
279 from TriggerJobOpts.TriggerByteStreamConfig
import ByteStreamReadCfg
281 readBSAcc.getEventAlgo(
'SGInputLoader').Load.add(
282 (
'ByteStreamMetadataContainer',
'InputMetaDataStore+ByteStreamMetadata'))
286 if not flags.Trigger.doHLT:
287 from OutputStreamAthenaPool.OutputStreamConfig
import addToESD, addToAOD
289 _log.info(
'Adding the following output EDM to ItemList: %s', outputEDM)
290 acc.merge(
addToESD(flags, outputEDM))
291 acc.merge(
addToAOD(flags, outputEDM))
297 return acc, outputEDM