13def EGammaGSFCaloToolsCfg(flags, name = "GSFCaloImprovement", **kwargs):
14 prefix = name + "_GSFCaloImprovement"
15 acc = ComponentAccumulator()
16
17 CCOTBuilder = acc.popToolsAndMerge(CaloCluster_OnTrackBuilderCfg(flags,
18 name=prefix+"CCOTBuilder"))
19
20 if "TrackRefitTool" not in kwargs:
21 from egammaTrackTools.egammaTrackToolsConfig import egammaTrkRefitterToolCfg
22 TrackRefitTool = acc.popToolsAndMerge(egammaTrkRefitterToolCfg(flags,
23 name = prefix+"_trackRefit",
24 CCOTBuilder=CCOTBuilder,
25 useClusterPosition=True))
26 kwargs.setdefault("TrackRefitTool", TrackRefitTool)
27
28 if "TrackParticleCreatorTool" not in kwargs:
29 from TrkConfig.TrkParticleCreatorConfig import (
30 GSFBuildInDetParticleCreatorToolCfg)
31 kwargs["TrackParticleCreatorTool"] = acc.popToolsAndMerge(
32 GSFBuildInDetParticleCreatorToolCfg(flags,TRT_ElectronPidTool=None,PixelToTPIDTool=None))
33
34 if "TrackSummaryTool" not in kwargs:
35 from TrkConfig.TrkTrackSummaryToolConfig import GSFTrackSummaryToolCfg
36 TrackSummaryTool = acc.popToolsAndMerge(
37 GSFTrackSummaryToolCfg(flags))
38 acc.addPublicTool(TrackSummaryTool)
39 kwargs.setdefault("TrackSummaryTool", TrackSummaryTool)
40
41 kwargs.setdefault("useTruth" , flags.Input.isMC)
42 kwargs.setdefault("useTRT" , flags.Detector.EnableTRT)
43
44 acc.setPrivateTools(CompFactory.DerivationFramework.EGammaGSFCalo(name, **kwargs))
45 return acc
46