ATLAS Offline Software
egammaTrackToolsConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 """ Tool configuration to instantiate all egammaCaloTools with default configuration"""
4 
5 from AthenaCommon.Logging import logging
6 from AthenaConfiguration.ComponentFactory import CompFactory
7 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
8 from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
9 from TrackToCalo.TrackToCaloConfig import EMParticleCaloExtensionToolCfg
10 
11 
12 def EMExtrapolationToolsCfg(flags, **kwargs):
13  mlog = logging.getLogger("EMExtrapolationTools")
14  mlog.debug("Start configuration")
15 
16  acc = ComponentAccumulator()
17 
18  if "Extrapolator" not in kwargs:
19  extrapAcc = AtlasExtrapolatorCfg(flags)
20  kwargs["Extrapolator"] = acc.popToolsAndMerge(extrapAcc)
21 
22  if "CaloExtensionTool" not in kwargs:
23  kwargs["CaloExtensionTool"] = acc.popToolsAndMerge(
25  )
26 
27  kwargs["EnableTRT"] = flags.Detector.GeometryTRT
28 
29  emExtrapolationTools = CompFactory.EMExtrapolationTools(**kwargs)
30  acc.setPrivateTools(emExtrapolationTools)
31  return acc
32 
33 
34 def egammaTrkRefitterToolCfg(flags, name="GSFRefitterTool", **kwargs):
35  acc = ComponentAccumulator()
36  if "FitterTool" not in kwargs:
37  if flags.Acts.GsfRefitLegacyTrk:
38  from ActsConfig.ActsGaussianSumFitterConfig import (
39  ActsGaussianSumFitterToolCfg,
40  )
41 
42  kwargs["FitterTool"] = acc.popToolsAndMerge(
43  ActsGaussianSumFitterToolCfg(flags, name="ActsGSFTrackFitter")
44  )
45  elif flags.Detector.GeometryITk:
46  from TrkConfig.TrkGaussianSumFilterConfig import ITkGaussianSumFitterCfg
47 
48  kwargs["FitterTool"] = acc.popToolsAndMerge(
49  ITkGaussianSumFitterCfg(flags, name="GSFTrackFitter")
50  )
51  else:
52  from TrkConfig.TrkGaussianSumFilterConfig import GaussianSumFitterCfg
53 
54  kwargs["FitterTool"] = acc.popToolsAndMerge(
55  GaussianSumFitterCfg(flags, name="GSFTrackFitter")
56  )
57 
58  tool = CompFactory.egammaTrkRefitterTool(name, **kwargs)
59  acc.setPrivateTools(tool)
60  return acc
61 
62 
63 def CaloCluster_OnTrackBuilderCfg(flags, name="CaloCluster_OnTrackBuilder", **kwargs):
64  acc = ComponentAccumulator()
65  if "CaloSurfaceBuilder" not in kwargs:
66  from CaloTrackingGeometry.CaloTrackingGeometryConfig import (
67  CaloSurfaceBuilderMiddleCfg,
68  )
69 
70  kwargs["CaloSurfaceBuilder"] = acc.popToolsAndMerge(
72  )
73  tool = CompFactory.CaloCluster_OnTrackBuilder(name, **kwargs)
74  acc.setPrivateTools(tool)
75  return acc
76 
77 
78 if __name__ == "__main__":
79  from AthenaConfiguration.AllConfigFlags import initConfigFlags
80  from AthenaConfiguration.ComponentAccumulator import printProperties
81  from AthenaConfiguration.TestDefaults import defaultTestFiles
82 
83  flags = initConfigFlags()
84  flags.Input.Files = defaultTestFiles.RDO_RUN2
85  flags.fillFromArgs()
86  flags.lock()
87  flags.dump()
88 
90  mlog = logging.getLogger("egammaTrackToolsConfigTest")
91  mlog.info("Configuring EMExtrapolationTools : ")
93  mlog,
94  cfg.popToolsAndMerge(EMExtrapolationToolsCfg(flags)),
95  nestLevel=1,
96  printDefaults=True,
97  )
98  mlog.info("Configuring egammaTrkRefitterTool :")
100  mlog,
101  cfg.popToolsAndMerge(egammaTrkRefitterToolCfg(flags)),
102  nestLevel=1,
103  printDefaults=True,
104  )
105  mlog.info("Configuring CaloCluster_OnTrackBuilder :")
107  mlog,
108  cfg.popToolsAndMerge(CaloCluster_OnTrackBuilderCfg(flags)),
109  nestLevel=1,
110  printDefaults=True,
111  )
112 
113  f = open("egtracktools.pkl", "wb")
114  cfg.store(f)
115  f.close()
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
egammaTrackToolsConfig.CaloCluster_OnTrackBuilderCfg
def CaloCluster_OnTrackBuilderCfg(flags, name="CaloCluster_OnTrackBuilder", **kwargs)
Definition: egammaTrackToolsConfig.py:63
python.AtlasExtrapolatorConfig.AtlasExtrapolatorCfg
def AtlasExtrapolatorCfg(flags, name='AtlasExtrapolator')
Definition: AtlasExtrapolatorConfig.py:63
egammaTrackToolsConfig.EMExtrapolationToolsCfg
def EMExtrapolationToolsCfg(flags, **kwargs)
Definition: egammaTrackToolsConfig.py:12
ActsGaussianSumFitterConfig.ActsGaussianSumFitterToolCfg
ComponentAccumulator ActsGaussianSumFitterToolCfg(flags, str name="ActsGaussianSumFitterTool", **kwargs)
Definition: ActsGaussianSumFitterConfig.py:6
CaloTrackingGeometryConfig.CaloSurfaceBuilderMiddleCfg
def CaloSurfaceBuilderMiddleCfg(flags, name="CaloSurfaceBuilderMiddle", **kwargs)
Definition: Calorimeter/CaloTrackingGeometry/python/CaloTrackingGeometryConfig.py:19
extractSporadic.printProperties
def printProperties(h, q, hLB)
Definition: extractSporadic.py:7
Trk::open
@ open
Definition: BinningType.h:40
python.TrkGaussianSumFilterConfig.GaussianSumFitterCfg
def GaussianSumFitterCfg(flags, name="GaussianSumFitter", **kwargs)
Definition: TrkGaussianSumFilterConfig.py:55
TrackToCaloConfig.EMParticleCaloExtensionToolCfg
def EMParticleCaloExtensionToolCfg(flags, name='EMParticleCaloExtensionTool', **kwargs)
Definition: TrackToCaloConfig.py:30
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
python.TrkGaussianSumFilterConfig.ITkGaussianSumFitterCfg
def ITkGaussianSumFitterCfg(flags, name="ITkGaussianSumFitter", **kwargs)
Definition: TrkGaussianSumFilterConfig.py:76
egammaTrackToolsConfig.egammaTrkRefitterToolCfg
def egammaTrkRefitterToolCfg(flags, name="GSFRefitterTool", **kwargs)
Definition: egammaTrackToolsConfig.py:34