5from PyJobTransforms.TransformUtils
import processPreExec, processPreInclude, processPostExec, processPostInclude
13 from AthenaCommon.Logging
import logging
14 log = logging.getLogger(
'SimValid_tf')
15 log.info(
'****************** STARTING VALIDATION *****************')
17 log.info(
'**** Transformation run arguments')
18 log.info(str(runArgs))
20 log.info(
'**** Setting-up configuration flags')
21 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
22 flags = initConfigFlags()
24 commonRunArgsToFlags(runArgs, flags)
26 if hasattr(runArgs,
'localgeo'):
27 flags.ITk.Geometry.AllLocal = runArgs.localgeo
29 if hasattr(runArgs,
'inputHITSFile'):
30 flags.Input.Files = runArgs.inputHITSFile
32 raise RuntimeError(
'No input HITS file defined')
34 if hasattr(runArgs,
'outputHIST_SIMFile'):
35 flags.Output.HISTFileName = runArgs.outputHIST_SIMFile
37 log.warning(
'No output file set')
38 flags.Output.HISTFileName =
'output.HIST_SIM.root'
41 from SimuJobTransforms.SimulationHelpers
import getDetectorsFromRunArgs
42 detectors = getDetectorsFromRunArgs(flags, runArgs)
43 from AthenaConfiguration.DetectorConfigFlags
import setupDetectorFlags
44 setupDetectorFlags(flags, detectors, use_metadata=
True, toggle_geometry=
True, keep_beampipe=
True)
47 processPreInclude(runArgs, flags)
50 processPreExec(runArgs, flags)
58 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
59 cfg = MainServicesCfg(flags)
61 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
62 cfg.merge(PoolReadCfg(flags))
64 from HitAnalysis.HitAnalysisConfig
import HGTD_HitAnalysisCfg, ALFAHitAnalysisCfg, AFPHitAnalysisCfg, LucidHitAnalysisCfg, ZDCHitAnalysisCfg
66 from HitAnalysis.PostIncludes
import SimHitAnalysis
67 cfg.merge(SimHitAnalysis(flags))
69 if flags.Detector.EnableHGTD:
70 cfg.merge(HGTD_HitAnalysisCfg(flags))
72 if flags.Detector.EnableALFA:
73 cfg.merge(ALFAHitAnalysisCfg(flags))
75 if flags.Detector.EnableAFP:
76 cfg.merge(AFPHitAnalysisCfg(flags))
78 if flags.Detector.EnableLucid:
79 cfg.merge(LucidHitAnalysisCfg(flags))
81 if flags.Detector.EnableZDC:
82 cfg.merge(ZDCHitAnalysisCfg(flags))
85 processPostInclude(runArgs, flags, cfg)
88 processPostExec(runArgs, flags, cfg)
94 log.info(
"Ran HITSMerge_tf in " + str(time.time()-tic) +
" seconds")
96 sys.exit(
not sc.isSuccess())