ATLAS Offline Software
Loading...
Searching...
No Matches
BeamEffectsAlgConfig Namespace Reference

Functions

 ValidityCheckerCfg (flags, name="GenEventValidityChecker", **kwargs)
 GenEventRotatorCfg (flags, name="GenEventRotator", **kwargs)
 GenEventBeamEffectBoosterCfg (flags, name="GenEventBeamEffectBooster", **kwargs)
 GenEventVertexPositionerCfg (flags, name="GenEventVertexPositioner", **kwargs)
 VertexBeamCondPositionerCfg (flags, name="VertexBeamCondPositioner", **kwargs)
 LRAVertexPositionerCfg (flags, name="LRAVertexPositionerCfg", **kwargs)
 MatchingBkgVertexPositionerCfg (flags, name="MatchingBkgVertexPositioner", **kwargs)
 CrabKissingVertexPositionerCfg (flags, name="CrabKissingVertexPositioner", **kwargs)
 LongBeamspotVertexPositionerCfg (flags, name="LongBeamspotVertexPositioner", **kwargs)
 BeamEffectsAlgCfg (flags, name="BeamEffectsAlg", **kwargs)
 BeamEffectsAlgOutputCfg (flags, **kwargs)
 BeamSpotFixerAlgCfg (flags, name="BeamSpotFixerAlg", **kwargs)
 ZeroLifetimePositionerCfg (flags, name="ZeroLifetimePositioner", **kwargs)
 BeamSpotReweightingAlgCfg (flags, name="BeamSpotReweightingAlg", **kwargs)

Variables

 flags = initConfigFlags()
 inputDir
 Files
 HITSFileName
 VertexSource
 isMC
 AtlasVersion
 GlobalTag
 RunNumbers
 cfg = MainServicesCfg(flags)
 Dump
 withDetails
 maxEvents

Detailed Description

Define methods to configure beam effects with the ComponentAccumulator

Function Documentation

◆ BeamEffectsAlgCfg()

BeamEffectsAlgCfg ( flags,
name = "BeamEffectsAlg",
** kwargs )
Return an accumulator and algorithm for beam effects, wihout output

Definition at line 123 of file BeamEffectsAlgConfig.py.

123def BeamEffectsAlgCfg(flags, name="BeamEffectsAlg", **kwargs):
124 """Return an accumulator and algorithm for beam effects, wihout output"""
125 acc = ComponentAccumulator()
126
127 from SimulationConfig.SimEnums import LArParameterization
128 if flags.Sim.LArParameterization is LArParameterization.FastCaloSim:
129 kwargs.setdefault("ISFRun", True)
130 else:
131 kwargs.setdefault("ISFRun", flags.Sim.ISFRun)
132
133 # Set default properties
134 if flags.Sim.DoFullChain and flags.Digitization.PileUp:
135 kwargs.setdefault("InputMcEventCollection", "OriginalEvent_SG+GEN_EVENT")
136 else:
137 kwargs.setdefault("InputMcEventCollection", "GEN_EVENT")
138
139 if flags.Sim.DoFullChain and flags.Common.isOverlay and not flags.Overlay.DataOverlay:
140 kwargs.setdefault('OutputMcEventCollection', f"{flags.Overlay.SigPrefix}TruthEvent")
141 else:
142 kwargs.setdefault('OutputMcEventCollection', 'BeamTruthEvent')
143
144 # Set (todo) the appropriate manipulator tools
145 manipulators = []
146 manipulators.append(acc.popToolsAndMerge(ValidityCheckerCfg(flags)))
147 from SimulationConfig.SimEnums import VertexSource
148 if not flags.Sim.VertexSource == VertexSource.AsGenerated:
149 # Vertex manipulation required
150 from SimulationConfig.SimEnums import CavernBackground
151 if flags.Beam.Type not in [BeamType.Cosmics, BeamType.TestBeam] and flags.Sim.CavernBackground is not CavernBackground.Read:
152 manipulators.append(acc.popToolsAndMerge(GenEventVertexPositionerCfg(flags)))
153 # manipulators.append(acc.popToolsAndMerge(GenEventBeamEffectBoosterCfg(flags))) # todo segmentation violation
154 # manipulators.append(acc.popToolsAndMerge(CrabKissingVertexPositionerCfg(flags))) # todo Callback registration failed
155 kwargs.setdefault("GenEventManipulators", manipulators)
156
157 acc.addEventAlgo(CompFactory.Simulation.BeamEffectsAlg(name, **kwargs), primary=True)
158 return acc
159
160

