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