ATLAS Offline Software
Loading...
Searching...
No Matches
python.PileUpConfig Namespace Reference

Functions

 PileUpConfigdSFMT (name)
 StepArrayBMCfg (flags, name="StepArrayBM", **kwargs)
 FixedArrayBMCfg (flags, name="FixedArrayBM", **kwargs)
 ArrayBMCfg (flags, name="ArrayBM", **kwargs)
 GenericBackgroundEventSelectorCfg (flags, name="GenericBackgroundEventSelector", **kwargs)
 LowPtMinBiasEventSelectorCfg (flags, name="LowPtMinBiasEventSelector", **kwargs)
 HighPtMinBiasEventSelectorCfg (flags, name="HighPtMinBiasEventSelector", **kwargs)
 CavernEventSelectorCfg (flags, name="cavernEventSelector", **kwargs)
 BeamGasEventSelectorCfg (flags, name="BeamGasEventSelector", **kwargs)
 BeamHaloEventSelectorCfg (flags, name="BeamHaloEventSelector", **kwargs)
 MinBiasCacheCfg (flags, name="MinBiasCache", **kwargs)
 LowPtMinBiasCacheCfg (flags, name="LowPtMinBiasCache", **kwargs)
 HighPtMinBiasCacheCfg (flags, name="HighPtMinBiasCache", **kwargs)
 CavernCacheCfg (flags, name="CavernCache", **kwargs)
 BeamGasCacheCfg (flags, name="BeamGasCache", **kwargs)
 BeamHaloCacheCfg (flags, name="BeamHaloCache", **kwargs)
 PileUpEventLoopMgrCfg (flags, name="PileUpEventLoopMgr", **kwargs)
 NoPileUpMuWriterCfg (flags, name="NoPileUpMuWriter", **kwargs)

Detailed Description

ComponentAccumulator confguration for pileup digitization

Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration

Function Documentation

◆ ArrayBMCfg()

python.PileUpConfig.ArrayBMCfg ( flags,
name = "ArrayBM",
** kwargs )

Definition at line 43 of file PileUpConfig.py.

43def ArrayBMCfg(flags, name="ArrayBM", **kwargs):
44 acc = ComponentAccumulator()
45 kwargs.setdefault("IntensityPattern", flags.Digitization.PU.BeamIntensityPattern)
46 kwargs.setdefault("RandomSvc", acc.getPrimaryAndMerge(AthRNGSvcCfg(flags)))
47 acc.addService(CompFactory.ArrayBM(name, **kwargs), primary=True)
48 return acc
49
50

◆ BeamGasCacheCfg()

python.PileUpConfig.BeamGasCacheCfg ( flags,
name = "BeamGasCache",
** kwargs )

Definition at line 196 of file PileUpConfig.py.

196def BeamGasCacheCfg(flags, name="BeamGasCache", **kwargs):
197 acc = ComponentAccumulator()
198 kwargs.setdefault("IgnoreBeamLumi", True)
199 kwargs.setdefault("CollPerXing", flags.Digitization.PU.NumberOfBeamGas)
200 kwargs.setdefault("PileUpEventType", PileUpEventType.HaloGas)
201 kwargs.setdefault("CollDistribution", "Poisson")
202 kwargs.setdefault("ReadDownscaleFactor", 1)
203
204 kwargs.setdefault("EventSelector", acc.getPrimaryAndMerge(BeamGasEventSelectorCfg(flags)))
205
206 RndmStreamName = "PileUpCollXingStream"
207 acc.merge(PileUpConfigdSFMT(RndmStreamName))
208 kwargs.setdefault("RndmGenSvc", acc.getService("AtDSFMTGenSvc"))
209 kwargs.setdefault("RndmStreamName", RndmStreamName)
210
211 # Use BkgStreamsStepCaches when using the StepArrayBM and BkgStreamsCache otherwise
212 if flags.Digitization.PU.SignalPatternForSteppingCache:
213 # FIXME migrated, but BkgStreamsStepCache does not exist
214 tool = CompFactory.BkgStreamsStepCache(name, **kwargs)
215 else:
216 tool = CompFactory.BkgStreamsCache(name, **kwargs)
217
218 acc.setPrivateTools(tool)
219 return acc
220
221

