1"""ComponentAccumulator configuration for Monte Carlo Truth simulation algorithms
3Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
6from AthenaConfiguration.ComponentFactory
import CompFactory
7from AthenaConfiguration.Enums
import ProductionStep
8from DigitizationConfig.PileUpToolsConfig
import PileUpToolsCfg
9from DigitizationConfig.PileUpMergeSvcConfig
import PileUpMergeSvcCfg, PileUpXingFolderCfg
14 acc = ComponentAccumulator()
15 kwargs.setdefault(
"TruthCollInputKey",
"TruthEvent")
16 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
17 kwargs.setdefault(
"TruthCollOutputKey", flags.Overlay.BkgPrefix +
"TruthEvent")
19 kwargs.setdefault(
"TruthCollOutputKey",
"TruthEvent")
20 kwargs.setdefault(
"LowTimeToKeep", -50.5)
21 kwargs.setdefault(
"HighTimeToKeep", 50.5)
22 kwargs.setdefault(
"KeepUnstable",
False)
23 kwargs.setdefault(
"AbsEtaMax", 5.0)
24 kwargs.setdefault(
"OutOfTimeAbsEtaMax", 3.0)
25 kwargs.setdefault(
"rRange", 20.0)
26 kwargs.setdefault(
"zRange", 200.0)
27 kwargs.setdefault(
"SaveCavernBackground",
True)
28 kwargs.setdefault(
"SaveInTimeMinBias",
True)
29 kwargs.setdefault(
"SaveOutOfTimeMinBias",
True)
30 kwargs.setdefault(
"SaveRestOfMinBias",
False)
31 kwargs.setdefault(
"AddBackgroundCollisionVertices",
True)
32 kwargs.setdefault(
"CompressOutputCollection",
False)
33 tool = CompFactory.MergeMcEventCollTool(name, **kwargs)
34 acc.merge(PileUpToolsCfg(flags, PileUpTools=tool))
39 acc = ComponentAccumulator()
40 if flags.Digitization.DoXingByXingPileUp:
41 kwargs.setdefault(
"FirstXing", -30000)
42 kwargs.setdefault(
"LastXing", 30000)
43 kwargs.setdefault(
"DoSlimming",
False)
44 kwargs.setdefault(
"OnlySaveSignalTruth",
False)
50 acc = ComponentAccumulator()
51 if flags.Digitization.DoXingByXingPileUp:
52 kwargs.setdefault(
"FirstXing", 0)
53 kwargs.setdefault(
"LastXing", 0)
54 kwargs.setdefault(
"OnlySaveSignalTruth",
True)
60 acc = ComponentAccumulator()
61 if flags.Digitization.DoXingByXingPileUp:
62 kwargs.setdefault(
"FirstXing", 0)
63 kwargs.setdefault(
"LastXing", 0)
64 kwargs.setdefault(
"DoSlimming",
False)
65 kwargs.setdefault(
"OnlySaveSignalTruth",
False)
71 acc = ComponentAccumulator()
72 if flags.Digitization.DoXingByXingPileUp:
73 kwargs.setdefault(
"PileUpMergeSvc",
"")
75 kwargs.setdefault(
"PileUpMergeSvc", acc.getPrimaryAndMerge(PileUpMergeSvcCfg(flags)))
76 kwargs.setdefault(
"OnlySaveSignalTruth",
False)
77 kwargs.setdefault(
"OverrideEventNumbers",
True)
78 kwargs.setdefault(
"TruthCollInputKey",
"TruthEvent")
79 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
80 kwargs.setdefault(
"TruthCollOutputKey", flags.Overlay.BkgPrefix +
"TruthEvent")
82 kwargs.setdefault(
"TruthCollOutputKey",
"TruthEvent")
83 tool = CompFactory.SimpleMergeMcEventCollTool(name, **kwargs)
84 acc.merge(PileUpToolsCfg(flags, PileUpTools=tool))
89 if flags.Digitization.DoXingByXingPileUp:
90 kwargs.setdefault(
"FirstXing", -30000)
91 kwargs.setdefault(
"LastXing", 30000)
96 if flags.Digitization.DoXingByXingPileUp:
97 kwargs.setdefault(
"FirstXing", 0)
98 kwargs.setdefault(
"LastXing", 0)
99 kwargs.setdefault(
"OnlySaveSignalTruth",
True)
104 if flags.Digitization.DoXingByXingPileUp:
105 kwargs.setdefault(
"FirstXing", 0)
106 kwargs.setdefault(
"LastXing", 0)
123 """Return a Truth-Jet configured PileUpXingFolder tool"""
127 itemList = [
"xAOD::JetContainer#AntiKt4TruthJets",
128 "xAOD::JetContainer#AntiKt6TruthJets"]
129 kwargs.setdefault(
"ItemList", itemList)
130 return PileUpXingFolderCfg(flags, name, **kwargs)
134 acc = ComponentAccumulator()
136 acc.merge(PileUpMergeSvcCfg(flags, Intervals=rangetool))
137 if flags.Digitization.DoXingByXingPileUp:
140 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
141 kwargs.setdefault(
"InTimeOutputTruthJetCollKey", flags.Overlay.BkgPrefix +
"InTimeAntiKt4TruthJets")
142 kwargs.setdefault(
"OutOfTimeTruthJetCollKey", flags.Overlay.BkgPrefix +
"OutOfTimeAntiKt4TruthJets")
144 kwargs.setdefault(
"InTimeOutputTruthJetCollKey",
"InTimeAntiKt4TruthJets")
145 kwargs.setdefault(
"OutOfTimeTruthJetCollKey",
"OutOfTimeAntiKt4TruthJets")
146 tool = CompFactory.MergeTruthJetsTool(name, **kwargs)
147 acc.merge(PileUpToolsCfg(flags, PileUpTools=tool))
152 acc = ComponentAccumulator()
154 acc.merge(PileUpMergeSvcCfg(flags, Intervals=rangetool))
155 if flags.Digitization.DoXingByXingPileUp:
158 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
159 kwargs.setdefault(
"InTimeOutputTruthJetCollKey", flags.Overlay.BkgPrefix +
"InTimeAntiKt6TruthJets")
160 kwargs.setdefault(
"OutOfTimeTruthJetCollKey", flags.Overlay.BkgPrefix +
"OutOfTimeAntiKt6TruthJets")
162 kwargs.setdefault(
"InTimeOutputTruthJetCollKey",
"InTimeAntiKt6TruthJets")
163 kwargs.setdefault(
"OutOfTimeTruthJetCollKey",
"OutOfTimeAntiKt6TruthJets")
164 tool = CompFactory.MergeTruthJetsTool(name, **kwargs)
165 acc.merge(PileUpToolsCfg(flags, PileUpTools=tool))
170 acc = ComponentAccumulator()
171 kwargs.setdefault(
"ActivateFilter",
True)
189 """Return a Truth-Particle configured PileUpXingFolder tool"""
193 kwargs.setdefault(
"ItemList", [
"xAOD::TruthParticleContainer#TruthPileupParticles",
194 "xAOD::TruthParticleAuxContainer#TruthPileupParticlesAux."])
195 return PileUpXingFolderCfg(flags, name, **kwargs)
199 acc = ComponentAccumulator()
201 acc.merge(PileUpMergeSvcCfg(flags, Intervals=rangetool))
202 if flags.Digitization.DoXingByXingPileUp:
205 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
206 kwargs.setdefault(
"InTimeOutputTruthParticleCollKey", flags.Overlay.BkgPrefix +
"TruthPileupParticles")
208 kwargs.setdefault(
"InTimeOutputTruthParticleCollKey",
"TruthPileupParticles")
209 tool = CompFactory.MergeTruthParticlesTool(name, **kwargs)
210 acc.merge(PileUpToolsCfg(flags, PileUpTools=tool))
227 """Return a Track configured PileUpXingFolder tool"""
231 kwargs.setdefault(
"ItemList", [
"TrackRecordCollection#MuonExitLayer"])
232 return PileUpXingFolderCfg(flags, name, **kwargs)
236 acc = ComponentAccumulator()
238 acc.merge(PileUpMergeSvcCfg(flags, Intervals=rangetool))
239 if flags.Digitization.DoXingByXingPileUp:
242 tool = CompFactory.MergeTrackRecordCollTool(name, **kwargs)
243 acc.merge(PileUpToolsCfg(flags, PileUpTools=tool))
248 acc = ComponentAccumulator()
249 kwargs.setdefault(
"TrackRecordCollKey",
"CaloEntryLayer")
250 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
251 kwargs.setdefault(
"TrackRecordCollOutputKey", flags.Overlay.BkgPrefix +
"CaloEntryLayer")
253 kwargs.setdefault(
"TrackRecordCollOutputKey",
"CaloEntryLayer")
259 acc = ComponentAccumulator()
260 kwargs.setdefault(
"TrackRecordCollKey",
"MuonEntryLayer")
261 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
262 kwargs.setdefault(
"TrackRecordCollOutputKey", flags.Overlay.BkgPrefix +
"MuonEntryLayer")
264 kwargs.setdefault(
"TrackRecordCollOutputKey",
"MuonEntryLayer")
270 acc = ComponentAccumulator()
271 kwargs.setdefault(
"TrackRecordCollKey",
"MuonExitLayer")
272 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
273 kwargs.setdefault(
"TrackRecordCollOutputKey", flags.Overlay.BkgPrefix +
"MuonExitLayer")
275 kwargs.setdefault(
"TrackRecordCollOutputKey",
"MuonExitLayer")
281 acc = ComponentAccumulator()
282 if flags.Digitization.DoXingByXingPileUp:
283 kwargs.setdefault(
"FirstXing", -1)
284 kwargs.setdefault(
"LastXing", +1)
285 tool = CompFactory.MergeHijingParsTool(name, **kwargs)
286 acc.merge(PileUpToolsCfg(flags, PileUpTools=tool))
302 """Return a Calibration configured PileUpXingFolder tool"""
307 "CaloCalibrationHitContainer#LArCalibrationHitActive",
308 "CaloCalibrationHitContainer#LArCalibrationHitDeadMaterial",
309 "CaloCalibrationHitContainer#LArCalibrationHitInactive",
310 "CaloCalibrationHitContainer#TileCalibHitActiveCell",
311 "CaloCalibrationHitContainer#TileCalibHitInactiveCell",
312 "CaloCalibrationHitContainer#TileCalibHitDeadMaterial"
314 kwargs.setdefault(
"ItemList", ItemList)
315 return PileUpXingFolderCfg(flags, name, **kwargs)
319 acc = ComponentAccumulator()
321 acc.merge(PileUpMergeSvcCfg(flags, Intervals=rangetool))
322 if flags.Digitization.DoXingByXingPileUp:
325 tool = CompFactory.MergeCalibHitsTool(name, **kwargs)
326 acc.merge(PileUpToolsCfg(flags, PileUpTools=tool))
331 acc = ComponentAccumulator()
332 tool = CompFactory.MergeGenericMuonSimHitCollTool(name, **kwargs)
333 acc.merge(PileUpToolsCfg(flags, PileUpTools=tool))
338 acc = ComponentAccumulator()
339 kwargs.setdefault(
"SimHitContainerNames", [
"MM_Hits"])
340 if flags.Digitization.DoXingByXingPileUp:
341 kwargs.setdefault(
"FirstXing", -250)
342 kwargs.setdefault(
"LastXing", 200)
343 tool = CompFactory.MergeGenericMuonSimHitCollTool(name, **kwargs)
344 acc.merge(PileUpToolsCfg(flags, PileUpTools=tool))
349 acc = ComponentAccumulator()
350 kwargs.setdefault(
"SimHitContainerNames", [
"sTGC_Hits"])
351 if flags.Digitization.DoXingByXingPileUp:
352 kwargs.setdefault(
"FirstXing", -50)
353 kwargs.setdefault(
"LastXing", 75)
354 tool = CompFactory.MergeGenericMuonSimHitCollTool(name, **kwargs)
355 acc.merge(PileUpToolsCfg(flags, PileUpTools=tool))
MergeCaloEntryLayerCfg(flags, name="MergeCaloEntryLayerTool", **kwargs)
MergeMuonEntryLayerCfg(flags, name="MergeMuonEntryLayerTool", **kwargs)
MergeTruthParticlesCfg(flags, name="MergeTruthParticlesTool", **kwargs)
InTimeOnlyMcEventCollCfg(flags, name="InTimeOnlyMcEventCollTool", **kwargs)
MergeSTGCSimHitCollCfg(flags, name="MergeSTGCSimHitCollTool", **kwargs)
SignalOnlySimpleMergeMcEventCollCfg(flags, name="SignalOnlyMcEventCollTool", **kwargs)
MergeTrackRecordCollCfg(flags, name="MergeTrackRecordCollTool", **kwargs)
MergeMuonExitLayerCfg(flags, name="MergeMuonExitLayerTool", **kwargs)
TrackRangeCfg(flags, name="TrackRange", **kwargs)
TruthParticleRangeCfg(flags, name="TruthParticleRange", **kwargs)
SignalOnlyMcEventCollCfg(flags, name="SignalOnlyMcEventCollTool", **kwargs)
MergeHijingParsCfg(flags, name="MergeHijingParsTool", **kwargs)
MergeCalibHitsCfg(flags, name="MergeCalibHitsTool", **kwargs)
MergeGenericMuonSimHitCollCfg(flags, name="MergeGenericMuonSimHitCollTool", **kwargs)
MergeMicromegasSimHitCollCfg(flags, name="MergeMicromegasSimHitCollTool", **kwargs)
MergeAntiKt6TruthJetsCfg(flags, name="MergeAntiKt6TruthJetsTool", **kwargs)
SimpleMergeMcEventCollCfg(flags, name="MergeMcEventCollTool", **kwargs)
MergeTruthJetsFilterCfg(flags, name="MergeTruthJetsFilterTool", **kwargs)
MergeMcEventCollCfg(flags, name="MergeMcEventCollTool", **kwargs)
TruthParticle_FirstXing()
MergeAntiKt4TruthJetsCfg(flags, name="MergeAntiKt4TruthJetsTool", **kwargs)
CalibRangeCfg(flags, name="CalibRange", **kwargs)
GenericSimpleMergeMcEventCollCfg(flags, name="MergeMcEventCollTool", **kwargs)
TruthJetRangeCfg(flags, name="TruthJetRange", **kwargs)
GenericMergeMcEventCollCfg(flags, name="MergeMcEventCollTool", **kwargs)
InTimeOnlySimpleMergeMcEventCollCfg(flags, name="InTimeOnlyMcEventCollTool", **kwargs)