ATLAS Offline Software
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 
6 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
7 from AthenaConfiguration.ComponentFactory import CompFactory
8 
9 
10 def 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 
34 def 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 
51 def 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 
78 if __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 
90  mlog = logging.getLogger("egammaCaloToolsConfigTest")
91  mlog.info("Configuring egammaCaloClusterSelector : ")
93  mlog,
94  cfg.popToolsAndMerge(egammaCaloClusterSelectorCfg(flags)),
95  nestLevel=1,
96  printDefaults=True,
97  )
98  mlog.info("Configuring egammaCaloClusterSelectorGSF :")
100  mlog,
101  cfg.popToolsAndMerge(egammaCaloClusterSelectorGSFCfg(flags)),
102  nestLevel=1,
103  printDefaults=True,
104  )
105  mlog.info("Configuring egammaHadCaloClusterSelector :")
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()
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.egammaCaloToolsConfig.egammaHadCaloClusterSelectorCfg
def egammaHadCaloClusterSelectorCfg(flags, name="caloClusterHadROISelector", **kwargs)
Definition: egammaCaloToolsConfig.py:68
python.egammaCaloToolsConfig.CaloFillRectangularClusterCfg
def CaloFillRectangularClusterCfg(flags, **kwargs)
Definition: egammaCaloToolsConfig.py:10
python.egammaCaloToolsConfig.egammaCheckEnergyDepositToolcfg
def egammaCheckEnergyDepositToolcfg(flags, name="egammaCheckEnergyDepositTool", **kwargs)
Definition: egammaCaloToolsConfig.py:21
python.egammaCaloToolsConfig.egammaCaloClusterSelectorGSFCfg
def egammaCaloClusterSelectorGSFCfg(flags, name="caloClusterGSFSelector", **kwargs)
Definition: egammaCaloToolsConfig.py:34
python.egammaCaloToolsConfig.egammaCaloClusterSelectorCfg
def egammaCaloClusterSelectorCfg(flags, name="caloClusterROISelector", **kwargs)
Definition: egammaCaloToolsConfig.py:51
extractSporadic.printProperties
def printProperties(h, q, hLB)
Definition: extractSporadic.py:7
Trk::open
@ open
Definition: BinningType.h:40
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19