◆ BeamEffectsAlgOutputCfg()

BeamEffectsAlgOutputCfg ( flags,
** kwargs )
Return an accumulator and algorithm for beam effects, with output

Definition at line 161 of file BeamEffectsAlgConfig.py.

161def BeamEffectsAlgOutputCfg(flags, **kwargs):
162 """Return an accumulator and algorithm for beam effects, with output"""
163 acc = BeamEffectsAlgCfg(flags, **kwargs)
164 # Set to write HITS pool file
165 alg = acc.getPrimary()
166 ItemList = ["McEventCollection#" + alg.OutputMcEventCollection]
167 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
168 acc.merge(OutputStreamCfg(flags, "HITS", ItemList=ItemList, disableEventTag=True))
169 return acc
170
171

◆ BeamSpotFixerAlgCfg()

BeamSpotFixerAlgCfg ( flags,
name = "BeamSpotFixerAlg",
** kwargs )

Definition at line 172 of file BeamEffectsAlgConfig.py.

172def BeamSpotFixerAlgCfg(flags, name="BeamSpotFixerAlg", **kwargs):
173 from BeamSpotConditions.BeamSpotConditionsConfig import BeamSpotCondAlgCfg
174 acc = BeamSpotCondAlgCfg(flags)
175
176 kwargs.setdefault("InputKey", "Input_EventInfo")
177 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
178 kwargs.setdefault("OutputKey", flags.Overlay.BkgPrefix + "EventInfo")
179 else:
180 kwargs.setdefault("OutputKey", "EventInfo")
181
182 acc.addEventAlgo(CompFactory.Simulation.BeamSpotFixerAlg(name, **kwargs))
183 return acc
184
185

◆ BeamSpotReweightingAlgCfg()

BeamSpotReweightingAlgCfg ( flags,
name = "BeamSpotReweightingAlg",
** kwargs )

Definition at line 194 of file BeamEffectsAlgConfig.py.

194def BeamSpotReweightingAlgCfg(flags, name="BeamSpotReweightingAlg", **kwargs):
195 from BeamSpotConditions.BeamSpotConditionsConfig import BeamSpotCondAlgCfg
196 acc = BeamSpotCondAlgCfg(flags)
197
198 kwargs.setdefault("Input_beam_sigma_z", flags.Digitization.InputBeamSigmaZ)
199
200 acc.addEventAlgo(CompFactory.Simulation.BeamSpotReweightingAlg(name, **kwargs))
201
202 # Ignore dependencies
203 from AthenaConfiguration.MainServicesConfig import OutputUsageIgnoreCfg
204 acc.merge(OutputUsageIgnoreCfg(flags, name))
205
206 return acc
207
208

◆ CrabKissingVertexPositionerCfg()

CrabKissingVertexPositionerCfg ( flags,
name = "CrabKissingVertexPositioner",
** kwargs )
Return a Crab-Kissing vertex positioner tool

Definition at line 106 of file BeamEffectsAlgConfig.py.

106def CrabKissingVertexPositionerCfg(flags, name="CrabKissingVertexPositioner", **kwargs):
107 """Return a Crab-Kissing vertex positioner tool"""
108 # todo needs BunchLength, RandomSvc, BunchShape
109 acc = ComponentAccumulator()
110 acc.setPrivateTools(CompFactory.Simulation.CrabKissingVertexPositioner(name, **kwargs))
111 return acc
112
113

◆ GenEventBeamEffectBoosterCfg()

GenEventBeamEffectBoosterCfg ( flags,
name = "GenEventBeamEffectBooster",
** kwargs )
Return a lorentz booster tool

Definition at line 31 of file BeamEffectsAlgConfig.py.

31def GenEventBeamEffectBoosterCfg(flags, name="GenEventBeamEffectBooster", **kwargs):
32 """Return a lorentz booster tool"""
33 # todo needs random seed, more?
34 acc = ComponentAccumulator()
35 acc.setPrivateTools(CompFactory.Simulation.GenEventBeamEffectBooster(name, **kwargs))
36 return acc
37
38

◆ GenEventRotatorCfg()

GenEventRotatorCfg ( flags,
name = "GenEventRotator",
** kwargs )
Return a event rotator tool

Definition at line 24 of file BeamEffectsAlgConfig.py.

24def GenEventRotatorCfg(flags, name="GenEventRotator", **kwargs):
25 """Return a event rotator tool"""
26 acc = ComponentAccumulator()
27 acc.setPrivateTools(CompFactory.Simulation.GenEventRotator(name, **kwargs))
28 return acc
29
30