◆ BeamGasEventSelectorCfg()

python.PileUpConfig.BeamGasEventSelectorCfg ( flags,
name = "BeamGasEventSelector",
** kwargs )

Definition at line 75 of file PileUpConfig.py.

75def BeamGasEventSelectorCfg(flags, name="BeamGasEventSelector", **kwargs):
76 kwargs.setdefault("InputCollections", flags.Digitization.PU.BeamGasInputCols)
77 return GenericBackgroundEventSelectorCfg(flags, name, **kwargs)
78
79

◆ BeamHaloCacheCfg()

python.PileUpConfig.BeamHaloCacheCfg ( flags,
name = "BeamHaloCache",
** kwargs )

Definition at line 222 of file PileUpConfig.py.

222def BeamHaloCacheCfg(flags, name="BeamHaloCache", **kwargs):
223 acc = ComponentAccumulator()
224 kwargs.setdefault("IgnoreBeamLumi", True)
225 kwargs.setdefault("CollPerXing", flags.Digitization.PU.NumberOfBeamHalo)
226 kwargs.setdefault("PileUpEventType", PileUpEventType.HaloGas)
227 kwargs.setdefault("CollDistribution", "Poisson")
228 kwargs.setdefault("ReadDownscaleFactor", 1)
229
230 kwargs.setdefault("EventSelector", acc.getPrimaryAndMerge(BeamHaloEventSelectorCfg(flags)))
231
232 RndmStreamName = "PileUpCollXingStream"
233 acc.merge(PileUpConfigdSFMT(RndmStreamName))
234 kwargs.setdefault("RndmGenSvc", acc.getService("AtDSFMTGenSvc"))
235 kwargs.setdefault("RndmStreamName", RndmStreamName)
236
237 #Use BkgStreamsStepCaches when using the StepArrayBM and BkgStreamsCache otherwise
238 if flags.Digitization.PU.SignalPatternForSteppingCache:
239 # FIXME migrated, but BkgStreamsStepCache does not exist
240 tool = CompFactory.BkgStreamsStepCache(name, **kwargs)
241 else:
242 tool = CompFactory.BkgStreamsCache(name, **kwargs)
243
244 acc.setPrivateTools(tool)
245 return acc
246
247

◆ BeamHaloEventSelectorCfg()

python.PileUpConfig.BeamHaloEventSelectorCfg ( flags,
name = "BeamHaloEventSelector",
** kwargs )

Definition at line 80 of file PileUpConfig.py.

80def BeamHaloEventSelectorCfg(flags, name="BeamHaloEventSelector", **kwargs):
81 kwargs.setdefault("InputCollections", flags.Digitization.PU.BeamHaloInputCols)
82 return GenericBackgroundEventSelectorCfg(flags, name, **kwargs)
83
84

◆ CavernCacheCfg()

python.PileUpConfig.CavernCacheCfg ( flags,
name = "CavernCache",
** kwargs )

Definition at line 164 of file PileUpConfig.py.

164def CavernCacheCfg(flags, name="CavernCache", **kwargs):
165 acc = ComponentAccumulator()
166 kwargs.setdefault("CollPerXing", flags.Digitization.PU.NumberOfCavern)
167 kwargs.setdefault("CollDistribution", "Fixed")
168 kwargs.setdefault("PileUpEventType", PileUpEventType.Cavern)
169 if flags.Digitization.DoXingByXingPileUp or flags.Digitization.PU.SignalPatternForSteppingCache:
170 kwargs.setdefault("ReadDownscaleFactor", 1)
171 # Cavern Background Cache Should Ignore Bunch Structure
172 OccupationFraction = (float(flags.Digitization.PU.BunchSpacing)/
173 float(flags.Beam.BunchSpacing))
174 if flags.Digitization.PU.BeamIntensityPattern:
175 kwargs.setdefault("IgnoreBeamInt", flags.Digitization.PU.CavernIgnoresBeamInt)
176 if flags.Digitization.PU.CavernIgnoresBeamInt:
177 OccupationFraction = 1.0
178 kwargs.setdefault("OccupationFraction", OccupationFraction)
179 kwargs.setdefault("EventSelector", acc.getPrimaryAndMerge(CavernEventSelectorCfg(flags)))
180
181 RndmStreamName = "PileUpCollXingStream"
182 acc.merge(PileUpConfigdSFMT(RndmStreamName))
183 kwargs.setdefault("RndmGenSvc", acc.getService("AtDSFMTGenSvc"))
184 kwargs.setdefault("RndmStreamName", RndmStreamName)
185
186 # Use BkgStreamsStepCaches when using the StepArrayBM and BkgStreamsCache otherwise
187 if flags.Digitization.PU.SignalPatternForSteppingCache:
188 # FIXME migrated, but BkgStreamsStepCache does not exist
189 tool = CompFactory.BkgStreamsStepCache(name, **kwargs)
190 else:
191 tool = CompFactory.BkgStreamsCache(name, **kwargs)
192 acc.setPrivateTools(tool)
193 return acc
194
195

