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