◆ GenEventVertexPositionerCfg()

GenEventVertexPositionerCfg ( flags,
name = "GenEventVertexPositioner",
** kwargs )
Return a vertex positioner tool

Definition at line 39 of file BeamEffectsAlgConfig.py.

39def GenEventVertexPositionerCfg(flags, name="GenEventVertexPositioner", **kwargs):
40 """Return a vertex positioner tool"""
41 # todo needs input file(s?)
42
43 acc = ComponentAccumulator()
44
45 from SimulationConfig.SimEnums import VertexSource
46 if flags.Sim.VertexSource is VertexSource.MatchingBkg:
47 kwargs.setdefault("VertexShifters", [acc.popToolsAndMerge(MatchingBkgVertexPositionerCfg(flags))])
48 elif flags.Sim.VertexSource is VertexSource.CondDB:
49 kwargs.setdefault("VertexShifters", [acc.popToolsAndMerge(VertexBeamCondPositionerCfg(flags))])
50 elif flags.Sim.VertexSource is VertexSource.LongBeamspotVertexPositioner:
51 kwargs.setdefault("VertexShifters", [acc.popToolsAndMerge(LongBeamspotVertexPositionerCfg(flags))])
52 elif flags.Sim.VertexSource is VertexSource.LRAPositioner:
53 kwargs.setdefault("VertexShifters", [acc.popToolsAndMerge(LRAVertexPositionerCfg(flags))])
54
55 acc.setPrivateTools(CompFactory.Simulation.GenEventVertexPositioner(name, **kwargs))
56 return acc
57
58
59# LorentzVectorGenerators

◆ LongBeamspotVertexPositionerCfg()

LongBeamspotVertexPositionerCfg ( flags,
name = "LongBeamspotVertexPositioner",
** kwargs )
Return a long beamspot vertex positioner tool

Definition at line 114 of file BeamEffectsAlgConfig.py.

114def LongBeamspotVertexPositionerCfg(flags, name="LongBeamspotVertexPositioner", **kwargs):
115 """Return a long beamspot vertex positioner tool"""
116 # todo needs LParameter and RandomSvc
117 acc = ComponentAccumulator()
118 kwargs.setdefault("SimpleTimeSmearing", flags.Sim.VertexTimeSmearing)
119 acc.setPrivateTools(CompFactory.Simulation.LongBeamspotVertexPositioner(name, **kwargs))
120 return acc
121
122

◆ LRAVertexPositionerCfg()

LRAVertexPositionerCfg ( flags,
name = "LRAVertexPositionerCfg",
** kwargs )

Definition at line 77 of file BeamEffectsAlgConfig.py.

77def LRAVertexPositionerCfg(flags, name="LRAVertexPositionerCfg", **kwargs):
78 from RngComps.RngCompsConfig import AthRNGSvcCfg
79
80 acc = ComponentAccumulator()
81
82 kwargs.setdefault("FileName", flags.Beam.vdMScan.ConfigFile)
83 kwargs.setdefault("HistName", flags.Beam.vdMScan.PV.PDF)
84
85 kwargs.setdefault("RNGService", acc.getPrimaryAndMerge(AthRNGSvcCfg(flags)).name)
86
87 acc.setPrivateTools(CompFactory.Simulation.LRAVertexPositioner(name, **kwargs))
88 return acc
89

◆ MatchingBkgVertexPositionerCfg()

MatchingBkgVertexPositionerCfg ( flags,
name = "MatchingBkgVertexPositioner",
** kwargs )
Return a vertex positioner tool that reads a matching vertex from the background input file.

Definition at line 90 of file BeamEffectsAlgConfig.py.

90def MatchingBkgVertexPositionerCfg(flags, name="MatchingBkgVertexPositioner", **kwargs):
91 """Return a vertex positioner tool that reads a matching vertex from the background input file."""
92 acc = ComponentAccumulator()
93
94 if flags.Overlay.DataOverlay:
95 kwargs.setdefault("PrimaryVertexContainerName", f"{flags.Overlay.BkgPrefix}PrimaryVertices")
96
97 from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
98 acc.merge(SGInputLoaderCfg(flags, [f'xAOD::VertexContainer#{kwargs["PrimaryVertexContainerName"]}']))
99 else:
100 kwargs.setdefault("McEventCollectionName", f"{flags.Overlay.BkgPrefix}TruthEvent")
101
102 acc.setPrivateTools(CompFactory.Simulation.MatchingBkgVertexPositioner(name, **kwargs))
103 return acc
104
105