◆ CavernEventSelectorCfg()

python.PileUpConfig.CavernEventSelectorCfg ( flags,
name = "cavernEventSelector",
** kwargs )

Definition at line 70 of file PileUpConfig.py.

70def CavernEventSelectorCfg(flags, name="cavernEventSelector", **kwargs):
71 kwargs.setdefault("InputCollections", flags.Digitization.PU.CavernInputCols)
72 return GenericBackgroundEventSelectorCfg(flags, name, **kwargs)
73
74

◆ FixedArrayBMCfg()

python.PileUpConfig.FixedArrayBMCfg ( flags,
name = "FixedArrayBM",
** kwargs )

Definition at line 35 of file PileUpConfig.py.

35def FixedArrayBMCfg(flags, name="FixedArrayBM", **kwargs):
36 acc = ComponentAccumulator()
37 kwargs.setdefault("IntensityPattern", flags.Digitization.PU.BeamIntensityPattern)
38 kwargs.setdefault("T0Offset", flags.Digitization.PU.FixedT0BunchCrossing)
39 acc.addService(CompFactory.FixedArrayBM(name, **kwargs), primary=True)
40 return acc
41
42

◆ GenericBackgroundEventSelectorCfg()

python.PileUpConfig.GenericBackgroundEventSelectorCfg ( flags,
name = "GenericBackgroundEventSelector",
** kwargs )

Definition at line 51 of file PileUpConfig.py.

51def GenericBackgroundEventSelectorCfg(flags, name="GenericBackgroundEventSelector", **kwargs):
52 acc = ComponentAccumulator()
53 kwargs.setdefault("KeepInputFilesOpen", True)
54 kwargs.setdefault("ProcessMetadata", False)
55 acc.addService(CompFactory.EventSelectorAthenaPool(name, **kwargs), primary=True)
56 return acc
57
58

◆ HighPtMinBiasCacheCfg()

python.PileUpConfig.HighPtMinBiasCacheCfg ( flags,
name = "HighPtMinBiasCache",
** kwargs )

Definition at line 138 of file PileUpConfig.py.

138def HighPtMinBiasCacheCfg(flags, name="HighPtMinBiasCache", **kwargs):
139 acc = ComponentAccumulator()
140 kwargs.setdefault("CollPerXing", flags.Digitization.PU.NumberOfHighPtMinBias)
141 # may need to have a separate type in the future
142 kwargs.setdefault("PileUpEventType", PileUpEventType.HighPtMinimumBias)
143 kwargs.setdefault("ReadDownscaleFactor", 1)
144 kwargs.setdefault("EventSelector", acc.getPrimaryAndMerge(HighPtMinBiasEventSelectorCfg(flags)))
145 kwargs.setdefault("OccupationFraction", (float(flags.Digitization.PU.BunchSpacing)/
146 float(flags.Beam.BunchSpacing)))
147
148 RndmStreamName = "PileUpCollXingStream"
149 acc.merge(PileUpConfigdSFMT(RndmStreamName))
150 kwargs.setdefault("RndmGenSvc", acc.getService("AtDSFMTGenSvc"))
151 kwargs.setdefault("RndmStreamName", RndmStreamName)
152
153 # Use BkgStreamsStepCaches when using the StepArrayBM and BkgStreamsCache otherwise
154 if flags.Digitization.PU.SignalPatternForSteppingCache:
155 # FIXME migrated, but BkgStreamsStepCache does not exist
156 tool = CompFactory.BkgStreamsStepCache(name, **kwargs)
157 else:
158 tool = CompFactory.BkgStreamsCache(name, **kwargs)
159
160 acc.setPrivateTools(tool)
161 return acc
162
163

