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

Functions

 enableFrozenShowersFCalOnly (flags)
 disableFrozenShowersFCalOnly (flags)
 enableBeamPipeKill (flags)
 disableBeamPipeKill (flags)
 enableTightMuonStepping (flags)
 disableTightMuonStepping (flags)
 enableMuonFieldOnlyInCalo (flags)
 disableMuonFieldOnlyInCalo (flags)
 enablePhotonRussianRoulette (flags)
 disablePhotonRussianRoulette (flags)
 enableMultipleStepsInMSCTransport (flags)
 disableMultipleStepsInMSCTransport (flags)
 enableNeutronRussianRoulette (flags)
 disableNeutronRussianRoulette (flags)
 enableEMRangeCuts (flags)
 disableEMRangeCuts (flags)
 enableG4GammaGeneralProcess (flags)
 disableG4GammaGeneralProcess (flags)
 enableWoodcockTracking (flags)
 disableWoodcockTracking (flags)
 enableG4Optimizations (flags)
 disableG4Optimizations (flags)
 WoodcockTrackingInEMEC (flags)
 WoodcockTrackingInEMECPara (flags)
 PostIncludeTweakPhysicsRegionsCfg (flags, cfg)

Function Documentation

◆ disableBeamPipeKill()

python.G4Optimizations.disableBeamPipeKill ( flags)

Definition at line 21 of file G4Optimizations.py.

21def disableBeamPipeKill(flags):
22 flags.Sim.BeamPipeCut = 100.0
23 flags.Sim.BeamPipeSimMode = BeamPipeSimMode.Normal
24
25

◆ disableEMRangeCuts()

python.G4Optimizations.disableEMRangeCuts ( flags)

Definition at line 79 of file G4Optimizations.py.

79def disableEMRangeCuts(flags):
80 commands = flags.Sim.G4Commands
81 commands.remove("/process/em/applyCuts true")
82 flags.Sim.G4Commands = commands
83
84

◆ disableFrozenShowersFCalOnly()

python.G4Optimizations.disableFrozenShowersFCalOnly ( flags)
Turns off GFlash shower parametrization for FCAL

Definition at line 11 of file G4Optimizations.py.

11def disableFrozenShowersFCalOnly(flags):
12 """Turns off GFlash shower parametrization for FCAL"""
13 flags.Sim.LArParameterization = LArParameterization.NoFrozenShowers
14
15

◆ disableG4GammaGeneralProcess()

python.G4Optimizations.disableG4GammaGeneralProcess ( flags)
Disables G4GammaGeneralProcess AND Woodcock tracking

Definition at line 91 of file G4Optimizations.py.

91def disableG4GammaGeneralProcess(flags):
92 """Disables G4GammaGeneralProcess AND Woodcock tracking"""
93 commands = flags.Sim.G4Commands
94 commands.remove("/process/em/UseGeneralProcess true")
95 commands.remove("/process/em/useWoodcockTracking EMEC") # Woodcock tracking requires G4GammaGeneralProcess
96 flags.Sim.G4Commands = commands
97 optionalUserActions = flags.Sim.OptionalUserActionList
98 optionalUserActions.remove("G4UserActions.G4UserActionsConfig.FixG4CreatorProcessToolCfg")
99 flags.Sim.OptionalUserActionList = optionalUserActions
100
101

◆ disableG4Optimizations()

python.G4Optimizations.disableG4Optimizations ( flags)
Ensure all G4Optimizations are disabled - useful for debugging 

Definition at line 165 of file G4Optimizations.py.

165def disableG4Optimizations(flags):
166 """ Ensure all G4Optimizations are disabled - useful for debugging """
167 disableMuonFieldOnlyInCalo(flags)
168 disablePhotonRussianRoulette(flags)
169 disableNeutronRussianRoulette(flags)
170 disableEMRangeCuts(flags)
171 disableG4GammaGeneralProcess(flags)
172 disableWoodcockTracking(flags)
173 disableBeamPipeKill(flags)
174 disableFrozenShowersFCalOnly(flags)
175 disableMultipleStepsInMSCTransport(flags)
176
177

