ATLAS Offline Software
Loading...
Searching...
No Matches
egammaCaloToolsConfig.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
6from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
7from AthenaConfiguration.ComponentFactory import CompFactory
8
9
10def CaloFillRectangularClusterCfg(flags, **kwargs):
11 result = ComponentAccumulator()
12
13 kwargs.setdefault("eta_size", 5)
14 kwargs.setdefault("phi_size", 7)
15 kwargs.setdefault("cells_name", flags.Egamma.Keys.Input.CaloCells)
16
17 result.setPrivateTools(CompFactory.CaloFillRectangularCluster(**kwargs))
18 return result
19
20
22 flags, name="egammaCheckEnergyDepositTool", **kwargs
23):
24 result = ComponentAccumulator()
25 kwargs.setdefault("ThrE2min", 50)
26 kwargs.setdefault("ThrF0max", 0.9)
27 kwargs.setdefault("ThrF1max", 0.9)
28 kwargs.setdefault("ThrF2max", 0.999)
29 kwargs.setdefault("ThrF3max", 0.8)
30 result.setPrivateTools(CompFactory.egammaCheckEnergyDepositTool(name, **kwargs))
31 return result
32
33
34def egammaCaloClusterSelectorGSFCfg(flags, name="caloClusterGSFSelector", **kwargs):
35 result = ComponentAccumulator()
36
37 if "egammaCheckEnergyDepositTool" not in kwargs:
38 if not flags.Egamma.doLowMu:
39 kwargs["egammaCheckEnergyDepositTool"] = result.popToolsAndMerge(
41 )
42
43 kwargs.setdefault("EMEtCut", 2250.0 if not flags.Egamma.doLowMu else 300.0)
44 kwargs.setdefault("EMEtSplittingFraction", 0.7)
45 kwargs.setdefault("EMFCut", 0.5)
46 kwargs.setdefault("CellContainerName", flags.Egamma.Keys.Input.CaloCells)
47 result.setPrivateTools(CompFactory.egammaCaloClusterSelector(name, **kwargs))
48 return result
49
50
51def egammaCaloClusterSelectorCfg(flags, name="caloClusterROISelector", **kwargs):
52 result = ComponentAccumulator()
53
54 if "egammaCheckEnergyDepositTool" not in kwargs:
55 if not flags.Egamma.doLowMu:
56 kwargs["egammaCheckEnergyDepositTool"] = result.popToolsAndMerge(
58 )
59 kwargs.setdefault("EMEtCut", 2250.0 if not flags.Egamma.doLowMu else 300.0)
60 kwargs.setdefault("EMEtSplittingFraction", 0.7)
61 kwargs.setdefault("EMFCut", 0.7)
62 kwargs.setdefault("RetaCut", 0.65 if not flags.Egamma.doLowMu else 0.0)
63 kwargs.setdefault("HadLeakCut", 0.15)
64 result.setPrivateTools(CompFactory.egammaCaloClusterSelector(name, **kwargs))
65 return result
66
67
69 flags, name="caloClusterHadROISelector", **kwargs
70):
71 result = ComponentAccumulator()
72 kwargs.setdefault("egammaCheckEnergyDepositTool", "")
73 kwargs.setdefault("ClusterEtCut", 150e3)
74 result.setPrivateTools(CompFactory.egammaCaloClusterSelector(name, **kwargs))
75 return result
76
77
78if __name__ == "__main__":
79 from AthenaConfiguration.AllConfigFlags import initConfigFlags
80 from AthenaConfiguration.ComponentAccumulator import printProperties
81 from AthenaConfiguration.TestDefaults import defaultTestFiles
82 from AthenaCommon.Logging import logging
83 flags = initConfigFlags()
84 flags.Input.Files = defaultTestFiles.RDO_RUN2
85 flags.fillFromArgs()
86 flags.lock()
87 flags.dump()
88
89 cfg = ComponentAccumulator()
90 mlog = logging.getLogger("egammaCaloToolsConfigTest")
91 mlog.info("Configuring egammaCaloClusterSelector : ")
92 printProperties(
93 mlog,
94 cfg.popToolsAndMerge(egammaCaloClusterSelectorCfg(flags)),
95 nestLevel=1,
96 printDefaults=True,
97 )
98 mlog.info("Configuring egammaCaloClusterSelectorGSF :")
99 printProperties(
100 mlog,
101 cfg.popToolsAndMerge(egammaCaloClusterSelectorGSFCfg(flags)),
102 nestLevel=1,
103 printDefaults=True,
104 )
105 mlog.info("Configuring egammaHadCaloClusterSelector :")
106 printProperties(
107 mlog,
108 cfg.popToolsAndMerge(egammaHadCaloClusterSelectorCfg(flags)),
109 nestLevel=1,
110 printDefaults=True,
111 )
112 f = open("egtracktools.pkl", "wb")
113 cfg.store(f)
114 f.close()
egammaHadCaloClusterSelectorCfg(flags, name="caloClusterHadROISelector", **kwargs)
egammaCheckEnergyDepositToolcfg(flags, name="egammaCheckEnergyDepositTool", **kwargs)
CaloFillRectangularClusterCfg(flags, **kwargs)
egammaCaloClusterSelectorCfg(flags, name="caloClusterROISelector", **kwargs)
egammaCaloClusterSelectorGSFCfg(flags, name="caloClusterGSFSelector", **kwargs)