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 ITkPixelCabling.ITkPixelCablingAlgConfig import ITkPixelCablingAlgCfg
38 acc.merge(ITkPixelCablingAlgCfg(flags, name="ITkPixelCablingAlg", UseTestCabling=True))
39
40 from PixelReadoutGeometry.PixelReadoutGeometryConfig import ITkPixelReadoutManagerCfg
41 acc.merge(ITkPixelReadoutManagerCfg(flags, name="ITkPixelReadoutManager"))
42
43 from ITkPixelByteStreamCnv.ITkPixelByteStreamCnvConfig import ITkPixelEncodingAlgCfg
44 acc.merge( ITkPixelEncodingAlgCfg(flags) )
45 itemList += ['ITkPixelRDO_Container#ITkPixelRDOs']
46
47
48 if flags.Detector.EnableITkStrip:
49 from ITkStripsByteStreamCnv.ITkStripByteStreamCnvConfig import ITkStripRawContByteStreamToolProviderToolCfg
50 acc.merge(ITkStripRawContByteStreamToolProviderToolCfg(flags))
51 itemList += ['SCT_RDO_Container#ITkStripRDOs']
52
53 else:
54
55 if flags.Detector.EnablePixel:
56 from InDetConfig.InDetPrepRawDataFormationConfig import PixelClusterizationCfg
57 from PixelConditionsAlgorithms.PixelConditionsConfig import PixelCablingCondAlgCfg, PixelHitDiscCnfgAlgCfg
58 acc.merge(PixelCablingCondAlgCfg(flags))
59 acc.merge(PixelHitDiscCnfgAlgCfg(flags))
60 acc.merge(PixelClusterizationCfg(flags))
61 itemList += ["PixelRDO_Container#*"]
62
63
64 if flags.Detector.EnableSCT:
65 from InDetConfig.InDetPrepRawDataFormationConfig import SCTClusterizationCfg
66 acc.merge(SCTClusterizationCfg(flags))
67 itemList += ["SCT_RDO_Container#*"]
68
69
70 if flags.Detector.EnableTRT:
71 from InDetConfig.InDetPrepRawDataFormationConfig import InDetTRT_RIO_MakerCfg
72 acc.merge(InDetTRT_RIO_MakerCfg(flags))
73 itemList += ["TRT_RDO_Container#*"]
74
75
76 if flags.Detector.EnableMuon:
77 from MuonConfig.MuonRdoDecodeConfig import MuonRDOtoPRDConvertorsCfg
78 acc.merge(MuonRDOtoPRDConvertorsCfg(flags))
79
80
81 if flags.Detector.EnableMDT:
82 itemList += ["MdtCsmContainer#*"]
83
84 if flags.Detector.EnableRPC:
85 itemList += ["RpcPadContainer#*"]
86
87 if flags.Detector.EnableTGC:
88 itemList += ["TgcRdoContainer#*"]
89
90
91
92
93
94
95 if flags.Trigger.enableL1CaloLegacy or not flags.Trigger.enableL1MuonPhase1:
96 itemList += ["ROIB::RoIBResult#RoIBResult"]
97
98 if flags.Trigger.enableL1MuonPhase1 or flags.Trigger.enableL1CaloPhase1:
99 itemList += ["xAOD::TrigCompositeContainer#L1TriggerResult"]
100
101 from TrigT1ResultByteStream.TrigT1ResultByteStreamConfig import L1TriggerByteStreamEncoderCfg
102 acc.merge(L1TriggerByteStreamEncoderCfg(flags))
103
104
105 if flags.Input.isMC:
106 from ByteStreamCnvSvc.ByteStreamConfig import MCEventInfoByteStreamToolCfg
107 mcEventInfoTool = acc.popToolsAndMerge(MCEventInfoByteStreamToolCfg(flags, writeBS=True))
108 acc.addPublicTool(mcEventInfoTool)
109 itemList += ["xAOD::EventAuxInfo#*"]
110
111 from ByteStreamCnvSvc.ByteStreamConfig import ByteStreamWriteCfg
112 acc.merge(ByteStreamWriteCfg(flags, itemList))
113
114 return acc
115