3from AthenaCommon.Logging
import logging
4from AthenaConfiguration.ComponentFactory
import CompFactory
5from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
6from xAODEgamma.xAODEgammaParameters
import xAOD
10 acc = ComponentAccumulator()
11 acc.setPrivateTools(CompFactory.egammaMVACalibTool(**kwargs))
15 acc = ComponentAccumulator()
16 doFix, _ =
False,
'dummy'
18 kwargs[
'egammaCellRecoveryTool'] =
None
19 kwargs[
'useFixForMissingCells'] =
False
20 acc.setPrivateTools(CompFactory.egammaTransformerCalibTool(**kwargs))
26 acc = ComponentAccumulator()
28 kwargs.setdefault(
"folder", flags.Egamma.Calib.MVAVersion)
30 if "ElectronTool" not in kwargs:
31 kwargs[
"ElectronTool"] = acc.popToolsAndMerge(
34 name=
"electronMVATool",
35 ParticleType=xAOD.EgammaParameters.electron,
36 folder=kwargs[
'folder'])
39 if flags.Egamma.doForwardCalib
and "FwdElectronTool" not in kwargs:
40 kwargs[
"FwdElectronTool"] = acc.popToolsAndMerge(
43 name=
"fwdelectronMVATool",
44 ParticleType=xAOD.EgammaParameters.forwardelectron,
46 folder=kwargs[
'folder'])
49 if "UnconvertedPhotonTool" not in kwargs:
50 kwargs[
"UnconvertedPhotonTool"] = acc.popToolsAndMerge(
53 name=
"unconvertedPhotonMVATool",
54 ParticleType=xAOD.EgammaParameters.unconvertedPhoton,
55 folder=kwargs[
'folder'])
58 if "ConvertedPhotonTool" not in kwargs:
59 kwargs[
"ConvertedPhotonTool"] = acc.popToolsAndMerge(
62 name=
"convertedPhotonMVATool",
63 ParticleType=xAOD.EgammaParameters.convertedPhoton,
64 folder=kwargs[
'folder'])
68 CompFactory.egammaMVASvc(
70 **kwargs), primary=
True)
75 acc = ComponentAccumulator()
77 kwargs.setdefault(
"folder", flags.Egamma.Calib.TransformerVersion)
78 if "ElectronTool" not in kwargs:
79 kwargs[
"ElectronTool"] = acc.popToolsAndMerge(
82 name=
"electronTransformerTool",
83 ParticleType=xAOD.EgammaParameters.electron,
84 folder=kwargs[
'folder'],
85 isMC = flags.Input.isMC),
88 if "UnconvertedPhotonTool" not in kwargs:
89 kwargs[
"UnconvertedPhotonTool"] = acc.popToolsAndMerge(
92 name=
"unconvertedPhotonTransformerTool",
93 ParticleType=xAOD.EgammaParameters.unconvertedPhoton,
94 folder=kwargs[
'folder'],
95 isMC = flags.Input.isMC),
98 if "ConvertedPhotonTool" not in kwargs:
99 kwargs[
"ConvertedPhotonTool"] = acc.popToolsAndMerge(
102 name=
"convertedPhotonTransformerTool",
103 ParticleType=xAOD.EgammaParameters.convertedPhoton,
104 folder=kwargs[
'folder'],
105 isMC = flags.Input.isMC),
108 kwargs[
'RemoveTRTConvBarrel'] = 1
110 CompFactory.egammaMVASvc(
112 **kwargs), primary=
True)
115if __name__ ==
"__main__":
117 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
118 from AthenaConfiguration.ComponentAccumulator
import printProperties
119 from AthenaConfiguration.TestDefaults
import defaultTestFiles
120 flags = initConfigFlags()
121 flags.Input.Files = defaultTestFiles.RDO_RUN2
125 cfg = ComponentAccumulator()
126 mlog = logging.getLogger(
"egammaMVASvcConfigTest")
127 mlog.info(
"Configuring egammaMVASvc :")
128 printProperties(mlog, cfg.getPrimaryAndMerge(
132 printProperties(mlog, cfg.getPrimaryAndMerge(
138 f = open(
"egmvatools.pkl",
"wb")
egammaMVAToolCfg(flags, **kwargs)
egammaMVASvcCfg(flags, name="egammaMVASvc", **kwargs)
egammaTransformerToolCfg(flags, **kwargs)
egammaTransformerSvcCfg(flags, name="egammaTransformerSvc", **kwargs)