15def egammaMVASvcCfg(flags, name="egammaMVASvc", **kwargs):
16
17 acc = ComponentAccumulator()
18
19 kwargs.setdefault("folder", flags.Egamma.Calib.MVAVersion)
20
21 if "ElectronTool" not in kwargs:
22 kwargs["ElectronTool"] = acc.popToolsAndMerge(
23 egammaMVAToolCfg(
24 flags,
25 name="electronMVATool",
26 ParticleType=xAOD.EgammaParameters.electron,
27 folder=kwargs['folder'])
28 )
29
30 if flags.Egamma.doForwardCalib and "FwdElectronTool" not in kwargs:
31 kwargs["FwdElectronTool"] = acc.popToolsAndMerge(
32 egammaMVAToolCfg(
33 flags,
34 name="fwdelectronMVATool",
35 ParticleType=xAOD.EgammaParameters.forwardelectron,
36 ShiftType=0,
37 folder=kwargs['folder'])
38 )
39
40 if "UnconvertedPhotonTool" not in kwargs:
41 kwargs["UnconvertedPhotonTool"] = acc.popToolsAndMerge(
42 egammaMVAToolCfg(
43 flags,
44 name="unconvertedPhotonMVATool",
45 ParticleType=xAOD.EgammaParameters.unconvertedPhoton,
46 folder=kwargs['folder'])
47 )
48
49 if "ConvertedPhotonTool" not in kwargs:
50 kwargs["ConvertedPhotonTool"] = acc.popToolsAndMerge(
51 egammaMVAToolCfg(
52 flags,
53 name="convertedPhotonMVATool",
54 ParticleType=xAOD.EgammaParameters.convertedPhoton,
55 folder=kwargs['folder'])
56 )
57
58 acc.addService(
59 CompFactory.egammaMVASvc(
60 name=name,
61 **kwargs), primary=True)
62 return acc
63
64