ATLAS Offline Software
PileUpConfig.py
Go to the documentation of this file.
1 """ComponentAccumulator confguration for pileup digitization
2 
3 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
4 """
5 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
6 from AthenaConfiguration.ComponentFactory import CompFactory
7 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
8 from RngComps.RngCompsConfig import dSFMT, AthRNGSvcCfg
9 from DigitizationConfig import PileUpEventType
10 from DigitizationConfig.RunDependentConfig import (
11  maxNevtsPerXing,
12  LumiProfileSvcCfg, NoProfileSvcCfg,
13 )
14 from BeamEffects.BeamEffectsAlgConfig import BeamSpotFixerAlgCfg
15 
16 
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 
27 def 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 
35 def 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 
43 def ArrayBMCfg(flags, name="ArrayBM", **kwargs):
44  acc = ComponentAccumulator()
45  kwargs.setdefault("IntensityPattern", flags.Digitization.PU.BeamIntensityPattern)
46  kwargs.setdefault("RandomSvc", acc.getPrimaryAndMerge(AthRNGSvcCfg(flags)).name)
47  acc.addService(CompFactory.ArrayBM(name, **kwargs), primary=True)
48  return acc
49 
50 
51 def 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 
59 def LowPtMinBiasEventSelectorCfg(flags, name="LowPtMinBiasEventSelector", **kwargs):
60  kwargs.setdefault("InputCollections", flags.Digitization.PU.LowPtMinBiasInputCols)
61  return GenericBackgroundEventSelectorCfg(flags, name, **kwargs)
62 
63 
64 def 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 
70 def CavernEventSelectorCfg(flags, name="cavernEventSelector", **kwargs):
71  kwargs.setdefault("InputCollections", flags.Digitization.PU.CavernInputCols)
72  return GenericBackgroundEventSelectorCfg(flags, name, **kwargs)
73 
74 
75 def BeamGasEventSelectorCfg(flags, name="BeamGasEventSelector", **kwargs):
76  kwargs.setdefault("InputCollections", flags.Digitization.PU.BeamGasInputCols)
77  return GenericBackgroundEventSelectorCfg(flags, name, **kwargs)
78 
79 
80 def BeamHaloEventSelectorCfg(flags, name="BeamHaloEventSelector", **kwargs):
81  kwargs.setdefault("InputCollections", flags.Digitization.PU.BeamHaloInputCols)
82  return GenericBackgroundEventSelectorCfg(flags, name, **kwargs)
83 
84 
85 def 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)).name)
95  kwargs.setdefault("Cache2ReadDownscaleFactor", 1)
96  kwargs.setdefault("Cache2EventSelector", acc.getPrimaryAndMerge(HighPtMinBiasEventSelectorCfg(flags)).name)
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 
111 def 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)).name)
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 
138 def 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)).name)
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 
164 def 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)).name)
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 
196 def 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)).name)
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 
222 def 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)).name)
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 
248 def 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)).name)
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)).name)
261  else:
262  # Simulate Bunch Structure and allow the central bunch crossing to vary
263  kwargs.setdefault("BeamInt", acc.getPrimaryAndMerge(ArrayBMCfg(flags)).name)
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)).name)
293  else:
294  kwargs.setdefault("MaxMinBiasCollPerXing", flags.Digitization.PU.NumberOfCollisions)
295  kwargs.setdefault("BeamLuminosity", acc.getPrimaryAndMerge(NoProfileSvcCfg(flags)).name)
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 
319 def NoPileUpMuWriterCfg(flags, name="NoPileUpMuWriter", **kwargs):
320  """NoPileUpMuWriter configuration."""
321  acc = ComponentAccumulator()
322  acc.addEventAlgo(CompFactory.NoPileUpMuWriter(name, **kwargs))
323  return acc
python.PileUpConfig.PileUpEventLoopMgrCfg
def PileUpEventLoopMgrCfg(flags, name="PileUpEventLoopMgr", **kwargs)
Definition: PileUpConfig.py:248
python.PileUpConfig.LowPtMinBiasCacheCfg
def LowPtMinBiasCacheCfg(flags, name="LowPtMinBiasCache", **kwargs)
Definition: PileUpConfig.py:111
RngCompsConfig.dSFMT
def dSFMT(seed, name="AtDSFMTGenSvc")
Definition: RngCompsConfig.py:19
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.OutputStreamConfig.OutputStreamCfg
def OutputStreamCfg(flags, streamName, ItemList=[], MetadataItemList=[], disableEventTag=False, trigNavThinningSvc=None, takeItemsFromInput=False, extendProvenanceRecord=True, AcceptAlgs=[], HelperTools=[])
Definition: OutputStreamConfig.py:12
python.PileUpConfig.HighPtMinBiasCacheCfg
def HighPtMinBiasCacheCfg(flags, name="HighPtMinBiasCache", **kwargs)
Definition: PileUpConfig.py:138
python.PileUpConfig.CavernCacheCfg
def CavernCacheCfg(flags, name="CavernCache", **kwargs)
Definition: PileUpConfig.py:164
python.PileUpConfig.LowPtMinBiasEventSelectorCfg
def LowPtMinBiasEventSelectorCfg(flags, name="LowPtMinBiasEventSelector", **kwargs)
Definition: PileUpConfig.py:59
python.RunDependentConfig.maxNevtsPerXing
def maxNevtsPerXing(flags)
Definition: RunDependentConfig.py:9
python.PileUpConfig.PileUpConfigdSFMT
def PileUpConfigdSFMT(name)
Definition: PileUpConfig.py:17
python.PileUpConfig.CavernEventSelectorCfg
def CavernEventSelectorCfg(flags, name="cavernEventSelector", **kwargs)
Definition: PileUpConfig.py:70
python.PileUpConfig.BeamHaloCacheCfg
def BeamHaloCacheCfg(flags, name="BeamHaloCache", **kwargs)
Definition: PileUpConfig.py:222
python.PileUpConfig.GenericBackgroundEventSelectorCfg
def GenericBackgroundEventSelectorCfg(flags, name="GenericBackgroundEventSelector", **kwargs)
Definition: PileUpConfig.py:51
python.PileUpConfig.MinBiasCacheCfg
def MinBiasCacheCfg(flags, name="MinBiasCache", **kwargs)
Definition: PileUpConfig.py:85
python.PileUpConfig.BeamGasCacheCfg
def BeamGasCacheCfg(flags, name="BeamGasCache", **kwargs)
Definition: PileUpConfig.py:196
python.PileUpConfig.HighPtMinBiasEventSelectorCfg
def HighPtMinBiasEventSelectorCfg(flags, name="HighPtMinBiasEventSelector", **kwargs)
Definition: PileUpConfig.py:64
python.PileUpConfig.StepArrayBMCfg
def StepArrayBMCfg(flags, name="StepArrayBM", **kwargs)
Definition: PileUpConfig.py:27
BeamEffectsAlgConfig.BeamSpotFixerAlgCfg
def BeamSpotFixerAlgCfg(flags, name="BeamSpotFixerAlg", **kwargs)
Definition: BeamEffectsAlgConfig.py:152
python.PileUpConfig.BeamGasEventSelectorCfg
def BeamGasEventSelectorCfg(flags, name="BeamGasEventSelector", **kwargs)
Definition: PileUpConfig.py:75
python.PileUpConfig.ArrayBMCfg
def ArrayBMCfg(flags, name="ArrayBM", **kwargs)
Definition: PileUpConfig.py:43
python.PileUpConfig.FixedArrayBMCfg
def FixedArrayBMCfg(flags, name="FixedArrayBM", **kwargs)
Definition: PileUpConfig.py:35
python.RunDependentConfig.NoProfileSvcCfg
def NoProfileSvcCfg(flags, name="NoProfileSvc", **kwargs)
Definition: RunDependentConfig.py:46
python.PileUpConfig.BeamHaloEventSelectorCfg
def BeamHaloEventSelectorCfg(flags, name="BeamHaloEventSelector", **kwargs)
Definition: PileUpConfig.py:80
python.RunDependentConfig.LumiProfileSvcCfg
def LumiProfileSvcCfg(flags, name="LumiProfileSvc", **kwargs)
Definition: RunDependentConfig.py:36
python.EventIdOverrideConfig.EvtIdModifierSvcCfg
def EvtIdModifierSvcCfg(flags, name="EvtIdModifierSvc", **kwargs)
Definition: EventIdOverrideConfig.py:130
python.PileUpConfig.NoPileUpMuWriterCfg
def NoPileUpMuWriterCfg(flags, name="NoPileUpMuWriter", **kwargs)
Definition: PileUpConfig.py:319
python.PoolReadConfig.PoolReadCfg
def PoolReadCfg(flags)
Definition: PoolReadConfig.py:69
readCCLHist.float
float
Definition: readCCLHist.py:83
RngCompsConfig.AthRNGSvcCfg
def AthRNGSvcCfg(flags, name="AthRNGSvc")
Definition: RngCompsConfig.py:51