◆ ValidityCheckerCfg()

ValidityCheckerCfg ( flags,
name = "GenEventValidityChecker",
** kwargs )
Return a validity checker tool

Definition at line 17 of file BeamEffectsAlgConfig.py.

17def ValidityCheckerCfg(flags, name="GenEventValidityChecker", **kwargs):
18 """Return a validity checker tool"""
19 acc = ComponentAccumulator()
20 acc.setPrivateTools(CompFactory.Simulation.GenEventValidityChecker(name, **kwargs))
21 return acc
22
23

◆ VertexBeamCondPositionerCfg()

VertexBeamCondPositionerCfg ( flags,
name = "VertexBeamCondPositioner",
** kwargs )
Return a conditional (? todo) vertex positioner tool

Definition at line 60 of file BeamEffectsAlgConfig.py.

60def VertexBeamCondPositionerCfg(flags, name="VertexBeamCondPositioner", **kwargs):
61 """Return a conditional (? todo) vertex positioner tool"""
62 from RngComps.RngCompsConfig import AthRNGSvcCfg
63
64 acc = ComponentAccumulator()
65
66 kwargs.setdefault("RandomSvc", acc.getPrimaryAndMerge(AthRNGSvcCfg(flags)))
67 kwargs.setdefault("SimpleTimeSmearing", flags.Sim.VertexTimeSmearing)
68 kwargs.setdefault("TimeWidth", flags.Sim.VertexTimeWidth)
69
70 from BeamSpotConditions.BeamSpotConditionsConfig import BeamSpotCondAlgCfg
71 acc.merge(BeamSpotCondAlgCfg(flags))
72
73 acc.setPrivateTools(CompFactory.Simulation.VertexBeamCondPositioner(name, **kwargs))
74 return acc
75
76

◆ ZeroLifetimePositionerCfg()

ZeroLifetimePositionerCfg ( flags,
name = "ZeroLifetimePositioner",
** kwargs )

Definition at line 186 of file BeamEffectsAlgConfig.py.

186def ZeroLifetimePositionerCfg(flags, name="ZeroLifetimePositioner", **kwargs):
187 result = ComponentAccumulator()
188 kwargs.setdefault('ApplyPatch', True)
189 kwargs.setdefault('RemovePatch', True)
190 result.addService(CompFactory.Simulation.ZeroLifetimePositioner(name, **kwargs), primary = True)
191 return result
192
193

Variable Documentation

◆ AtlasVersion

BeamEffectsAlgConfig.AtlasVersion

Definition at line 242 of file BeamEffectsAlgConfig.py.

◆ cfg

BeamEffectsAlgConfig.cfg = MainServicesCfg(flags)

Definition at line 250 of file BeamEffectsAlgConfig.py.

◆ Dump

BeamEffectsAlgConfig.Dump

Definition at line 257 of file BeamEffectsAlgConfig.py.

◆ Files

BeamEffectsAlgConfig.Files

Definition at line 226 of file BeamEffectsAlgConfig.py.

◆ flags

BeamEffectsAlgConfig.flags = initConfigFlags()

Definition at line 217 of file BeamEffectsAlgConfig.py.

◆ GlobalTag

BeamEffectsAlgConfig.GlobalTag

Definition at line 243 of file BeamEffectsAlgConfig.py.

◆ HITSFileName

BeamEffectsAlgConfig.HITSFileName

Definition at line 232 of file BeamEffectsAlgConfig.py.

◆ inputDir

BeamEffectsAlgConfig.inputDir
Initial value:
= os.environ.get("ATLAS_REFERENCE_DATA",
"/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art")

Definition at line 223 of file BeamEffectsAlgConfig.py.

◆ isMC

BeamEffectsAlgConfig.isMC

Definition at line 241 of file BeamEffectsAlgConfig.py.

◆ maxEvents

BeamEffectsAlgConfig.maxEvents

Definition at line 266 of file BeamEffectsAlgConfig.py.

◆ RunNumbers

BeamEffectsAlgConfig.RunNumbers

Definition at line 244 of file BeamEffectsAlgConfig.py.

◆ VertexSource

BeamEffectsAlgConfig.VertexSource

Definition at line 237 of file BeamEffectsAlgConfig.py.

◆ withDetails

BeamEffectsAlgConfig.withDetails

Definition at line 258 of file BeamEffectsAlgConfig.py.