17def egammaTransformerSvcCfg(flags, name="egammaTransformerSvc", **kwargs):
18
19 acc = ComponentAccumulator()
20
21 kwargs.setdefault("folder", flags.Egamma.Calib.TransformerVersion)
22 if "ElectronTool" not in kwargs:
23 kwargs["ElectronTool"] = acc.popToolsAndMerge(
24 egammaTransformerToolCfg(
25 flags,
26 name="electronTransformerTool",
27 ParticleType=xAOD.EgammaParameters.electron,
28 folder=kwargs['folder'],
29 isMC = flags.Input.isMC),
30 )
31
32 if flags.Egamma.doForwardCalib and "FwdElectronTool" not in kwargs:
33 kwargs["FwdElectronTool"] = acc.popToolsAndMerge(
34 egammaTransformerToolCfg(
35 flags,
36 name="fwdelectronTransformerTool",
37 ParticleType=xAOD.EgammaParameters.forwardelectron,
38 folder=kwargs['folder'],
39 isMC = flags.Input.isMC),
40 )
41
42 if "UnconvertedPhotonTool" not in kwargs:
43 kwargs["UnconvertedPhotonTool"] = acc.popToolsAndMerge(
44 egammaTransformerToolCfg(
45 flags,
46 name="unconvertedPhotonTransformerTool",
47 ParticleType=xAOD.EgammaParameters.unconvertedPhoton,
48 folder=kwargs['folder'],
49 isMC = flags.Input.isMC),
50 )
51
52 if "ConvertedPhotonTool" not in kwargs:
53 kwargs["ConvertedPhotonTool"] = acc.popToolsAndMerge(
54 egammaTransformerToolCfg(
55 flags,
56 name="convertedPhotonTransformerTool",
57 ParticleType=xAOD.EgammaParameters.convertedPhoton,
58 folder=kwargs['folder'],
59 isMC = flags.Input.isMC),
60 )
61
62 acc.addService(
63 CompFactory.egammaTransformerSvc(
64 name=name,
65 **kwargs), primary=True)
66 return acc
67