1 """ComponentAccumulator configuration for Monte Carlo Truth simulation algorithms
3 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
6 from AthenaConfiguration.ComponentFactory
import CompFactory
7 from AthenaConfiguration.Enums
import ProductionStep
8 from DigitizationConfig.PileUpToolsConfig
import PileUpToolsCfg
9 from DigitizationConfig.PileUpMergeSvcConfig
import PileUpMergeSvcCfg, PileUpXingFolderCfg
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)
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)
51 if flags.Digitization.DoXingByXingPileUp:
52 kwargs.setdefault(
"FirstXing", 0)
53 kwargs.setdefault(
"LastXing", 0)
54 kwargs.setdefault(
"OnlySaveSignalTruth",
True)
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)
72 if flags.Digitization.DoXingByXingPileUp:
73 kwargs.setdefault(
"PileUpMergeSvc",
"")
75 kwargs.setdefault(
"PileUpMergeSvc", acc.getPrimaryAndMerge(
PileUpMergeSvcCfg(flags)).name)
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)
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)
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)
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)
171 kwargs.setdefault(
"ActivateFilter",
True)
189 """Return a Truth-Particle configured PileUpXingFolder tool"""
193 kwargs.setdefault(
"ItemList", [
"xAOD::TruthParticleContainer#TruthPileupParticles",
194 "xAOD::TruthParticleAuxContainer#TruthPileupParticlesAux."])
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)
227 """Return a Track configured PileUpXingFolder tool"""
231 kwargs.setdefault(
"ItemList", [
"TrackRecordCollection#MuonExitLayer"])
239 if flags.Digitization.DoXingByXingPileUp:
242 tool = CompFactory.MergeTrackRecordCollTool(name, **kwargs)
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")
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")
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")
282 if flags.Digitization.DoXingByXingPileUp:
283 kwargs.setdefault(
"FirstXing", -1)
284 kwargs.setdefault(
"LastXing", +1)
285 tool = CompFactory.MergeHijingParsTool(name, **kwargs)
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)
322 if flags.Digitization.DoXingByXingPileUp:
325 tool = CompFactory.MergeCalibHitsTool(name, **kwargs)
332 tool = CompFactory.MergeGenericMuonSimHitCollTool(name, **kwargs)
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)
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)