ATLAS Offline Software
Loading...
Searching...
No Matches
RDOtoBS_Steering.py
Go to the documentation of this file.
1# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
3from AthenaConfiguration.Enums import LHCPeriod
4
5from AthenaCommon.Logging import logging
6
7__log = logging.getLogger('RDOtoBS_Steering')
8
9
10def RDOtoBS_Steering(flags):
11 acc = ComponentAccumulator()
12
13 itemList = []
14
15 # LAr
16 from LArGeoAlgsNV.LArGMConfig import LArGMCfg
17 acc.merge(LArGMCfg(flags))
18 from LArByteStream.LArByteStreamConfig import LArRawDataContByteStreamToolCfg
19 larBS, larExtraInputs = LArRawDataContByteStreamToolCfg(flags, InitializeForWriting=True,DSPRunMode = 4, RodBlockVersion = 10)
20 acc.merge(larBS)
21 itemList += ["LArRawChannelContainer#*"]
22 # Tile
23 from TileGeoModel.TileGMConfig import TileGMCfg
24 acc.merge(TileGMCfg(flags))
25 from TileByteStream.TileByteStreamConfig import TileRawChannelContByteStreamToolCfg
26 tileCfg, tileExtraInputs = TileRawChannelContByteStreamToolCfg(flags, InitializeForWriting=True)
27 acc.merge(tileCfg)
28 itemList += ["TileRawChannelContainer#*"]
29 from TileConditions.TileBadChannelsConfig import TileBadChannelsCondAlgCfg
30 acc.merge( TileBadChannelsCondAlgCfg(flags) )
31
32 if flags.GeoModel.Run is LHCPeriod.Run4:
33 #ITk pixel
34 from ITkPixelCabling.ITkPixelCablingAlgConfig import ITkPixelCablingAlgCfg
35 acc.merge(ITkPixelCablingAlgCfg(flags, name="ITkPixelCablingAlg", UseTestCabling=True))
36
37 from PixelReadoutGeometry.PixelReadoutGeometryConfig import ITkPixelReadoutManagerCfg
38 acc.merge(ITkPixelReadoutManagerCfg(flags, name="ITkPixelReadoutManager"))
39
40 from ITkPixelByteStreamCnv.ITkPixelByteStreamCnvConfig import ITkPixelEncodingAlgCfg
41 acc.merge( ITkPixelEncodingAlgCfg(flags) )
42 itemList += ['ITkPixelRDO_Container#ITkPixelRDOs']
43
44 #ITk strips
45 from ITkStripsByteStreamCnv.ITkStripByteStreamCnvConfig import ITkStripRawContByteStreamToolProviderToolCfg
46 acc.merge(ITkStripRawContByteStreamToolProviderToolCfg(flags))
47 itemList += ['SCT_RDO_Container#ITkStripRDOs']
48
49 else:
50 if flags.Trigger.enableL1CaloLegacy or not flags.Trigger.enableL1MuonPhase1:
51 itemList += ["ROIB::RoIBResult#RoIBResult"]
52
53 if flags.Trigger.enableL1MuonPhase1 or flags.Trigger.enableL1CaloPhase1:
54 itemList += ["xAOD::TrigCompositeContainer#L1TriggerResult"]
55
56 from TrigT1ResultByteStream.TrigT1ResultByteStreamConfig import L1TriggerByteStreamEncoderCfg
57 acc.merge(L1TriggerByteStreamEncoderCfg(flags))
58
59 from InDetConfig.InDetPrepRawDataFormationConfig import (
60 PixelClusterizationCfg,
61 SCTClusterizationCfg,
62 InDetTRT_RIO_MakerCfg,
63 )
64
65 # Pixel
66 from PixelConditionsAlgorithms.PixelConditionsConfig import PixelCablingCondAlgCfg, PixelHitDiscCnfgAlgCfg
67 acc.merge(PixelCablingCondAlgCfg(flags))
68 acc.merge(PixelHitDiscCnfgAlgCfg(flags))
69 acc.merge(PixelClusterizationCfg(flags))
70 itemList += ["PixelRDO_Container#*"]
71 # SCT
72
73 acc.merge(SCTClusterizationCfg(flags))
74 itemList += ["SCT_RDO_Container#*"]
75 # TRT
76 acc.merge(InDetTRT_RIO_MakerCfg(flags))
77 itemList += ["TRT_RDO_Container#*"]
78
79 from MuonConfig.MuonRdoDecodeConfig import (
80 MuonRDOtoPRDConvertorsCfg
81 )
82
83 acc.merge(MuonRDOtoPRDConvertorsCfg(flags))
84
85 # MDT
86 itemList += ["MdtCsmContainer#*"]
87 # RPC
88 itemList += ["RpcPadContainer#*"]
89 # TGC
90 itemList += ["TgcRdoContainer#*"]
91 # MMG -- no converter?
92 # itemList += ["Muon::MM_RawDataContainer#*"]
93 # sTGC -- no converter?
94 # itemList += ["Muon::STGC_RawDataContainer#*"]
95
96 from ByteStreamCnvSvc.ByteStreamConfig import ByteStreamWriteCfg
97 acc.merge(ByteStreamWriteCfg(flags, itemList))
98
99 return acc
100