◆ disableMultipleStepsInMSCTransport()

python.G4Optimizations.disableMultipleStepsInMSCTransport ( flags)

Definition at line 58 of file G4Optimizations.py.

58def disableMultipleStepsInMSCTransport(flags):
59 flags.Sim.MultipleStepsInMSCTransport = False
60
61

◆ disableMuonFieldOnlyInCalo()

python.G4Optimizations.disableMuonFieldOnlyInCalo ( flags)

Definition at line 39 of file G4Optimizations.py.

39def disableMuonFieldOnlyInCalo(flags):
40 flags.Sim.MuonFieldOnlyInCalo = False
41
42

◆ disableNeutronRussianRoulette()

python.G4Optimizations.disableNeutronRussianRoulette ( flags)

Definition at line 69 of file G4Optimizations.py.

69def disableNeutronRussianRoulette(flags):
70 flags.Sim.NRRThreshold = False
71 flags.Sim.NRRWeight = False
72
73

◆ disablePhotonRussianRoulette()

python.G4Optimizations.disablePhotonRussianRoulette ( flags)

Definition at line 49 of file G4Optimizations.py.

49def disablePhotonRussianRoulette(flags):
50 flags.Sim.PRRThreshold = False
51 flags.Sim.PRRWeight = False
52
53

◆ disableTightMuonStepping()

python.G4Optimizations.disableTightMuonStepping ( flags)

Definition at line 30 of file G4Optimizations.py.

30def disableTightMuonStepping(flags):
31 flags.Sim.TightMuonStepping = False
32
33

◆ disableWoodcockTracking()

python.G4Optimizations.disableWoodcockTracking ( flags)

Definition at line 112 of file G4Optimizations.py.

112def disableWoodcockTracking(flags):
113 commands = flags.Sim.G4Commands
114 commands.remove("/process/em/useWoodcockTracking EMEC")
115 flags.Sim.G4Commands = commands
116 if "/process/em/UseGeneralProcess true" not in flags.Sim.G4Commands:
117 optionalUserActions = flags.Sim.OptionalUserActionList
118 optionalUserActions.remove("G4UserActions.G4UserActionsConfig.FixG4CreatorProcessToolCfg")
119 flags.Sim.OptionalUserActionList = optionalUserActions
120
121

◆ enableBeamPipeKill()

python.G4Optimizations.enableBeamPipeKill ( flags)

Definition at line 16 of file G4Optimizations.py.

16def enableBeamPipeKill(flags):
17 flags.Sim.BeamPipeCut = 0.
18 flags.Sim.BeamPipeSimMode = BeamPipeSimMode.FastSim
19
20

◆ enableEMRangeCuts()

python.G4Optimizations.enableEMRangeCuts ( flags)
Turn on range cuts for gamma processes (conv, phot, compt)

Definition at line 74 of file G4Optimizations.py.

74def enableEMRangeCuts(flags):
75 """Turn on range cuts for gamma processes (conv, phot, compt)"""
76 flags.Sim.G4Commands += ['/process/em/applyCuts true']
77
78

◆ enableFrozenShowersFCalOnly()

python.G4Optimizations.enableFrozenShowersFCalOnly ( flags)
Turns on GFlash shower parametrization for FCAL

Definition at line 5 of file G4Optimizations.py.

5def enableFrozenShowersFCalOnly(flags):
6 """Turns on GFlash shower parametrization for FCAL"""
7 flags.Sim.LArParameterization = LArParameterization.FrozenShowersFCalOnly
8 flags.Sim.CalibrationRun = CalibrationRun.Off
9
10

◆ enableG4GammaGeneralProcess()

python.G4Optimizations.enableG4GammaGeneralProcess ( flags)
Activate the G4GammaGeneralProcess and the UserAction required

Definition at line 85 of file G4Optimizations.py.

