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.Sim.GenerationConfiguration=
"ParticleGun.ParticleGunConfig.ParticleGun_TestBeam_SingleParticleCfg"
39 flags.IOVDb.DatabaseInstance =
"TMCP200"
41 flags.Sim.ISF.Simulator = SimulationFlavour.AtlasG4
44 flags.Sim.ISFRun =
False
56 if hasattr(runArgs,
'inputEVNTFile'):
57 flags.Input.Files = runArgs.inputEVNTFile
61 flags.Input.Files = []
62 flags.Input.isMC =
True
63 log.info(
'No inputEVNTFile provided. Assuming that you are running a generator on the fly.')
64 if hasattr(runArgs,
'outputHITSFile'):
65 if runArgs.outputHITSFile ==
'None':
66 flags.Output.HITSFileName =
''
68 flags.Output.HITSFileName = runArgs.outputHITSFile
70 raise RuntimeError(
'No outputHITSFile defined')
72 if hasattr(runArgs,
'conditionsTag'):
73 flags.IOVDb.GlobalTag = runArgs.conditionsTag
76 from AthenaConfiguration.DetectorConfigFlags
import setupDetectorFlags
77 setupDetectorFlags(flags, detectors, toggle_geometry=
True)
80 from PerfMonComps.PerfMonConfigHelpers
import setPerfmonFlagsFromRunArgs
81 setPerfmonFlagsFromRunArgs(flags, runArgs)
84 processPreInclude(runArgs, flags)
87 specialConfigPreInclude(flags)
90 processPreExec(runArgs, flags)
93 from SimulationConfig.SimConfigFlags
import simulationRunArgsToFlags
94 simulationRunArgsToFlags(runArgs, flags)
97 from SimulationConfig.TestBeamConfigFlags
import testBeamRunArgsToFlags
98 testBeamRunArgsToFlags(runArgs, flags)
106 cfg = CommonSimulationCfg(flags, log)
109 specialConfigPostInclude(flags, cfg)
112 processPostInclude(runArgs, flags, cfg)
115 processPostExec(runArgs, flags, cfg)
118 from PyUtils.AMITagHelperConfig
import AMITagCfg
119 cfg.merge(AMITagCfg(flags, runArgs))
125 log.info(
"Run G4AtlasAlg in " + str(time.time()-tic) +
" seconds")
127 sys.exit(
not sc.isSuccess())