ATLAS Offline Software
Loading...
Searching...
No Matches
EGammaGSFCalo.py
Go to the documentation of this file.
1# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2
3__doc__ = """
4 Implement GSF calo improvement tools
5 """
6
7from AthenaCommon.Logging import logging
8from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
9from AthenaConfiguration.ComponentFactory import CompFactory
10from egammaTrackTools.egammaTrackToolsConfig import CaloCluster_OnTrackBuilderCfg
11
12
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
47if __name__ == "__main__":
48 from AthenaConfiguration.AllConfigFlags import initConfigFlags
49 from AthenaConfiguration.TestDefaults import defaultTestFiles
50 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
51 from AthenaConfiguration.ComponentAccumulator import printProperties
52
53 flags = initConfigFlags()
54 flags.Input.Files = defaultTestFiles.RDO_RUN2
55 flags.lock()
56 acc = MainServicesCfg(flags)
57 tool = acc.popToolsAndMerge(EGammaGSFCaloToolsCfg(flags, "GSFCaloImprovement"))
58 acc.addPublicTool(tool)
59
60 mlog = logging.getLogger("EGammaGSFCaloConfigTest")
61 mlog.info("Configuring GSF Calo Tool: ")
62 printProperties(
63 mlog,
64 acc.getPublicTool(name="GSFCaloImprovement"),
65 nestLevel=1,
66 printDefaults=True,
67 )
EGammaGSFCaloToolsCfg(flags, name="GSFCaloImprovement", **kwargs)