85def enableG4GammaGeneralProcess(flags):
86 """Activate the G4GammaGeneralProcess and the UserAction required"""
87 flags.Sim.G4Commands+=["/process/em/UseGeneralProcess true"]
88 flags.Sim.OptionalUserActionList += ['G4UserActions.G4UserActionsConfig.FixG4CreatorProcessToolCfg']
89
90

◆ enableG4Optimizations()

python.G4Optimizations.enableG4Optimizations ( flags)
Enable G4 optimizations

Definition at line 122 of file G4Optimizations.py.

122def enableG4Optimizations(flags):
123 """Enable G4 optimizations"""
124
125 # Activate magnetic field switch off in central LAr calorimeter
126 # More info: https://its.cern.ch/jira/browse/ATLPHYSVAL-773
127 enableMuonFieldOnlyInCalo(flags)
128
129 # Photon Russian Roulette
130 # "Fast simulation" killing low energy photons with some probability.
131 # More info: https://its.cern.ch/jira/browse/ATLASSIM-4096
132 enablePhotonRussianRoulette(flags)
133
134 # Neutron Russian Roulette
135 # "Fast simulation" killing low energy neutrons with some probability.
136 # More info: its.cern.ch/jira/browse/ATLASSIM-3924
137 enableNeutronRussianRoulette(flags)
138
139 # EM Range Cuts
140 # Turn on range cuts for gamma processes (conv, phot, compt)
141 # More info: https://its.cern.ch/jira/browse/ATLASSIM-3956
142 enableEMRangeCuts(flags)
143
144 # G4GammaGeneralProcess
145 # Activate the G4GammaGeneralProcess and the UserAction required
146 # to fix the creator process of secondary tracks.
147 enableG4GammaGeneralProcess(flags)
148
149 # Energy Loss fluctuation OFF
150 # Switch off the Energy loss fluctuation process
151 # More info: https://its.cern.ch/jira/browse/ATLASSIM-6995
152 # Main physics validation: https://its.cern.ch/jira/browse/ATLPHYSVAL-1009
153 # Follow-up validation for Muons: https://its.cern.ch/jira/browse/ATLPHYSVAL-1022
154 # Follow-up validation for Egamma: https://its.cern.ch/jira/browse/ATLPHYSVAL-1030
155 # This optimization is on hold for mc23e - for discrepancies seen in the
156 # follow-up validations by EgammaCP group.
157 # It will be evaluated for future campaigns.
158 # flags.Sim.G4Commands+=["/process/eLoss/fluct false"]
159
160 # Activate the Woodcock Tracking in the EMEC
161 # More info: https://its.cern.ch/jira/browse/ATLASSIM-5079
162 enableWoodcockTracking(flags)
163
164

◆ enableMultipleStepsInMSCTransport()

python.G4Optimizations.enableMultipleStepsInMSCTransport ( flags)

Definition at line 54 of file G4Optimizations.py.

54def enableMultipleStepsInMSCTransport(flags):
55 flags.Sim.MultipleStepsInMSCTransport = True
56
57

◆ enableMuonFieldOnlyInCalo()

python.G4Optimizations.enableMuonFieldOnlyInCalo ( flags)
Activate magnetic field switch off in central LAr calorimeter

Definition at line 34 of file G4Optimizations.py.

34def enableMuonFieldOnlyInCalo(flags):
35 """Activate magnetic field switch off in central LAr calorimeter"""
36 flags.Sim.MuonFieldOnlyInCalo = True
37
38

◆ enableNeutronRussianRoulette()

python.G4Optimizations.enableNeutronRussianRoulette ( flags)
Activate Neutron Russian Roulette: Fast simulation" killing low energy neutrons with some probability.

Definition at line 62 of file G4Optimizations.py.

62def enableNeutronRussianRoulette(flags):
63 """Activate Neutron Russian Roulette: Fast simulation" killing low energy neutrons with some probability."""
64 flags.Sim.NRRThreshold = 2. # MeV
65 flags.Sim.NRRWeight = 10.
66 flags.Sim.CalibrationRun = CalibrationRun.Off
67
68

