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 from egammaAlgs.egammaAODFixesConfig
import runAODFix
17 _, fixes = runAODFix(flags)
19 if (
'egClusterL2_3Fix' in fixes)
or flags.Reco.EnableHI:
20 kwargs[
'egammaCellRecoveryTool'] =
None
21 kwargs[
'useFixForMissingCells'] =
False
22 acc.setPrivateTools(CompFactory.egammaTransformerCalibTool(**kwargs))
27 acc = ComponentAccumulator()
29 kwargs.setdefault(
"folder", flags.Egamma.Calib.MVAVersion)
31 if "ElectronTool" not in kwargs:
32 kwargs[
"ElectronTool"] = acc.popToolsAndMerge(
35 name=
"electronMVATool",
36 ParticleType=xAOD.EgammaParameters.electron,
37 folder=kwargs[
'folder'])
40 if flags.Egamma.doForwardCalib
and "FwdElectronTool" not in kwargs:
41 kwargs[
"FwdElectronTool"] = acc.popToolsAndMerge(
44 name=
"fwdelectronMVATool",
45 ParticleType=xAOD.EgammaParameters.forwardelectron,
47 folder=kwargs[
'folder'])
50 if "UnconvertedPhotonTool" not in kwargs:
51 kwargs[
"UnconvertedPhotonTool"] = acc.popToolsAndMerge(
54 name=
"unconvertedPhotonMVATool",
55 ParticleType=xAOD.EgammaParameters.unconvertedPhoton,
56 folder=kwargs[
'folder'])
59 if "ConvertedPhotonTool" not in kwargs:
60 kwargs[
"ConvertedPhotonTool"] = acc.popToolsAndMerge(
63 name=
"convertedPhotonMVATool",
64 ParticleType=xAOD.EgammaParameters.convertedPhoton,
65 folder=kwargs[
'folder'])
69 CompFactory.egammaMVASvc(
71 **kwargs), primary=
True)
76 acc = ComponentAccumulator()
78 kwargs.setdefault(
"folder", flags.Egamma.Calib.TransformerVersion)
79 if "ElectronTool" not in kwargs:
80 kwargs[
"ElectronTool"] = acc.popToolsAndMerge(
83 name=
"electronTransformerTool",
84 ParticleType=xAOD.EgammaParameters.electron,
85 folder=kwargs[
'folder'],
86 isMC = flags.Input.isMC),
89 if "UnconvertedPhotonTool" not in kwargs:
90 kwargs[
"UnconvertedPhotonTool"] = acc.popToolsAndMerge(
93 name=
"unconvertedPhotonTransformerTool",
94 ParticleType=xAOD.EgammaParameters.unconvertedPhoton,
95 folder=kwargs[
'folder'],
96 isMC = flags.Input.isMC),
99 if "ConvertedPhotonTool" not in kwargs:
100 kwargs[
"ConvertedPhotonTool"] = acc.popToolsAndMerge(
103 name=
"convertedPhotonTransformerTool",
104 ParticleType=xAOD.EgammaParameters.convertedPhoton,
105 folder=kwargs[
'folder'],
106 isMC = flags.Input.isMC),
109 kwargs[
'RemoveTRTConvBarrel'] = 1
111 CompFactory.egammaMVASvc(
113 **kwargs), primary=
True)
116if __name__ ==
"__main__":
118 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
119 from AthenaConfiguration.ComponentAccumulator
import printProperties
120 from AthenaConfiguration.TestDefaults
import defaultTestFiles
121 flags = initConfigFlags()
122 flags.Input.Files = defaultTestFiles.RDO_RUN2
126 cfg = ComponentAccumulator()
127 mlog = logging.getLogger(
"egammaMVASvcConfigTest")
128 mlog.info(
"Configuring egammaMVASvc :")
129 printProperties(mlog, cfg.getPrimaryAndMerge(
133 printProperties(mlog, cfg.getPrimaryAndMerge(
139 f = open(
"egmvatools.pkl",
"wb")
egammaMVAToolCfg(flags, **kwargs)
egammaMVASvcCfg(flags, name="egammaMVASvc", **kwargs)
egammaTransformerToolCfg(flags, **kwargs)
egammaTransformerSvcCfg(flags, name="egammaTransformerSvc", **kwargs)