◆ HighPtMinBiasEventSelectorCfg()

python.PileUpConfig.HighPtMinBiasEventSelectorCfg ( flags,
name = "HighPtMinBiasEventSelector",
** kwargs )

Definition at line 64 of file PileUpConfig.py.

64def HighPtMinBiasEventSelectorCfg(flags, name="HighPtMinBiasEventSelector", **kwargs):
65 kwargs.setdefault("InputCollections", flags.Digitization.PU.HighPtMinBiasInputCols)
66 kwargs.setdefault('SkipEvents', flags.Digitization.PU.HighPtMinBiasInputColOffset)
67 return GenericBackgroundEventSelectorCfg(flags, name, **kwargs)
68
69

◆ LowPtMinBiasCacheCfg()

python.PileUpConfig.LowPtMinBiasCacheCfg ( flags,
name = "LowPtMinBiasCache",
** kwargs )

Definition at line 111 of file PileUpConfig.py.

111def LowPtMinBiasCacheCfg(flags, name="LowPtMinBiasCache", **kwargs):
112 acc = ComponentAccumulator()
113 kwargs.setdefault("CollPerXing", flags.Digitization.PU.NumberOfLowPtMinBias)
114 # may need to have a separate type in the future
115 kwargs.setdefault("PileUpEventType", PileUpEventType.MinimumBias)
116 if flags.Digitization.DoXingByXingPileUp or flags.Digitization.PU.SignalPatternForSteppingCache:
117 kwargs.setdefault("ReadDownscaleFactor", 1)
118 kwargs.setdefault("EventSelector", acc.getPrimaryAndMerge(LowPtMinBiasEventSelectorCfg(flags)))
119 kwargs.setdefault("OccupationFraction", (float(flags.Digitization.PU.BunchSpacing)/
120 float(flags.Beam.BunchSpacing)))
121
122 RndmStreamName = "PileUpCollXingStream"
123 acc.merge(PileUpConfigdSFMT(RndmStreamName))
124 kwargs.setdefault("RndmGenSvc", acc.getService("AtDSFMTGenSvc"))
125 kwargs.setdefault("RndmStreamName", RndmStreamName)
126
127 # Use BkgStreamsStepCaches when using the StepArrayBM and BkgStreamsCache otherwise
128 if flags.Digitization.PU.SignalPatternForSteppingCache:
129 # FIXME migrated, but BkgStreamsStepCache does not exist
130 tool = CompFactory.BkgStreamsStepCache(name, **kwargs)
131 else:
132 tool = CompFactory.BkgStreamsCache(name, **kwargs)
133
134 acc.setPrivateTools(tool)
135 return acc
136
137

◆ LowPtMinBiasEventSelectorCfg()

python.PileUpConfig.LowPtMinBiasEventSelectorCfg ( flags,
name = "LowPtMinBiasEventSelector",
** kwargs )

Definition at line 59 of file PileUpConfig.py.

59def LowPtMinBiasEventSelectorCfg(flags, name="LowPtMinBiasEventSelector", **kwargs):
60 kwargs.setdefault("InputCollections", flags.Digitization.PU.LowPtMinBiasInputCols)
61 return GenericBackgroundEventSelectorCfg(flags, name, **kwargs)
62
63

◆ MinBiasCacheCfg()

python.PileUpConfig.MinBiasCacheCfg ( flags,
name = "MinBiasCache",
** kwargs )

Definition at line 85 of file PileUpConfig.py.