◆ enablePhotonRussianRoulette()

python.G4Optimizations.enablePhotonRussianRoulette ( flags)
Activate Photon Russian Roulette: Fast simulation" killing low energy photons with some probability.

Definition at line 43 of file G4Optimizations.py.

43def enablePhotonRussianRoulette(flags):
44 """Activate Photon Russian Roulette: Fast simulation" killing low energy photons with some probability."""
45 flags.Sim.PRRThreshold = 0.5 # MeV
46 flags.Sim.PRRWeight = 10.
47
48

◆ enableTightMuonStepping()

python.G4Optimizations.enableTightMuonStepping ( flags)

Definition at line 26 of file G4Optimizations.py.

26def enableTightMuonStepping(flags):
27 flags.Sim.TightMuonStepping = True
28
29

◆ enableWoodcockTracking()

python.G4Optimizations.enableWoodcockTracking ( flags)
Activate the Woodcock Tracking in the EMEC

Definition at line 102 of file G4Optimizations.py.

102def enableWoodcockTracking(flags):
103 """Activate the Woodcock Tracking in the EMEC"""
104 flags.Sim.G4Commands += ['/process/em/useWoodcockTracking EMEC']
105 # Please note that the Woodcock tracking enables the
106 # G4GammaGeneralProcess therefore the FixG4CreatorProcessTool must
107 # be added if it's not done before
108 if "G4UserActions.G4UserActionsConfig.FixG4CreatorProcessToolCfg" not in flags.Sim.OptionalUserActionList:
109 flags.Sim.OptionalUserActionList += ['G4UserActions.G4UserActionsConfig.FixG4CreatorProcessToolCfg']
110
111

◆ PostIncludeTweakPhysicsRegionsCfg()

python.G4Optimizations.PostIncludeTweakPhysicsRegionsCfg ( flags,
cfg )

Definition at line 196 of file G4Optimizations.py.

196def PostIncludeTweakPhysicsRegionsCfg(flags, cfg):
197 # This postInclude drops BeamPipe::SectionF198 and
198 # BeamPipe::SectionF199 from the DeadMaterial G4Region, to avoid a
199 # clash with the BeampipeFwdCut G4Region.
200 from AthenaConfiguration.ComponentAccumulator import ConfigurationError
201 detConTool = None
202 try:
203 detConTool = cfg.getPublicTool('G4AtlasDetectorConstructionTool')
204 except ConfigurationError:
205 pass
206 if detConTool is None:
207 return
208 detConTool.RegionCreators['DeadMaterialPhysicsRegionTool'].VolumeList.remove('BeamPipe::SectionF198')
209 detConTool.RegionCreators['DeadMaterialPhysicsRegionTool'].VolumeList.remove('BeamPipe::SectionF199')

◆ WoodcockTrackingInEMEC()

python.G4Optimizations.WoodcockTrackingInEMEC ( flags)

Definition at line 178 of file G4Optimizations.py.

178def WoodcockTrackingInEMEC(flags):
179 # Use Woodcock Tracking in the EMEC rather than the EMECPara
180 # G4Region. This preInclude should be added at the end of the list
181 # of preIncludes.
182 commands = flags.Sim.G4Commands
183 commands.remove("/process/em/useWoodcockTracking EMECPara")
184 flags.Sim.G4Commands = commands + ["/process/em/useWoodcockTracking EMEC"]
185
186

◆ WoodcockTrackingInEMECPara()

python.G4Optimizations.WoodcockTrackingInEMECPara ( flags)

Definition at line 187 of file G4Optimizations.py.

187def WoodcockTrackingInEMECPara(flags):
188 # Use Woodcock Tracking in the EMECPara rather than the EMEC
189 # G4Region. This preInclude should be added at the end of the list
190 # of preIncludes.
191 commands = flags.Sim.G4Commands
192 commands.remove("/process/em/useWoodcockTracking EMEC")
193 flags.Sim.G4Commands = commands + ["/process/em/useWoodcockTracking EMECPara"]
194
195