4from PyJobTransforms.TransformUtils
import processPreExec, processPreInclude, processPostExec, processPostInclude
12 from AthenaCommon.Logging
import logging
13 log = logging.getLogger(
'PUTracks')
14 log.info(
'****************** STARTING Reconstruction (PUTracks) *****************')
16 timeStart = time.time()
17 log.info(
'**** Setting-up configuration flags')
18 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
19 flags = initConfigFlags()
20 commonRunArgsToFlags(runArgs, flags)
23 if hasattr(runArgs,
'detectors'):
24 detectors = runArgs.detectors
30 if hasattr(runArgs,
'inputRDOFile'):
31 flags.Input.Files = runArgs.inputRDOFile
35 flags.Output.RDOFileName = runArgs.outputRDO_PUFile
36 log.info(
"---------- Configured BKG_RDO output")
39 from RecJobTransforms.RecoConfigFlags
import recoRunArgsToFlags
40 recoRunArgsToFlags(runArgs, flags)
42 from AthenaConfiguration.Enums
import ProductionStep
43 flags.Common.ProductionStep = ProductionStep.PileUpPretracking
44 flags.Input.isMC =
True
45 flags.Tracking.doVertexFinding =
False
46 flags.Overlay.SigPrefix = flags.Overlay.BkgPrefix
49 from AthenaConfiguration.DetectorConfigFlags
import setupDetectorFlags
50 setupDetectorFlags(flags, detectors, use_metadata=
True, toggle_geometry=
True, keep_beampipe=
True)
52 from RecJobTransforms.RecoConfigFlags
import printRecoFlags
56 from PerfMonComps.PerfMonConfigHelpers
import setPerfmonFlagsFromRunArgs
57 setPerfmonFlagsFromRunArgs(flags, runArgs)
60 processPreInclude(runArgs, flags)
63 processPreExec(runArgs, flags)
71 from FastChainPileup.PileUpPreTrackingConfig
import PreTrackingCfg
72 cfg = PreTrackingCfg(flags)
73 log.info(
"---------- Configured pileup tracks")
76 processPostInclude(runArgs, flags, cfg)
79 processPostExec(runArgs, flags, cfg)
81 timeConfig = time.time()
82 log.info(
"configured in %d seconds", timeConfig - timeStart)
84 log.info(
"Configured according to flag values listed below")
88 from AthenaConfiguration.AccumulatorCache
import AccumulatorDecorator
89 AccumulatorDecorator.printStats()
93 timeFinal = time.time()
94 log.info(
"Run PUTracks_skeleton in %d seconds (running %d seconds)", timeFinal - timeStart, timeFinal - timeConfig)
97 sys.exit(
not sc.isSuccess())