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()

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

Definition at line 121 of file BeamEffectsAlgConfig.py.

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

◆ BeamEffectsAlgOutputCfg()

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

Definition at line 159 of file BeamEffectsAlgConfig.py.

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

◆ BeamSpotFixerAlgCfg()

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

Definition at line 170 of file BeamEffectsAlgConfig.py.

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

◆ BeamSpotReweightingAlgCfg()

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

Definition at line 192 of file BeamEffectsAlgConfig.py.

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

◆ CrabKissingVertexPositionerCfg()

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

Definition at line 104 of file BeamEffectsAlgConfig.py.

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

◆ GenEventBeamEffectBoosterCfg()

BeamEffectsAlgConfig.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()

BeamEffectsAlgConfig.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()

BeamEffectsAlgConfig.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()

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

Definition at line 112 of file BeamEffectsAlgConfig.py.

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

◆ LRAVertexPositionerCfg()

BeamEffectsAlgConfig.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()

BeamEffectsAlgConfig.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
100 acc.setPrivateTools(CompFactory.Simulation.MatchingBkgVertexPositioner(name, **kwargs))
101 return acc
102
103

◆ ValidityCheckerCfg()

BeamEffectsAlgConfig.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()

BeamEffectsAlgConfig.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()

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

Definition at line 184 of file BeamEffectsAlgConfig.py.

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

Variable Documentation

◆ AtlasVersion

BeamEffectsAlgConfig.AtlasVersion

Definition at line 240 of file BeamEffectsAlgConfig.py.

◆ cfg

BeamEffectsAlgConfig.cfg = MainServicesCfg(flags)

Definition at line 248 of file BeamEffectsAlgConfig.py.

◆ Dump

BeamEffectsAlgConfig.Dump

Definition at line 255 of file BeamEffectsAlgConfig.py.

◆ Files

BeamEffectsAlgConfig.Files

Definition at line 224 of file BeamEffectsAlgConfig.py.

◆ flags

BeamEffectsAlgConfig.flags = initConfigFlags()

Definition at line 215 of file BeamEffectsAlgConfig.py.

◆ GlobalTag

BeamEffectsAlgConfig.GlobalTag

Definition at line 241 of file BeamEffectsAlgConfig.py.

◆ HITSFileName

BeamEffectsAlgConfig.HITSFileName

Definition at line 230 of file BeamEffectsAlgConfig.py.

◆ inputDir

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

Definition at line 221 of file BeamEffectsAlgConfig.py.

◆ isMC

BeamEffectsAlgConfig.isMC

Definition at line 239 of file BeamEffectsAlgConfig.py.

◆ maxEvents

BeamEffectsAlgConfig.maxEvents

Definition at line 264 of file BeamEffectsAlgConfig.py.

◆ RunNumbers

BeamEffectsAlgConfig.RunNumbers

Definition at line 242 of file BeamEffectsAlgConfig.py.

◆ VertexSource

BeamEffectsAlgConfig.VertexSource

Definition at line 235 of file BeamEffectsAlgConfig.py.

◆ withDetails

BeamEffectsAlgConfig.withDetails

Definition at line 256 of file BeamEffectsAlgConfig.py.