61     from TrigT1ResultByteStream.TrigT1ResultByteStreamConfig 
import RoIBResultByteStreamToolCfg
 
   63     decoderTools += [roibResultTool]
 
   66     for module_id 
in roibResultTool.L1TopoModuleIds:
 
   67         maybeMissingRobs.append(
int(SourceIdentifier(SubDetector.TDAQ_CALO_TOPO_PROC, module_id)))
 
   69     for module_id 
in roibResultTool.JetModuleIds:
 
   70         maybeMissingRobs.append(
int(SourceIdentifier(SubDetector.TDAQ_CALO_JET_PROC_ROI, module_id)))
 
   72     for module_id 
in roibResultTool.EMModuleIds:
 
   73         maybeMissingRobs.append(
int(SourceIdentifier(SubDetector.TDAQ_CALO_CLUSTER_PROC_ROI, module_id)))
 
   76     def addEDM(edmType, edmName):
 
   77         auxType = edmType.replace(
'Container',
'AuxContainer')
 
   78         return [f
'{edmType}#{edmName}', f
'{auxType}#{edmName}Aux.']
 
   80     if 'jFex' in subsystems:
 
   81         from L1CaloFEXByteStream.L1CaloFEXByteStreamConfig 
import (
 
   82             jFexRoiByteStreamToolCfg,jFexInputByteStreamToolCfg)
 
   86             flags, 
'jFexBSDecoder', writeBS=
False))
 
   88         decoderTools += [jFexTool]
 
   89         outputEDM += 
addEDM(
'xAOD::jFexSRJetRoIContainer',
 
   90                             jFexTool.jJRoIContainerWriteKey.Path)
 
   92         outputEDM += 
addEDM(
'xAOD::jFexLRJetRoIContainer',
 
   93                             jFexTool.jLJRoIContainerWriteKey.Path)
 
   95         outputEDM += 
addEDM(
'xAOD::jFexTauRoIContainer'  ,
 
   96                             jFexTool.jTauRoIContainerWriteKey.Path)
 
   98         outputEDM += 
addEDM(
'xAOD::jFexFwdElRoIContainer',
 
   99                             jFexTool.jEMRoIContainerWriteKey.Path)
 
  101         outputEDM += 
addEDM(
'xAOD::jFexSumETRoIContainer',
 
  102                             jFexTool.jTERoIContainerWriteKey.Path)
 
  103         outputEDM += 
addEDM(
'xAOD::jFexMETRoIContainer'  ,
 
  104                             jFexTool.jXERoIContainerWriteKey.Path)
 
  105         maybeMissingRobs += jFexTool.ROBIDs
 
  109             jFexInputByteStreamTool = acc.popToolsAndMerge(
 
  111                                            'jFexInputBSDecoderTool',
 
  114             decoderTools += [jFexInputByteStreamTool]
 
  115             outputEDM += 
addEDM(
'xAOD::jFexTowerContainer',
 
  116                                 jFexInputByteStreamTool.jTowersWriteKey.Path)
 
  117             maybeMissingRobs += jFexInputByteStreamTool.ROBIDs
 
  119     if 'eFex' in subsystems:
 
  120         from L1CaloFEXByteStream.L1CaloFEXByteStreamConfig 
import (
 
  121             eFexByteStreamToolCfg,)
 
  123         eFexTool = acc.popToolsAndMerge(
 
  127                                   decodeInputs=args.doCaloInput))
 
  129         decoderTools += [eFexTool]
 
  130         outputEDM += 
addEDM(
'xAOD::eFexEMRoIContainer',
 
  131                             eFexTool.eEMContainerWriteKey.Path)
 
  132         outputEDM += 
addEDM(
'xAOD::eFexTauRoIContainer',
 
  133                             eFexTool.eTAUContainerWriteKey.Path)
 
  136             outputEDM += 
addEDM(
'xAOD::eFexTowerContainer',
 
  137                                     eFexTool.eTowerContainerWriteKey.Path)
 
  139         maybeMissingRobs += eFexTool.ROBIDs
 
  141     if 'gFex' in subsystems:
 
  142         from L1CaloFEXByteStream.L1CaloFEXByteStreamConfig 
import (
 
  143             gFexByteStreamToolCfg,gFexInputByteStreamToolCfg,)
 
  146             flags, 
'gFexBSDecoder', writeBS=
False))
 
  148         decoderTools += [gFexTool]
 
  150             'xAOD::gFexJetRoIContainer',
 
  151             gFexTool.gFexRhoOutputContainerWriteKey.Path)
 
  154             'xAOD::gFexJetRoIContainer',
 
  155             gFexTool.gFexSRJetOutputContainerWriteKey.Path)
 
  158             'xAOD::gFexJetRoIContainer',
 
  159             gFexTool.gFexLRJetOutputContainerWriteKey.Path)
 
  162             'xAOD::gFexGlobalRoIContainer',
 
  163             gFexTool.gScalarEJwojOutputContainerWriteKey.Path)
 
  166             'xAOD::gFexGlobalRoIContainer',
 
  167             gFexTool.gMETComponentsJwojOutputContainerWriteKey.Path)
 
  170             'xAOD::gFexGlobalRoIContainer',
 
  171             gFexTool.gMHTComponentsJwojOutputContainerWriteKey.Path)
 
  174             'xAOD::gFexGlobalRoIContainer',
 
  175             gFexTool.gMSTComponentsJwojOutputContainerWriteKey.Path)
 
  178             'xAOD::gFexGlobalRoIContainer',
 
  179             gFexTool.gMETComponentsNoiseCutOutputContainerWriteKey.Path)
 
  182             'xAOD::gFexGlobalRoIContainer',
 
  183             gFexTool.gMETComponentsRmsOutputContainerWriteKey.Path)
 
  186             'xAOD::gFexGlobalRoIContainer',
 
  187             gFexTool.gScalarENoiseCutOutputContainerWriteKey.Path)
 
  190             'xAOD::gFexGlobalRoIContainer',
 
  191             gFexTool.gScalarERmsOutputContainerWriteKey.Path)
 
  193         maybeMissingRobs += gFexTool.ROBIDs
 
  196             gFexInputByteStreamTool = acc.popToolsAndMerge(
 
  198                     flags, 
'gFexInputByteStreamTool', writeBS=
False))
 
  200             decoderTools += [gFexInputByteStreamTool]
 
  201             outputEDM += 
addEDM(
'xAOD::gFexTowerContainer',
 
  202                                 gFexInputByteStreamTool.gTowersWriteKey.Path)
 
  204             maybeMissingRobs += gFexInputByteStreamTool.ROBIDs
 
  206     decoderAlg = CompFactory.L1TriggerByteStreamDecoderAlg(
 
  207         name=
"L1TriggerByteStreamDecoder",
 
  208         DecoderTools=decoderTools,
 
  209         MaybeMissingROBs=maybeMissingRobs,
 
  210         OutputLevel=algLogLevel)
 
  212     from OutputStreamAthenaPool.OutputStreamConfig 
import OutputStreamCfg
 
  213     log.debug(
'Adding the following output EDM to ItemList: %s', outputEDM)
 
  215     acc.addEventAlgo(decoderAlg, sequenceName=
'AthAlgSeq')