5from PyJobTransforms.TransformUtils
import processPreExec, processPreInclude, processPostExec, processPostInclude
6from SimuJobTransforms.CommonSimulationSteering
import CommonSimulationCfg, specialConfigPreInclude, specialConfigPostInclude
14 from AthenaCommon.Logging
import logging
15 log = logging.getLogger(
'TeamBeam')
16 log.info(
'****************** STARTING ATLASG4 Test Beam *****************')
18 log.info(
'**** Transformation run arguments')
19 log.info(str(runArgs))
21 log.info(
'**** Setting-up configuration flags')
22 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
23 from AthenaConfiguration.Enums
import BeamType
24 from SimulationConfig.SimEnums
import SimulationFlavour
25 flags = initConfigFlags()
26 commonRunArgsToFlags(runArgs, flags)
28 if not hasattr(runArgs,
'geometryVersion'):
29 log.info(
'no geometryVersion specified, so assuming tb_Tile2000_2003_5B')
30 flags.GeoModel.AtlasVersion =
"ATLAS-CTB-01"
33 from AthenaConfiguration.Enums
import ProductionStep
34 flags.Common.ProductionStep = ProductionStep.Simulation
36 flags.Beam.Type = BeamType.TestBeam
38 flags.IOVDb.UseCREST=
False
40 flags.Sim.GenerationConfiguration=
"ParticleGun.ParticleGunConfig.ParticleGun_TestBeam_SingleParticleCfg"
41 flags.IOVDb.DatabaseInstance =
"TMCP200"
43 flags.Sim.ISF.Simulator = SimulationFlavour.AtlasG4
46 flags.Sim.ISFRun =
False
58 if hasattr(runArgs,
'inputEVNTFile'):
59 flags.Input.Files = runArgs.inputEVNTFile
63 flags.Input.Files = []
64 flags.Input.isMC =
True
65 log.info(
'No inputEVNTFile provided. Assuming that you are running a generator on the fly.')
66 if hasattr(runArgs,
'outputHITSFile'):
67 if runArgs.outputHITSFile ==
'None':
68 flags.Output.HITSFileName =
''
70 flags.Output.HITSFileName = runArgs.outputHITSFile
72 raise RuntimeError(
'No outputHITSFile defined')
74 if hasattr(runArgs,
'conditionsTag'):
75 flags.IOVDb.GlobalTag = runArgs.conditionsTag
78 from AthenaConfiguration.DetectorConfigFlags
import setupDetectorFlags
79 setupDetectorFlags(flags, detectors, toggle_geometry=
True)
82 from PerfMonComps.PerfMonConfigHelpers
import setPerfmonFlagsFromRunArgs
83 setPerfmonFlagsFromRunArgs(flags, runArgs)
86 processPreInclude(runArgs, flags)
89 specialConfigPreInclude(flags)
92 processPreExec(runArgs, flags)
95 from SimulationConfig.SimConfigFlags
import simulationRunArgsToFlags
96 simulationRunArgsToFlags(runArgs, flags)
99 from SimulationConfig.TestBeamConfigFlags
import testBeamRunArgsToFlags
100 testBeamRunArgsToFlags(runArgs, flags)
108 cfg = CommonSimulationCfg(flags, log)
111 specialConfigPostInclude(flags, cfg)
114 processPostInclude(runArgs, flags, cfg)
117 processPostExec(runArgs, flags, cfg)
120 from PyUtils.AMITagHelperConfig
import AMITagCfg
121 cfg.merge(AMITagCfg(flags, runArgs))
127 log.info(
"Run G4AtlasAlg in " + str(time.time()-tic) +
" seconds")
129 sys.exit(
not sc.isSuccess())