ATLAS Offline Software
Loading...
Searching...
No Matches
egammaCaloClusterSelector.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef EGAMMACALOTOOLS_EGAMMACALOCLUSTERSELECTOR_H
5#define EGAMMACALOTOOLS_EGAMMACALOCLUSTERSELECTOR_H
6
7// Package includes
13// Framework includes
15
16// STL includes
17#include <string>
18
47class egammaCaloClusterSelector : public extends<AthAlgTool, IegammaCaloClusterSelector> {
48public:
49 egammaCaloClusterSelector(const std::string& type, const std::string& name, const IInterface* parent);
50
51 virtual StatusCode initialize() override final;
52 virtual StatusCode finalize() override final;
53
55 bool passSelection(const xAOD::CaloCluster* cluster,
56 const CaloDetDescrManager& cmgr) const override final;
57
58private:
61 "CellContainerName", "AllCalo",
62 "Names of containers which contain cells"};
63
65 ToolHandle<IegammaCheckEnergyDepositTool> m_egammaCheckEnergyDepositTool {this,
66 "egammaCheckEnergyDepositTool", "",
67 "Optional tool that performs basic checks of viability of cluster"};
68
70 ToolHandle<IegammaIso> m_HadronicLeakageTool {this,
71 "HadronicLeakageTool", "egammaIso",
72 "Handle of the EMCaloIsolationTool for Hadronic leakage"};
73
74 Gaudi::Property<double> m_ClusterEtCut {this,
75 "ClusterEtCut", 0.0, "Cut on cluster EM+Had Et"};
76
77 Gaudi::Property<double> m_EMEtCut {this,
78 "EMEtCut", 0.0, "EM Et cut"};
79
80 Gaudi::Property<double> m_EMEtSplittingFraction {this,
81 "EMEtSplittingFraction", 1.0, "Apply only fraction of EMEt cut for crack region"};
82
83 Gaudi::Property<double> m_EMFCut {this,
84 "EMFCut", 0.0, "Cut on cluster EM fraction"};
85
86 static constexpr double RETA_DEFAULT_NO_CUT = 0.0;
87 Gaudi::Property<double> m_RetaCut {this,
88 "RetaCut", RETA_DEFAULT_NO_CUT, "Cut on cluster Reta"};
89
90 static constexpr double HAD_LEAK_DEFAULT_NO_CUT = 999.;
91 Gaudi::Property<double> m_HadLeakCut {this,
92 "HadLeakCut", HAD_LEAK_DEFAULT_NO_CUT, "Cut on cluster Hadronic Leakage"};
93
94 // these variables are set at initialize based on the configuration
95 bool m_doReta{false};
96 bool m_doHadLeak{false};
97};
98
99#endif // RECONSTRUCTION/EGAMMA/EGAMMACALOTOOLS_EGAMMACALOCLUSTERSELECTOR_H
This class provides the client interface for accessing the detector description information common to...
Property holding a SG store/key/clid from which a ReadHandle is made.
ToolHandle< IegammaIso > m_HadronicLeakageTool
Tool for hadronic leakage calculation; onlud used if cuts needing are defined.
Gaudi::Property< double > m_RetaCut
virtual StatusCode initialize() override final
Gaudi::Property< double > m_EMEtSplittingFraction
virtual StatusCode finalize() override final
Gaudi::Property< double > m_HadLeakCut
SG::ReadHandleKey< CaloCellContainer > m_cellsKey
Name of the cluster intput collection.
static constexpr double HAD_LEAK_DEFAULT_NO_CUT
egammaCaloClusterSelector(const std::string &type, const std::string &name, const IInterface *parent)
ToolHandle< IegammaCheckEnergyDepositTool > m_egammaCheckEnergyDepositTool
Pointer to the egammaCheckEnergyDepositTool.
bool passSelection(const xAOD::CaloCluster *cluster, const CaloDetDescrManager &cmgr) const override final
pass the selection described in the class egammaCaloClusterSelector
Gaudi::Property< double > m_EMEtCut
Gaudi::Property< double > m_EMFCut
static constexpr double RETA_DEFAULT_NO_CUT
Gaudi::Property< double > m_ClusterEtCut
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.