85def MinBiasCacheCfg(flags, name="MinBiasCache", **kwargs):
86 acc = ComponentAccumulator()
87 kwargs.setdefault("CollPerXing", flags.Digitization.PU.NumberOfLowPtMinBias + flags.Digitization.PU.NumberOfHighPtMinBias)
88 kwargs.setdefault("FractionOfCache1Collisions", (flags.Digitization.PU.NumberOfLowPtMinBias/
89 (flags.Digitization.PU.NumberOfLowPtMinBias + flags.Digitization.PU.NumberOfHighPtMinBias)))
90 # may need to have a separate type in the future
91 kwargs.setdefault("PileUpEventType", PileUpEventType.MinimumBias)
92 if flags.Digitization.DoXingByXingPileUp or flags.Digitization.PU.SignalPatternForSteppingCache:
93 kwargs.setdefault("Cache1ReadDownscaleFactor", 1)
94 kwargs.setdefault("Cache1EventSelector", acc.getPrimaryAndMerge(LowPtMinBiasEventSelectorCfg(flags)))
95 kwargs.setdefault("Cache2ReadDownscaleFactor", 1)
96 kwargs.setdefault("Cache2EventSelector", acc.getPrimaryAndMerge(HighPtMinBiasEventSelectorCfg(flags)))
97
98 kwargs.setdefault("OccupationFraction", (float(flags.Digitization.PU.BunchSpacing)/
99 float(flags.Beam.BunchSpacing)))
100
101 RndmStreamName = "PileUpCollXingStream"
102 acc.merge(PileUpConfigdSFMT(RndmStreamName))
103 kwargs.setdefault("RndmGenSvc", acc.getService("AtDSFMTGenSvc"))
104 kwargs.setdefault("RndmStreamName", RndmStreamName)
105
106 # FIXME migrated, but SplitBkgStreamsCache does not exist
107 acc.setPrivateTools(CompFactory.SplitBkgStreamsCache(name, **kwargs))
108 return acc
109
110

◆ NoPileUpMuWriterCfg()

python.PileUpConfig.NoPileUpMuWriterCfg ( flags,
name = "NoPileUpMuWriter",
** kwargs )
NoPileUpMuWriter configuration.

Definition at line 319 of file PileUpConfig.py.

319def NoPileUpMuWriterCfg(flags, name="NoPileUpMuWriter", **kwargs):
320 """NoPileUpMuWriter configuration."""
321 acc = ComponentAccumulator()
322 acc.addEventAlgo(CompFactory.NoPileUpMuWriter(name, **kwargs))
323 return acc

◆ PileUpConfigdSFMT()

python.PileUpConfig.PileUpConfigdSFMT ( name)
Local wrapper for dSFMT RNG service

Definition at line 17 of file PileUpConfig.py.

17def PileUpConfigdSFMT(name):
18 """Local wrapper for dSFMT RNG service"""
19 seedOffset = " OFFSET 340 123 345"
20 if name=="PileUpCollXingStream":
21 seedOffset = " OFFSET 340 123 345"
22 if name=="BEAMINT":
23 seedOffset = " OFFSET 340 678 91011"
24 return dSFMT(name + seedOffset)
25
26

◆ PileUpEventLoopMgrCfg()

python.PileUpConfig.PileUpEventLoopMgrCfg ( flags,
name = "PileUpEventLoopMgr",
** kwargs )

Definition at line 248 of file PileUpConfig.py.

