61def DigitizationMainContentCfg(flags):
62
63 acc = ComponentAccumulator()
64
65 acc.merge(writeDigitizationMetadata(flags))
66
67 if not flags.Digitization.PileUp:
68
69 if "EventInfo" not in flags.Input.Collections:
70 from xAODEventInfoCnv.xAODEventInfoCnvConfig import EventInfoCnvAlgCfg
71 acc.merge(EventInfoCnvAlgCfg(flags,
72 inputKey="McEventInfo",
73 outputKey="Input_EventInfo"))
74
75 from xAODEventInfoCnv.xAODEventInfoCnvConfig import EventInfoUpdateFromContextAlgCfg
76 acc.merge(EventInfoUpdateFromContextAlgCfg(flags))
77
78
79 from DigitizationConfig.PileUpConfig import NoPileUpMuWriterCfg
80 acc.merge(NoPileUpMuWriterCfg(flags))
81
82
83 if flags.Digitization.PileUp:
84 if HepMCVersion() == 3:
85 from MCTruthSimAlgs.MCTruthSimAlgsConfig import SimpleMergeMcEventCollCfg as MergeMcEventCollCfg
86 from MCTruthSimAlgs.MCTruthSimAlgsConfig import InTimeOnlySimpleMergeMcEventCollCfg as InTimeOnlyMergeMcEventCollCfg
87 from MCTruthSimAlgs.MCTruthSimAlgsConfig import SignalOnlySimpleMergeMcEventCollCfg as SignalOnlyMergeMcEventCollCfg
88 else:
89 from MCTruthSimAlgs.MCTruthSimAlgsConfig import MergeMcEventCollCfg
90 from MCTruthSimAlgs.MCTruthSimAlgsConfig import InTimeOnlyMcEventCollCfg as InTimeOnlyMergeMcEventCollCfg
91 from MCTruthSimAlgs.MCTruthSimAlgsConfig import SignalOnlyMcEventCollCfg as SignalOnlyMergeMcEventCollCfg
92 from MCTruthSimAlgs.MCTruthSimAlgsConfig import (
93 MergeAntiKt4TruthJetsCfg,
94 MergeAntiKt6TruthJetsCfg,
95 MergeTruthParticlesCfg,
96 MergeMuonEntryLayerCfg,
97 MergeCalibHitsCfg,
98 MergeHijingParsCfg,
99 )
100 if flags.Common.ProductionStep is not ProductionStep.FastChain and getEnabledDetectors(flags):
101 if flags.Digitization.DigiSteeringConf=="StandardPileUpToolsAlg":
102 acc.merge(MergeMcEventCollCfg(flags))
103 elif flags.Digitization.DigiSteeringConf=="StandardInTimeOnlyTruthPileUpToolsAlg":
104 acc.merge(InTimeOnlyMergeMcEventCollCfg(flags))
105 else:
106 acc.merge(SignalOnlyMergeMcEventCollCfg(flags))
107 if flags.Digitization.EnableTruth:
108 puCollections = pileupInputCollections(flags.Digitization.PU.LowPtMinBiasInputCols)
109 if "AntiKt4TruthJets" in puCollections:
110 acc.merge(MergeAntiKt4TruthJetsCfg(flags))
111 if "AntiKt6TruthJets" in puCollections:
112 acc.merge(MergeAntiKt6TruthJetsCfg(flags))
113 if "TruthPileupParticles" in puCollections:
114 acc.merge(MergeTruthParticlesCfg(flags))
115 acc.merge(MergeMuonEntryLayerCfg(flags))
116 acc.merge(MergeCalibHitsCfg(flags))
117 if 'Hijing_event_params' in pileupInputCollections(flags.Digitization.PU.CavernInputCols):
118 acc.merge(MergeHijingParsCfg(flags))
119
120
121 from DigitizationConfig.TruthDigitizationOutputConfig import TruthDigitizationOutputCfg
122 acc.merge(TruthDigitizationOutputCfg(flags))
123
124
125 if flags.Common.ProductionStep != ProductionStep.PileUpPresampling and flags.Digitization.InputBeamSigmaZ > 0:
126 from BeamEffects.BeamEffectsAlgConfig import BeamSpotReweightingAlgCfg
127 acc.merge(BeamSpotReweightingAlgCfg(flags))
128
129
130 if flags.Detector.EnableBCM:
131 from BCM_Digitization.BCM_DigitizationConfig import BCM_DigitizationCfg
132 acc.merge(BCM_DigitizationCfg(flags))
133 if flags.Detector.EnablePixel:
134 from PixelDigitization.PixelDigitizationConfig import PixelDigitizationCfg
135 acc.merge(PixelDigitizationCfg(flags))
136 if flags.Detector.EnableSCT:
137 from SCT_Digitization.SCT_DigitizationConfig import SCT_DigitizationCfg
138 acc.merge(SCT_DigitizationCfg(flags))
139 if flags.Detector.EnableTRT:
140 from TRT_Digitization.TRT_DigitizationConfig import TRT_DigitizationCfg
141 acc.merge(TRT_DigitizationCfg(flags))
142
143
144 if flags.Detector.EnableITkPixel:
145 from PixelDigitization.ITkPixelDigitizationConfig import ITkPixelDigitizationCfg
146 acc.merge(ITkPixelDigitizationCfg(flags))
147 if flags.Detector.EnableITkStrip:
148 from StripDigitization.StripDigitizationConfig import ITkStripDigitizationCfg
149 acc.merge(ITkStripDigitizationCfg(flags))
150 if flags.Detector.EnablePLR:
151 from PixelDigitization.PLR_DigitizationConfig import PLR_DigitizationCfg
152 acc.merge(PLR_DigitizationCfg(flags))
153
154
155 if flags.Detector.EnableHGTD:
156 from HGTD_Digitization.HGTD_DigitizationConfig import HGTD_DigitizationCfg
157 acc.merge(HGTD_DigitizationCfg(flags))
158
159
160 if flags.Detector.EnableLAr:
161 from LArDigitization.LArDigitizationConfig import LArTriggerDigitizationCfg
162 acc.merge(LArTriggerDigitizationCfg(flags))
163 if flags.Detector.EnableTile:
164 from TileSimAlgs.TileDigitizationConfig import TileDigitizationCfg, TileTriggerDigitizationCfg
165 acc.merge(TileDigitizationCfg(flags))
166 acc.merge(TileTriggerDigitizationCfg(flags))
167
168
169 if flags.Detector.EnableMDT:
170 from MuonConfig.MDT_DigitizationConfig import MDT_DigitizationDigitToRDOCfg
171 acc.merge(MDT_DigitizationDigitToRDOCfg(flags))
172 if flags.Detector.EnableTGC:
173 from MuonConfig.TGC_DigitizationConfig import TGC_DigitizationDigitToRDOCfg
174 acc.merge(TGC_DigitizationDigitToRDOCfg(flags))
175 if flags.Detector.EnableRPC:
176 from MuonConfig.RPC_DigitizationConfig import RPC_DigitizationDigitToRDOCfg
177 acc.merge(RPC_DigitizationDigitToRDOCfg(flags))
178 if flags.Detector.EnableCSC:
179 from MuonConfig.CSC_DigitizationConfig import CSC_DigitizationDigitToRDOCfg
180 acc.merge(CSC_DigitizationDigitToRDOCfg(flags))
181 if flags.Detector.EnablesTGC:
182 from MuonConfig.sTGC_DigitizationConfig import sTGC_DigitizationDigitToRDOCfg
183 acc.merge(sTGC_DigitizationDigitToRDOCfg(flags))
184 if flags.Detector.EnableMM:
185 from MuonConfig.MM_DigitizationConfig import MM_DigitizationDigitToRDOCfg
186 acc.merge(MM_DigitizationDigitToRDOCfg(flags))
187
188
189 if flags.Detector.EnableLucid:
190 from LUCID_Digitization.LUCID_DigitizationConfig import LUCID_DigitizationCfg
191 acc.merge(LUCID_DigitizationCfg(flags))
192
193
194 if flags.Detector.EnableAFP:
195 from AFP_Digitization.AFP_DigitizationConfig import AFP_DigitizationCfg
196 acc.merge(AFP_DigitizationCfg(flags))
197
198
199 if flags.Detector.EnableALFA:
200 from ALFA_Digitization.ALFA_DigitizationConfig import ALFA_DigitizationCfg
201 acc.merge(ALFA_DigitizationCfg(flags))
202
203
204 if flags.Detector.EnableZDC:
205 from ZDC_SimuDigitization.ZDC_SimuDigitizationConfig import ZDC_DigitizationCfg
206 acc.merge(ZDC_DigitizationCfg(flags))
207
208
209 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
210 acc.merge(SetupMetaDataForStreamCfg(flags, "RDO"))
211
212 return acc
213
214