10def RDOtoBS_Steering(flags):
11 acc = ComponentAccumulator()
12
13 itemList = []
14
15
16 if flags.Detector.EnableLAr:
17 from LArGeoAlgsNV.LArGMConfig import LArGMCfg
18 acc.merge(LArGMCfg(flags))
19 from LArByteStream.LArByteStreamConfig import LArRawDataContByteStreamToolCfg
20 larBS, larExtraInputs = LArRawDataContByteStreamToolCfg(flags, InitializeForWriting=True,DSPRunMode = 4, RodBlockVersion = 10)
21 acc.merge(larBS)
22 itemList += ["LArRawChannelContainer#*"]
23
24 if flags.Detector.EnableTile:
25 from TileGeoModel.TileGMConfig import TileGMCfg
26 acc.merge(TileGMCfg(flags))
27 from TileByteStream.TileByteStreamConfig import TileRawChannelContByteStreamToolCfg
28 tileCfg, tileExtraInputs = TileRawChannelContByteStreamToolCfg(flags, InitializeForWriting=True)
29 acc.merge(tileCfg)
30 itemList += ["TileRawChannelContainer#*"]
31 from TileConditions.TileBadChannelsConfig import TileBadChannelsCondAlgCfg
32 acc.merge( TileBadChannelsCondAlgCfg(flags) )
33
34 if flags.GeoModel.Run >= LHCPeriod.Run4:
35
36 if flags.Detector.EnableITkPixel:
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
45 if flags.Detector.EnableITkStrip:
46 from ITkStripsByteStreamCnv.ITkStripByteStreamCnvConfig import ITkStripRawContByteStreamToolProviderToolCfg
47 acc.merge(ITkStripRawContByteStreamToolProviderToolCfg(flags))
48 itemList += ['SCT_RDO_Container#ITkStripRDOs']
49
50 else:
51
52 if flags.Detector.EnablePixel:
53 from PixelReadoutGeometry.PixelReadoutGeometryConfig import PixelReadoutManagerCfg
54 acc.merge (PixelReadoutManagerCfg(flags))
55 from InDetConfig.InDetPrepRawDataFormationConfig import PixelClusterizationCfg
56 from PixelConditionsAlgorithms.PixelConditionsConfig import PixelCablingCondAlgCfg, PixelHitDiscCnfgAlgCfg
57 acc.merge(PixelCablingCondAlgCfg(flags))
58 acc.merge(PixelHitDiscCnfgAlgCfg(flags))
59 acc.merge(PixelClusterizationCfg(flags))
60 itemList += ["PixelRDO_Container#*"]
61
62
63 if flags.Detector.EnableSCT:
64 from SCT_RawDataByteStreamCnv.testSCTEncodeNewConf import SCTRawContByteStreamToolProviderToolCfg
65 acc.merge(SCTRawContByteStreamToolProviderToolCfg(flags))
66 from InDetConfig.InDetPrepRawDataFormationConfig import SCTClusterizationCfg
67 acc.merge(SCTClusterizationCfg(flags))
68 itemList += ["SCT_RDO_Container#*"]
69
70
71 if flags.Detector.EnableTRT:
72 from InDetConfig.InDetPrepRawDataFormationConfig import InDetTRT_RIO_MakerCfg
73 acc.merge(InDetTRT_RIO_MakerCfg(flags))
74 itemList += ["TRT_RDO_Container#*"]
75
76
77 if flags.Detector.EnableMuon:
78 from MuonConfig.MuonRdoDecodeConfig import MuonRDOtoPRDConvertorsCfg
79 acc.merge(MuonRDOtoPRDConvertorsCfg(flags))
80
81
82 if flags.Detector.EnableMDT:
83 itemList += ["MdtCsmContainer#*"]
84
85 if flags.Detector.EnableRPC:
86 itemList += ["RpcPadContainer#*"]
87
88 if flags.Detector.EnableTGC:
89 itemList += ["TgcRdoContainer#*"]
90
91
92
93
94
95
96 if flags.Trigger.enableL1CaloLegacy or not flags.Trigger.enableL1MuonPhase1:
97 itemList += ["ROIB::RoIBResult#RoIBResult"]
98
99 if flags.Trigger.enableL1MuonPhase1 or flags.Trigger.enableL1CaloPhase1:
100 itemList += ["xAOD::TrigCompositeContainer#L1TriggerResult"]
101
102 from TrigT1ResultByteStream.TrigT1ResultByteStreamConfig import L1TriggerByteStreamEncoderCfg
103 acc.merge(L1TriggerByteStreamEncoderCfg(flags))
104
105
106 if flags.Input.isMC:
107 from ByteStreamCnvSvc.ByteStreamConfig import MCEventInfoByteStreamToolCfg
108 mcEventInfoTool = acc.popToolsAndMerge(MCEventInfoByteStreamToolCfg(flags, writeBS=True))
109 acc.addPublicTool(mcEventInfoTool)
110 itemList += ["xAOD::EventAuxInfo#*"]
111
112 from ByteStreamCnvSvc.ByteStreamConfig import ByteStreamWriteCfg
113 acc.merge(ByteStreamWriteCfg(flags, itemList))
114
115 return acc
116