13 from AthenaCommon.Logging
import logging
14 log = logging.getLogger(
'RDOMerge_tf')
15 log.info(
'****************** STARTING RDO MERGING *****************')
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,
"PileUpPresampling"):
27 from AthenaConfiguration.Enums
import ProductionStep
28 flags.Common.ProductionStep = ProductionStep.PileUpPresampling
30 if hasattr(runArgs,
'inputRDOFile'):
31 flags.Input.Files = runArgs.inputRDOFile
33 raise RuntimeError(
'No input RDO file defined')
35 if hasattr(runArgs,
'outputRDO_MRGFile'):
36 if runArgs.outputRDO_MRGFile ==
'None':
37 flags.Output.RDOFileName =
''
40 flags.Output.RDOFileName = runArgs.outputRDO_MRGFile
42 raise RuntimeError(
'No outputRDO_MRGFile defined')
45 if hasattr(runArgs,
'detectors'):
46 detectors = runArgs.detectors
50 from AthenaConfiguration.DetectorConfigFlags
import setupDetectorFlags
51 setupDetectorFlags(flags, detectors, use_metadata=
True, toggle_geometry=
True)
54 from PerfMonComps.PerfMonConfigHelpers
import setPerfmonFlagsFromRunArgs
55 setPerfmonFlagsFromRunArgs(flags, runArgs)
58 processPreInclude(runArgs, flags)
61 processPreExec(runArgs, flags)
69 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
70 cfg = MainServicesCfg(flags)
72 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
73 cfg.merge(PoolReadCfg(flags))
76 if flags.Detector.EnablePixel:
77 from PixelGeoModel.PixelGeoModelConfig
import PixelReadoutGeometryCfg
78 cfg.merge(PixelReadoutGeometryCfg(flags))
79 if flags.Detector.EnableSCT:
80 from SCT_GeoModel.SCT_GeoModelConfig
import SCT_ReadoutGeometryCfg
81 cfg.merge(SCT_ReadoutGeometryCfg(flags))
82 if flags.Detector.EnableTRT:
83 from TRT_GeoModel.TRT_GeoModelConfig
import TRT_ReadoutGeometryCfg
84 cfg.merge(TRT_ReadoutGeometryCfg(flags))
86 if flags.Detector.EnableITkPixel:
87 from PixelGeoModelXml.ITkPixelGeoModelConfig
import ITkPixelReadoutGeometryCfg
88 cfg.merge(ITkPixelReadoutGeometryCfg(flags))
89 if flags.Detector.EnableITkStrip:
90 from StripGeoModelXml.ITkStripGeoModelConfig
import ITkStripReadoutGeometryCfg
91 cfg.merge(ITkStripReadoutGeometryCfg(flags))
93 if flags.Detector.EnableHGTD:
94 if flags.HGTD.Geometry.useGeoModelXml:
95 from HGTD_GeoModelXml.HGTD_GeoModelConfig
import HGTD_ReadoutGeometryCfg
97 from HGTD_GeoModel.HGTD_GeoModelConfig
import HGTD_ReadoutGeometryCfg
98 cfg.merge(HGTD_ReadoutGeometryCfg(flags))
100 if flags.Detector.EnableLAr:
101 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
102 cfg.merge(LArGMCfg(flags))
103 if flags.Detector.EnableTile:
104 from TileGeoModel.TileGMConfig
import TileGMCfg
105 cfg.merge(TileGMCfg(flags))
106 from TileConditions.TileCablingSvcConfig
import TileCablingSvcCfg
107 cfg.merge(TileCablingSvcCfg(flags))
109 if flags.Detector.EnableMuon:
110 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
111 cfg.merge(MuonGeoModelCfg(flags))
113 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
114 cfg.merge(OutputStreamCfg(flags,
'RDO', takeItemsFromInput =
True, extendProvenanceRecord =
False))
116 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
117 cfg.merge(SetupMetaDataForStreamCfg(flags,
'RDO'))
120 from DigitizationConfig.DigitizationSteering
import DigitizationMessageSvcCfg
121 cfg.merge(DigitizationMessageSvcCfg(flags))
124 processPostInclude(runArgs, flags, cfg)
127 processPostExec(runArgs, flags, cfg)
130 from PyUtils.AMITagHelperConfig
import AMITagCfg
131 cfg.merge(AMITagCfg(flags, runArgs))
137 log.info(
"Ran RDOMerge_tf in " + str(time.time()-tic) +
" seconds")
139 sys.exit(
not sc.isSuccess())