248def PileUpEventLoopMgrCfg(flags, name="PileUpEventLoopMgr", **kwargs):
249 acc = BeamSpotFixerAlgCfg(flags) # Needed currently for running on 21.0 HITS
250
251 # SubDet By SubDet (default) or Xing By Xing Pile-up?
252 kwargs.setdefault("XingByXing", flags.Digitization.DoXingByXingPileUp)
253 # Bunch Structure
254 if flags.Digitization.PU.BeamIntensityPattern:
255 if flags.Digitization.PU.SignalPatternForSteppingCache:
256 # Simulate Bunch Structure with events sliding backwards on a conveyor belt
257 kwargs.setdefault("BeamInt", acc.getPrimaryAndMerge(StepArrayBMCfg(flags)))
258 elif flags.Digitization.PU.FixedT0BunchCrossing:
259 # Simulate Bunch Structure using a fixed point for the central bunch crossing
260 kwargs.setdefault("BeamInt", acc.getPrimaryAndMerge(FixedArrayBMCfg(flags)))
261 else:
262 # Simulate Bunch Structure and allow the central bunch crossing to vary
263 kwargs.setdefault("BeamInt", acc.getPrimaryAndMerge(ArrayBMCfg(flags)))
264
265 # define inputs
266 assert not flags.Input.SecondaryFiles, ("Found ConfigFlags.Input.SecondaryFiles = %r; "
267 "double event selection is not supported "
268 "by PileUpEventLoopMgr" % (not flags.Input.SecondaryFiles))
269 acc.merge(PoolReadCfg(flags))
270 kwargs.setdefault("OrigSelector", acc.getService("EventSelector"))
271 BackgroundCaches = []
272 # Note: experimentalDigi not migrated
273 if flags.Digitization.PU.LowPtMinBiasInputCols:
274 BackgroundCaches += [acc.popToolsAndMerge(LowPtMinBiasCacheCfg(flags))]
275 if flags.Digitization.PU.HighPtMinBiasInputCols:
276 BackgroundCaches += [acc.popToolsAndMerge(HighPtMinBiasCacheCfg(flags))]
277 if flags.Digitization.PU.CavernInputCols:
278 BackgroundCaches += [acc.popToolsAndMerge(CavernCacheCfg(flags))]
279 if flags.Digitization.PU.BeamGasInputCols:
280 BackgroundCaches += [acc.popToolsAndMerge(BeamGasCacheCfg(flags))]
281 if flags.Digitization.PU.BeamHaloInputCols:
282 BackgroundCaches += [acc.popToolsAndMerge(BeamHaloCacheCfg(flags))]
283 kwargs.setdefault("bkgCaches", BackgroundCaches)
284 # xing frequency in ns
285 kwargs.setdefault("XingFrequency", flags.Digitization.PU.BunchSpacing)
286 # define time range to be studied. t0 at t" ,0, xing" ,0
287 kwargs.setdefault("firstXing", flags.Digitization.PU.InitialBunchCrossing)
288 kwargs.setdefault("lastXing", flags.Digitization.PU.FinalBunchCrossing)
289
290 if flags.Input.RunAndLumiOverrideList:
291 kwargs.setdefault("MaxMinBiasCollPerXing", maxNevtsPerXing(flags))
292 kwargs.setdefault("BeamLuminosity", acc.getPrimaryAndMerge(LumiProfileSvcCfg(flags)))
293 else:
294 kwargs.setdefault("MaxMinBiasCollPerXing", flags.Digitization.PU.NumberOfCollisions)
295 kwargs.setdefault("BeamLuminosity", acc.getPrimaryAndMerge(NoProfileSvcCfg(flags)))
296
297 from AthenaKernel.EventIdOverrideConfig import EvtIdModifierSvcCfg
298 kwargs.setdefault("EvtIdModifierSvc", acc.getPrimaryAndMerge(EvtIdModifierSvcCfg(flags))) # TODO make configurable?
299 kwargs.setdefault("EventInfoName", "Input_EventInfo")
300 # Note that this is a hack. It is needed to fix beam spot information
301 # as original xAOD::EventInfo is created before conditions data could
302 # be read. Only the "EventInfoName" should change.
303
304 if flags.Input.MCChannelNumber > 0:
305 kwargs.setdefault("MCChannelNumber", flags.Input.MCChannelNumber)
306
307 # write PileUpEventInfo
308 if flags.Output.doWriteRDO:
309 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
310 acc.merge(OutputStreamCfg(flags, "RDO", ItemList=[
311 "xAOD::EventInfoContainer#PileUpEventInfo",
312 "xAOD::EventInfoAuxContainer#PileUpEventInfo*",
313 ]))
314
315 acc.addService(CompFactory.PileUpEventLoopMgr(name, **kwargs))
316 return acc
317
318

◆ StepArrayBMCfg()

python.PileUpConfig.StepArrayBMCfg ( flags,
name = "StepArrayBM",
** kwargs )

Definition at line 27 of file PileUpConfig.py.

27def StepArrayBMCfg(flags, name="StepArrayBM", **kwargs):
28 acc = ComponentAccumulator()
29 kwargs.setdefault("IntensityPattern", flags.Digitization.PU.BeamIntensityPattern)
30 kwargs.setdefault("SignalPattern", flags.Digitization.PU.SignalPatternForSteppingCache)
31 acc.addService(CompFactory.StepArrayBM(name, **kwargs), primary=True)
32 return acc
33
34