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