ATLAS Offline Software
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 
7 from AthenaCommon.Logging import logging
8 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
9 from AthenaConfiguration.ComponentFactory import CompFactory
10 from egammaTrackTools.egammaTrackToolsConfig import CaloCluster_OnTrackBuilderCfg
11 
12 
13 def 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(
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 
47 if __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: ")
63  mlog,
64  acc.getPublicTool(name="GSFCaloImprovement"),
65  nestLevel=1,
66  printDefaults=True,
67  )
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:342
python.TrkParticleCreatorConfig.GSFBuildInDetParticleCreatorToolCfg
def GSFBuildInDetParticleCreatorToolCfg(flags, name="GSFBuildInDetParticleCreatorTool", isTrigger=False, **kwargs)
Definition: TrkParticleCreatorConfig.py:250
egammaTrackToolsConfig.CaloCluster_OnTrackBuilderCfg
def CaloCluster_OnTrackBuilderCfg(flags, name="CaloCluster_OnTrackBuilder", **kwargs)
Definition: egammaTrackToolsConfig.py:63
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:310
extractSporadic.printProperties
def printProperties(h, q, hLB)
Definition: extractSporadic.py:7
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
python.TrkTrackSummaryToolConfig.GSFTrackSummaryToolCfg
def GSFTrackSummaryToolCfg(flags, name="GSFTrackSummaryTool", **kwargs)
Definition: TrkTrackSummaryToolConfig.py:121
egammaTrackToolsConfig.egammaTrkRefitterToolCfg
def egammaTrkRefitterToolCfg(flags, name="GSFRefitterTool", **kwargs)
Definition: egammaTrackToolsConfig.py:34
python.EGammaGSFCalo.EGammaGSFCaloToolsCfg
def EGammaGSFCaloToolsCfg(flags, name="GSFCaloImprovement", **kwargs)
Definition: EGammaGSFCalo.py:13