54def egammaSteeringConfigTest(flags=None):
55
56 if flags is None:
57 from AthenaConfiguration.AllConfigFlags import initConfigFlags
58 flags = initConfigFlags()
59 flags.addFlag('egamma.configOnly', False, help='custom option for egammaSteeringConfig to not run, only output config file')
60
61 from AthenaConfiguration.TestDefaults import defaultTestFiles, defaultConditionsTags
62 flags.Input.Files = defaultTestFiles.RDO_RUN3
63 flags.IOVDb.GlobalTag = defaultConditionsTags.RUN3_MC
64 flags.Exec.MaxEvents = 1
65
66 flags.Output.doWriteESD = True
67 flags.Output.doWriteAOD = True
68 flags.Output.ESDFileName = "myESD.pool.root"
69 flags.Output.AODFileName = "myAOD.pool.root"
70
71 from egammaConfig.ConfigurationHelpers import egammaOnlyFromRaw
72 egammaOnlyFromRaw(flags)
73 flags.fillFromArgs()
74
75 flags.lock()
76
77 from RecJobTransforms.RecoSteering import RecoSteering
78 acc = RecoSteering(flags)
79
80
81 from DigitizationConfig.DigitizationSteering import DigitizationMessageSvcCfg
82 acc.merge(DigitizationMessageSvcCfg(flags))
83
84 from AthenaConfiguration.Utils import setupLoggingLevels
85 setupLoggingLevels(flags, acc)
86
87
88 from RecJobTransforms.RecoConfigFlags import printRecoFlags
89 printRecoFlags(flags)
90
91 with open("egammasteeringconfig.pkl", "wb") as f:
92 acc.store(f)
93
94 if flags.hasCategory('egamma') and flags.egamma.configOnly:
95 return None
96 else:
97 statusCode = acc.run()
98 return statusCode
99