ATLAS Offline Software
Loading...
Searching...
No Matches
G4PhysicsRegionConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
3from AthenaConfiguration.ComponentFactory import CompFactory
4from AthenaConfiguration.Enums import LHCPeriod
5from SimulationConfig.SimEnums import BeamPipeSimMode
6from AthenaCommon.Logging import logging
7
8RegionCreator=CompFactory.RegionCreator
9
10def RegionCreatorCfg(flags, name='RegionCreator', **kwargs):
11 result = ComponentAccumulator()
12 kwargs.setdefault("DumpRegion", not flags.Exec.QuietMode)
13 result.setPrivateTools(RegionCreator(name, **kwargs))
14 return result
15
16
17# Beampipe Regions
18def BeampipeFwdCutPhysicsRegionToolCfg(flags, name='BeampipeFwdCutPhysicsRegionTool', **kwargs):
19 theLog = logging.getLogger("BeampipeFwdCutPhysicsRegionToolCfg")
20 kwargs.setdefault("RegionName", 'BeampipeFwdCut')
21 volumeList = []
22 if flags.GeoModel.Run is LHCPeriod.Run1:
23 volumeList = ['BeamPipe::SectionF47', 'BeamPipe::SectionF48', 'BeamPipe::SectionF61']
24 else:
25 volumeList = ['BeamPipe::SectionF198', 'BeamPipe::SectionF199', 'BeamPipe::SectionF200']
26 if flags.GeoModel.Run > LHCPeriod.Run4:
27 theLog.warning('check that RUN2 beampipe volume names are correct for this geometry tag')
28 kwargs.setdefault("VolumeList", volumeList)
29
30 if flags.Sim.BeamPipeSimMode is BeamPipeSimMode.FastSim:
31 kwargs.setdefault("ElectronCut", 10.)
32 kwargs.setdefault("PositronCut", 10.)
33 kwargs.setdefault("GammaCut", 10.)
34 theLog.info('Adding fast sim model to the beampipe!')
35 else:
36 assert flags.Sim.BeamPipeCut
37 if flags.Sim.BeamPipeCut < 1:
38 msg = "Setting the forward beam pipe range cuts to %e mm " % flags.Sim.BeamPipeCut
39 msg += "-- cut is < 1 mm, I hope you know what you're doing!"
40 theLog.info(msg)
41 if flags.Sim.BeamPipeSimMode is BeamPipeSimMode.EGammaRangeCuts:
42 kwargs.setdefault("ElectronCut", flags.Sim.BeamPipeCut)
43 kwargs.setdefault("PositronCut", flags.Sim.BeamPipeCut)
44 kwargs.setdefault("GammaCut", flags.Sim.BeamPipeCut)
45 elif flags.Sim.BeamPipeSimMode is BeamPipeSimMode.EGammaPRangeCuts:
46 kwargs.setdefault("ElectronCut", flags.Sim.BeamPipeCut)
47 kwargs.setdefault("PositronCut", flags.Sim.BeamPipeCut)
48 kwargs.setdefault("GammaCut", flags.Sim.BeamPipeCut)
49 kwargs.setdefault("ProtonCut", flags.Sim.BeamPipeCut)
50 return RegionCreatorCfg(flags, name, **kwargs)
51
52
53def FWDBeamLinePhysicsRegionToolCfg(flags, name='FWDBeamLinePhysicsRegionTool', **kwargs):
54 kwargs.setdefault("RegionName", 'FWDBeamLine')
55 if flags.GeoModel.Run is LHCPeriod.Run1:
56 volumeList = ['BeamPipe::SectionF46']
57 else:
58 volumeList = ['BeamPipe::SectionF197']
59 if flags.GeoModel.Run > LHCPeriod.Run4:
60 theLog = logging.getLogger("FWDBeamLinePhysicsRegionToolCfg")
61 theLog.warning('Check that RUN2 beampipe volume names are correct for this geometry tag')
62 kwargs.setdefault("VolumeList", volumeList)
63 return RegionCreatorCfg(flags, name, **kwargs)
64
65
66# Forward Regions
67def FwdRegionPhysicsRegionToolCfg(flags, name='FwdRegionPhysicsRegionTool', **kwargs):
68 kwargs.setdefault("RegionName", 'FwdRegion')
69 volumeList = ['FwdRegion::ForwardRegionGeoModel']
70 kwargs.setdefault("VolumeList", volumeList)
71 kwargs.setdefault("ElectronCut", 200.)
72 kwargs.setdefault("PositronCut", 200.)
73 kwargs.setdefault("GammaCut", 200.)
74 return RegionCreatorCfg(flags, name, **kwargs)
75
76
77# Inner Detector Regions
78def PixelPhysicsRegionToolCfg(flags, name='PixelPhysicsRegionTool', **kwargs):
79 kwargs.setdefault("RegionName", 'Pixel')
80 volumeList = ['Pixel::siLog', 'Pixel::siBLayLog']
81 if flags.GeoModel.Run in [LHCPeriod.Run2, LHCPeriod.Run3]:
82 # TODO: should we support old geometry tags with Run == "UNDEFINED" and flags.GeoModel.IBLLayout not in ["noIBL", "UNDEFINED"]?
83 volumeList += ['Pixel::dbmDiamondLog']
84 kwargs.setdefault("VolumeList", volumeList)
85 # The range cuts used here are directly linked to the minimum energy of delta rays.
86 # The minimum energy of delta rays in an input to the digitisation when using Bichsel charge deposition model.
87 # The range cut is equated to an energy threshold in the simulation log file
88 # If these change please update the digitisation cuts appropriately.
89 kwargs.setdefault("ElectronCut", 0.05)
90 kwargs.setdefault("PositronCut", 0.05)
91 kwargs.setdefault("GammaCut", 0.05)
92 return RegionCreatorCfg(flags, name, **kwargs)
93
94
95def SCTPhysicsRegionToolCfg(flags, name='SCTPhysicsRegionTool', **kwargs):
96 kwargs.setdefault("RegionName", 'SCT')
97 volumeList = ['SCT::BRLSensor', 'SCT::ECSensor0', 'SCT::ECSensor1',
98 'SCT::ECSensor2','SCT::ECSensor3']
99 kwargs.setdefault("VolumeList", volumeList)
100 kwargs.setdefault("ElectronCut", 0.05)
101 kwargs.setdefault("PositronCut", 0.05)
102 kwargs.setdefault("GammaCut", 0.05)
103 return RegionCreatorCfg(flags, name, **kwargs)
104
105
106def ITkPixelPhysicsRegionToolCfg(flags, name='ITkPixelPhysicsRegionTool', **kwargs):
107 kwargs.setdefault("RegionName", 'ITkPixel')
108 volumeList = ['ITkPixel::InnerBarrelSingleMod_Sensor',
109 'ITkPixel::InnerRingSingleMod_Sensor',
110 'ITkPixel::InnerQuadMod_Sensor',
111 'ITkPixel::OuterQuadMod_Sensor',
112 'ITkPixel::InclinedQuadMod_Sensor']
113 kwargs.setdefault("VolumeList", volumeList)
114 kwargs.setdefault("ElectronCut", 0.05)
115 kwargs.setdefault("PositronCut", 0.05)
116 kwargs.setdefault("GammaCut", 0.05)
117 return RegionCreatorCfg(flags, name, **kwargs)
118
119
120def ITkStripPhysicsRegionToolCfg(flags, name='ITkStripPhysicsRegionTool', **kwargs):
121 kwargs.setdefault("RegionName", 'ITkStrip')
122 volumeList = ['ITkStrip::BRLSensorSS', 'ITkStrip::BRLSensorMS',
123 'ITkStrip::ECSensor0', 'ITkStrip::ECSensor1', 'ITkStrip::ECSensor2',
124 'ITkStrip::ECSensor3', 'ITkStrip::ECSensor4', 'ITkStrip::ECSensor5',
125 'ITkStrip::ECSensorBack0', 'ITkStrip::ECSensorBack1', 'ITkStrip::ECSensorBack2',
126 'ITkStrip::ECSensorBack3', 'ITkStrip::ECSensorBack4', 'ITkStrip::ECSensorBack5']
127 kwargs.setdefault("VolumeList", volumeList)
128 kwargs.setdefault("ElectronCut", 0.05)
129 kwargs.setdefault("PositronCut", 0.05)
130 kwargs.setdefault("GammaCut", 0.05)
131 return RegionCreatorCfg(flags, name, **kwargs)
132
133
134def HGTDPhysicsRegionToolCfg(flags, name='HGTDPhysicsRegionTool', **kwargs):
135 kwargs.setdefault("RegionName", 'HGTD')
136 if flags.HGTD.Geometry.useGeoModelXml:
137 volumeList = ['HGTD::HGTDSiSensorPosL0',"HGTD::HGTDSiSensorPosL1",
138 'HGTD::HGTDSiSensorPosL2','HGTD::HGTDSiSensorPosL3',
139 'HGTD::HGTDSiSensorNegL0','HGTD::HGTDSiSensorNegL1',
140 'HGTD::HGTDSiSensorNegL2','HGTD::HGTDSiSensorNegL3',
141 'HGTD::HGTDSiSensor']
142 else:
143 volumeList = ['HGTD::HGTDSiSensor0', 'HGTD::HGTDSiSensor1',
144 'HGTD::HGTDSiSensor2', 'HGTD::HGTDSiSensor3']
145 kwargs.setdefault("VolumeList", volumeList)
146 kwargs.setdefault("ElectronCut", 0.05)
147 kwargs.setdefault("PositronCut", 0.05)
148 kwargs.setdefault("GammaCut", 0.05)
149 return RegionCreatorCfg(flags, name, **kwargs)
150
151
152def TRTPhysicsRegionToolCfg(flags, name='TRTPhysicsRegionTool', **kwargs):
153 rangeCut = flags.Sim.TRTRangeCut
154 kwargs.setdefault("RegionName", 'TRT')
155 volumeList = ['TRT::Gas']
156 if flags.GeoModel.Run in [LHCPeriod.Run2] or flags.GeoModel.SQLiteDB:
157 volumeList += ["TRT::GasMA"]
158 kwargs.setdefault("VolumeList", volumeList)
159 kwargs.setdefault("ElectronCut", rangeCut)
160 kwargs.setdefault("PositronCut", rangeCut)
161 # The photon range cut is meant to stay small
162 kwargs.setdefault("GammaCut", 0.05)
163 return RegionCreatorCfg(flags, name, **kwargs)
164
165
166def TRT_ArPhysicsRegionToolCfg(flags, name='TRT_ArPhysicsRegionTool', **kwargs):
167 kwargs.setdefault("RegionName", 'TRT_Ar')
168 volumeList = ['TRT::Gas_Ar', 'TRT::GasMA_Ar']
169 kwargs.setdefault("VolumeList", volumeList)
170 kwargs.setdefault("ElectronCut", 30.0)
171 kwargs.setdefault("PositronCut", 30.0)
172 kwargs.setdefault("GammaCut", 0.05)
173 return RegionCreatorCfg(flags, name, **kwargs)
174
175
176def TRT_KrPhysicsRegionToolCfg(flags, name='TRT_KrPhysicsRegionTool', **kwargs):
177 kwargs.setdefault("RegionName", 'TRT_Kr')
178 volumeList = ['TRT::Gas_Kr', 'TRT::GasMA_Kr']
179 kwargs.setdefault("VolumeList", volumeList)
180 kwargs.setdefault("ElectronCut", 15.0)
181 kwargs.setdefault("PositronCut", 15.0)
182 kwargs.setdefault("GammaCut", 0.05)
183 return RegionCreatorCfg(flags, name, **kwargs)
184
185def CALOPhysicsRegionToolCfg(flags, name='CALOPhysicsRegionTool', **kwargs):
186 kwargs.setdefault("RegionName", 'CALO')
187 volumeList = ['CALO::CALO', 'LArMgr::LAr::Endcap::Cryostat::Cylinder::Mixed','LArMgr::LAr::Barrel::Cryostat::MotherVolume','LArMgr::ModeratorTube','LArMgr::LAr::Endcap::Cryostat::MotherVolume']
188 kwargs.setdefault("VolumeList", volumeList)
189 return RegionCreatorCfg(flags, name, **kwargs)
190
191
192def EMBPhysicsRegionToolCfg(flags, name='EMBPhysicsRegionTool', **kwargs):
193 kwargs.setdefault("RegionName", 'EMB')
194 volumeList = ['LArMgr::LAr::EMB::STAC']
195 kwargs.setdefault("VolumeList", volumeList)
196 rangeEMB = 0.03
197 if '_EMV' not in flags.Sim.PhysicsList and '_EMX' not in flags.Sim.PhysicsList:
198 rangeEMB = 0.1
199 kwargs.setdefault("ElectronCut", rangeEMB)
200 kwargs.setdefault("PositronCut", rangeEMB)
201 kwargs.setdefault("GammaCut", rangeEMB)
202 return RegionCreatorCfg(flags, name, **kwargs)
203
204
205def EMECPhysicsRegionToolCfg(flags, name='EMECPhysicsRegionTool', **kwargs):
206 kwargs.setdefault("RegionName", 'EMEC')
207 volumeList = ['LArMgr::LAr::EMEC::Mother']
208 kwargs.setdefault("VolumeList", volumeList)
209 rangeEMEC = 0.03
210 if '_EMV' not in flags.Sim.PhysicsList and '_EMX' not in flags.Sim.PhysicsList:
211 rangeEMEC = 0.1
212 kwargs.setdefault("ElectronCut", rangeEMEC)
213 kwargs.setdefault("PositronCut", rangeEMEC)
214 kwargs.setdefault("GammaCut", rangeEMEC)
215 return RegionCreatorCfg(flags, name, **kwargs)
216
217
218def HECPhysicsRegionToolCfg(flags, name='HECPhysicsRegionTool', **kwargs):
219 kwargs.setdefault("RegionName", 'HEC')
220 volumeList = ['LArMgr::LAr::HEC::LiquidArgon']
221 kwargs.setdefault("VolumeList", volumeList)
222 rangeHEC = 0.03
223 if '_EMV' not in flags.Sim.PhysicsList and '_EMX' not in flags.Sim.PhysicsList:
224 rangeHEC = 1.0
225 kwargs.setdefault("ElectronCut", rangeHEC)
226 kwargs.setdefault("PositronCut", rangeHEC)
227 kwargs.setdefault("GammaCut", rangeHEC)
228 return RegionCreatorCfg(flags, name, **kwargs)
229
230
231def FCALPhysicsRegionToolCfg(flags, name='FCALPhysicsRegionTool', **kwargs):
232 kwargs.setdefault("RegionName", 'FCAL')
233 volumeList = ['LArMgr::LAr::FCAL::LiquidArgonC']
234 kwargs.setdefault("VolumeList", volumeList)
235 kwargs.setdefault("ElectronCut", 0.03)
236 kwargs.setdefault("PositronCut", 0.03)
237 kwargs.setdefault("GammaCut", 0.03)
238 return RegionCreatorCfg(flags, name, **kwargs)
239
240
241def EMECParaPhysicsRegionToolCfg(flags, name='EMECParaPhysicsRegionTool', **kwargs):
242 kwargs.setdefault("RegionName", 'EMECPara')
243 volumeList = ['LArMgr::LAr::EMEC::Pos::InnerWheel', 'LArMgr::LAr::EMEC::Pos::OuterWheel',
244 'LArMgr::LAr::EMEC::Neg::InnerWheel', 'LArMgr::LAr::EMEC::Neg::OuterWheel']
245 kwargs.setdefault("VolumeList", volumeList)
246 rangeEMEC = 0.03
247 if '_EMV' not in flags.Sim.PhysicsList and '_EMX' not in flags.Sim.PhysicsList:
248 rangeEMEC = 0.1
249 kwargs.setdefault("ElectronCut", rangeEMEC)
250 kwargs.setdefault("PositronCut", rangeEMEC)
251 kwargs.setdefault("GammaCut", rangeEMEC)
252 return RegionCreatorCfg(flags, name, **kwargs)
253
254
255def FCALParaPhysicsRegionToolCfg(flags, name='FCALParaPhysicsRegionTool', **kwargs):
256 kwargs.setdefault("RegionName", 'FCALPara')
257 volumeList = ['LArMgr::LAr::FCAL::Module1::Absorber']
258 kwargs.setdefault("VolumeList", volumeList)
259 kwargs.setdefault("ElectronCut", 0.03)
260 kwargs.setdefault("PositronCut", 0.03)
261 kwargs.setdefault("GammaCut", 0.03)
262 return RegionCreatorCfg(flags, name, **kwargs)
263
264
265def FCAL2ParaPhysicsRegionToolCfg(flags, name='FCAL2ParaPhysicsRegionTool', **kwargs):
266 kwargs.setdefault("RegionName", 'FCAL2Para')
267 volumeList = ['LArMgr::LAr::FCAL::Module2::Absorber', 'LArMgr::LAr::FCAL::Module3::Absorber']
268 kwargs.setdefault("VolumeList", volumeList)
269 kwargs.setdefault("ElectronCut", 0.03)
270 kwargs.setdefault("PositronCut", 0.03)
271 kwargs.setdefault("GammaCut", 0.03)
272 return RegionCreatorCfg(flags, name, **kwargs)
273
274
275def PreSampLArPhysicsRegionToolCfg(flags, name='PreSampLArPhysicsRegionTool', **kwargs):
276 kwargs.setdefault("RegionName", 'PreSampLAr')
277 volumeList = ['LArMgr::LAr::Endcap::Presampler::LiquidArgon']
278 kwargs.setdefault("VolumeList", volumeList)
279 return RegionCreatorCfg(flags, name, **kwargs)
280
281
282def DeadMaterialPhysicsRegionToolCfg(flags, name='DeadMaterialPhysicsRegionTool', **kwargs):
283 kwargs.setdefault("RegionName", 'DeadMaterial')
284 volumeList = []
285 sectionList = []
286 if flags.GeoModel.Run is LHCPeriod.Run1:
287 # Avoid overlap with BeampipeFwdCut Region (ATLASSIM-6426)
288 endRange = 47 if flags.Sim.BeamPipeSimMode is not BeamPipeSimMode.Normal else 49
289 # Avoid overlap with FWDBeamLine region
290 if not flags.Detector.GeometryFwdRegion and (flags.Detector.GeometryAFP or flags.Detector.GeometryALFA or flags.Detector.GeometryZDC):
291 endRange = 46
292 sectionList = list(range(16,endRange)) # does not include endRange
293 sectionList += [ 51, 52, 53, 54 ]
294 else:
295 # Avoid overlap with BeampipeFwdCut Region (ATLASSIM-6426)
296 endRange = 198 if flags.Sim.BeamPipeSimMode is not BeamPipeSimMode.Normal else 200
297 # Avoid overlap with FWDBeamLine region
298 if not flags.Detector.GeometryFwdRegion and (flags.Detector.GeometryAFP or flags.Detector.GeometryALFA or flags.Detector.GeometryZDC):
299 endRange = 197
300 sectionList = list(range(191,endRange)) # does not include endRange
301 if flags.GeoModel.Run > LHCPeriod.Run4:
302 print('DeadMaterialPhysicsRegionToolCfg: WARNING check that RUN2 beampipe volume names are correct for this geometry tag')
303 for section in sectionList:
304 volumeList += ['BeamPipe::SectionF'+str(section)]
305 volumeList += ['LArMgr::LAr::Endcap::Cryostat::Cylinder',
306 'LArMgr::LAr::Endcap::Cryostat::Cylinder::Mixed',
307 'LArMgr::LAr::Endcap::Cryostat::Cone::Mixed',
308 'LArMgr::LAr::Endcap::Cryostat::Cone',
309 'DiskShieldingPlugs', 'ToroidShieldingInnerPlugs',
310 'ForwardShieldingMainCylinder']
311 kwargs.setdefault("VolumeList", volumeList)
312 kwargs.setdefault("ElectronCut", 1.0)
313 kwargs.setdefault("PositronCut", 1.0)
314 kwargs.setdefault("GammaCut", 1.0)
315 return RegionCreatorCfg(flags, name, **kwargs)
316
317
318#Muon Regions
319def DriftWallPhysicsRegionToolCfg(flags, name='DriftWallPhysicsRegionTool', **kwargs):
320 kwargs.setdefault("RegionName", 'DriftWall')
321 volumeList = ['Muon::MDTDriftWall' if not flags.Muon.usePhaseIIGeoSetup else 'MuonR4::MDTDriftWall' ]
322 kwargs.setdefault("VolumeList", volumeList)
323 kwargs.setdefault("ElectronCut", 0.05)
324 kwargs.setdefault("PositronCut", 0.05)
325 return RegionCreatorCfg(flags, name, **kwargs)
326
327
328def DriftWall1PhysicsRegionToolCfg(flags, name='DriftWall1PhysicsRegionTool', **kwargs):
329 kwargs.setdefault("RegionName", 'DriftWall1')
330 volumeList = ['Muon::Endplug' if not flags.Muon.usePhaseIIGeoSetup else 'MuonR4::Endplug']
331 kwargs.setdefault("VolumeList", volumeList)
332 kwargs.setdefault("ElectronCut", 1.0)
333 kwargs.setdefault("PositronCut", 1.0)
334 return RegionCreatorCfg(flags, name, **kwargs)
335
336
337def DriftWall2PhysicsRegionToolCfg(flags, name='DriftWall2PhysicsRegionTool', **kwargs):
338 kwargs.setdefault("RegionName", 'DriftWall2')
339 volumeList = ['Muon::SensitiveGas' if not flags.Muon.usePhaseIIGeoSetup else 'MuonR4::MDTDriftGas']
340 kwargs.setdefault("VolumeList", volumeList)
341 kwargs.setdefault("ElectronCut", 1.0)
342 kwargs.setdefault("PositronCut", 1.0)
343 return RegionCreatorCfg(flags, name, **kwargs)
344
345
346def MuonSystemFastPhysicsRegionToolCfg(flags, name='MuonSystemFastPhysicsRegionTool', **kwargs):
347 kwargs.setdefault("RegionName", 'MuonSystemFastRegion')
348 volumeList = []
349 from SimulationConfig.SimEnums import CavernBackground
350 if flags.Sim.CavernBackground in [CavernBackground.SignalWorld, CavernBackground.WriteWorld]:
351 if flags.GeoModel.Run < LHCPeriod.Run4:
352 volumeList += ['BeamPipe::BeamPipe', 'IDET::IDET']
353 else:
354 volumeList += ['BeamPipe::BeamPipe', 'ITK::ITK']
355 volumeList = ['Muon::MuonSys']
356 kwargs.setdefault("VolumeList", volumeList)
357 kwargs.setdefault("ElectronCut", 1.0)
358 kwargs.setdefault("PositronCut", 1.0)
359 return RegionCreatorCfg(flags, name, **kwargs)
360
361
362def MuonPhysicsRegionToolCfg(flags, name="MuonPhysicsRegionTool", **kwargs):
363 kwargs.setdefault("RegionName", 'MuonSys')
364 volumeList = ['Muon::MuonSys']
365 kwargs.setdefault("VolumeList", volumeList)
366 kwargs.setdefault("ElectronCut", 0.1)
367 kwargs.setdefault("PositronCut", 0.1)
368 kwargs.setdefault("GammaCut", 0.1)
369 return RegionCreatorCfg(flags, name, **kwargs)
370
371
372# Cavern Regions
373def SX1PhysicsRegionToolCfg(flags, name='SX1PhysicsRegionTool', **kwargs):
374 kwargs.setdefault("RegionName", 'SX1')
375 volumeList = ['CavernInfra::SX1Air']
376 kwargs.setdefault("VolumeList", volumeList)
377 kwargs.setdefault("ElectronCut", 2000.)
378 kwargs.setdefault("PositronCut", 2000.)
379 kwargs.setdefault("GammaCut", 2000.)
380 return RegionCreatorCfg(flags, name, **kwargs)
381
382
383def BedrockPhysicsRegionToolCfg(flags, name='BedrockPhysicsRegionTool', **kwargs):
384 kwargs.setdefault("RegionName", 'BEDROCK')
385 volumeList = ['CavernInfra::BEDROCK']
386 kwargs.setdefault("VolumeList", volumeList)
387 kwargs.setdefault("ElectronCut", 1000000.)
388 kwargs.setdefault("PositronCut", 1000000.)
389 kwargs.setdefault("GammaCut", 1000000.)
390 return RegionCreatorCfg(flags, name, **kwargs)
391
392
393def CavernShaftsConcretePhysicsRegionToolCfg(flags, name='CavernShaftsConcretePhysicsRegionTool', **kwargs):
394 kwargs.setdefault("RegionName", 'CAV_SHAFTS_CONC')
395 volumeList = ['CavernInfra::CAV_SHAFTS_CONC']
396 kwargs.setdefault("VolumeList", volumeList)
397 kwargs.setdefault("ElectronCut", 150.)
398 kwargs.setdefault("PositronCut", 150.)
399 kwargs.setdefault("GammaCut", 150.)
400 return RegionCreatorCfg(flags, name, **kwargs)
401
402
403
412
413
414# CTB Regions
415def SCTSiliconPhysicsRegionToolCfg(flags, name='SCTSiliconPhysicsRegionTool', **kwargs):
416 kwargs.setdefault("RegionName", 'SCTSiliconRegion')
417 volumeList = ['SCT::ECSensor0']
418 kwargs.setdefault("VolumeList", volumeList)
419 kwargs.setdefault("ElectronCut", 0.01)
420 return RegionCreatorCfg(flags, name, **kwargs)
void print(char *figname, TCanvas *c1)
Concrete Tool to create G4 Physics Regions.
DriftWall2PhysicsRegionToolCfg(flags, name='DriftWall2PhysicsRegionTool', **kwargs)
BeampipeFwdCutPhysicsRegionToolCfg(flags, name='BeampipeFwdCutPhysicsRegionTool', **kwargs)
ITkPixelPhysicsRegionToolCfg(flags, name='ITkPixelPhysicsRegionTool', **kwargs)
FCALParaPhysicsRegionToolCfg(flags, name='FCALParaPhysicsRegionTool', **kwargs)
HGTDPhysicsRegionToolCfg(flags, name='HGTDPhysicsRegionTool', **kwargs)
PreSampLArPhysicsRegionToolCfg(flags, name='PreSampLArPhysicsRegionTool', **kwargs)
MuonPhysicsRegionToolCfg(flags, name="MuonPhysicsRegionTool", **kwargs)
DriftWall1PhysicsRegionToolCfg(flags, name='DriftWall1PhysicsRegionTool', **kwargs)
SX1PhysicsRegionToolCfg(flags, name='SX1PhysicsRegionTool', **kwargs)
TRT_ArPhysicsRegionToolCfg(flags, name='TRT_ArPhysicsRegionTool', **kwargs)
EMECPhysicsRegionToolCfg(flags, name='EMECPhysicsRegionTool', **kwargs)
PixelPhysicsRegionToolCfg(flags, name='PixelPhysicsRegionTool', **kwargs)
SCTSiliconPhysicsRegionToolCfg(flags, name='SCTSiliconPhysicsRegionTool', **kwargs)
Deliberately leaving this commented out for now as it may be needed in the future def CavernShaftsAir...
EMECParaPhysicsRegionToolCfg(flags, name='EMECParaPhysicsRegionTool', **kwargs)
SCTPhysicsRegionToolCfg(flags, name='SCTPhysicsRegionTool', **kwargs)
ITkStripPhysicsRegionToolCfg(flags, name='ITkStripPhysicsRegionTool', **kwargs)
CavernShaftsConcretePhysicsRegionToolCfg(flags, name='CavernShaftsConcretePhysicsRegionTool', **kwargs)
FCAL2ParaPhysicsRegionToolCfg(flags, name='FCAL2ParaPhysicsRegionTool', **kwargs)
DeadMaterialPhysicsRegionToolCfg(flags, name='DeadMaterialPhysicsRegionTool', **kwargs)
FwdRegionPhysicsRegionToolCfg(flags, name='FwdRegionPhysicsRegionTool', **kwargs)
MuonSystemFastPhysicsRegionToolCfg(flags, name='MuonSystemFastPhysicsRegionTool', **kwargs)
TRT_KrPhysicsRegionToolCfg(flags, name='TRT_KrPhysicsRegionTool', **kwargs)
HECPhysicsRegionToolCfg(flags, name='HECPhysicsRegionTool', **kwargs)
FCALPhysicsRegionToolCfg(flags, name='FCALPhysicsRegionTool', **kwargs)
FWDBeamLinePhysicsRegionToolCfg(flags, name='FWDBeamLinePhysicsRegionTool', **kwargs)
CALOPhysicsRegionToolCfg(flags, name='CALOPhysicsRegionTool', **kwargs)
EMBPhysicsRegionToolCfg(flags, name='EMBPhysicsRegionTool', **kwargs)
DriftWallPhysicsRegionToolCfg(flags, name='DriftWallPhysicsRegionTool', **kwargs)
TRTPhysicsRegionToolCfg(flags, name='TRTPhysicsRegionTool', **kwargs)
BedrockPhysicsRegionToolCfg(flags, name='BedrockPhysicsRegionTool', **kwargs)
RegionCreatorCfg(flags, name='RegionCreator', **kwargs)