ATLAS Offline Software
egammaTopoClusterCopier.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef EGAMMAALGS_EGAMMATOPOCLUSTERCOPIER_H
6 #define EGAMMAALGS_EGAMMATOPOCLUSTERCOPIER_H
7 
9 
14 
15 #include "GaudiKernel/SystemOfUnits.h"
16 
17 #include <Gaudi/Accumulators.h>
18 
43 
44 public:
45 
46  egammaTopoClusterCopier(const std::string& name, ISvcLocator* pSvcLocator);
47 
48  virtual StatusCode initialize() override final;
49  virtual StatusCode execute(const EventContext& ctx) const override final;
50  virtual StatusCode finalize() override final;
51 
52 private:
53 
55  this,
56  "InputTopoCollection",
57  "CaloTopoClusters",
58  "input topocluster collection"
59  };
60 
62  this,
63  "TopoShallow_doNotConfig",
64  "",
65  "Shallow copy of input collection that allows properties to be modified"
66  };
67 
69  this,
70  "OutputTopoCollection",
71  "egammaTopoCluster",
72  "View container of selected topoclusters"
73  };
74 
76  this,
77  "OutputFwdTopoCollection",
78  "",
79  "View container of selected fwd topoclusters"
80  };
81 
82  Gaudi::Property<float> m_etaCut {
83  this,
84  "EtaCut",
85  2.6,
86  "maximum |eta| of selected clusters"
87  };
88 
89  Gaudi::Property<double> m_fwdEtaCut {
90  this,
91  "fwdEtaCut",
92  2.5,
93  "minimum |eta| of selected fwd clusters"
94  };
95 
96  Gaudi::Property<float> m_ECut {
97  this,
98  "ECut",
99  700,
100  "minimum EM energy of selected clusters"
101  };
102 
103  Gaudi::Property<double> m_fwdETCut {
104  this,
105  "fwdETCut",
106  5. * Gaudi::Units::GeV,
107  "Fwd ET cut"
108  };
109 
110  Gaudi::Property<float> m_EMFracCut {
111  this,
112  "EMFracCut",
113  0.5,
114  "mimimum EM fraction of selected clusters"
115  };
116 
118  Gaudi::Property<bool> m_hasITk {
119  this,
120  "hasITk",
121  false,
122  "Boolean to do track matching"
123  };
124 
126  bool m_doForwardClusters = false;
127 
128  mutable Gaudi::Accumulators::Counter<> m_AllClusters {};
129  mutable Gaudi::Accumulators::Counter<> m_CentralPassPreSelection {};
130  mutable Gaudi::Accumulators::Counter<> m_CentralPassSelection {};
131  mutable Gaudi::Accumulators::Counter<> m_FwdPassPreSelection {};
132  mutable Gaudi::Accumulators::Counter<> m_FwdPassSelection {};
133  mutable Gaudi::Accumulators::Counter<> m_SharedPassPreSelection {};
134  mutable Gaudi::Accumulators::Counter<> m_SharedPassSelection {};
135 };
136 
137 #endif // EGAMMATOOLS_EMCLUSTERTOOL_H
138 
egammaTopoClusterCopier::m_FwdPassPreSelection
Gaudi::Accumulators::Counter m_FwdPassPreSelection
Definition: egammaTopoClusterCopier.h:131
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
egammaTopoClusterCopier::m_fwdEtaCut
Gaudi::Property< double > m_fwdEtaCut
Definition: egammaTopoClusterCopier.h:89
ConstDataVector.h
DataVector adapter that acts like it holds const pointers.
egammaTopoClusterCopier::egammaTopoClusterCopier
egammaTopoClusterCopier(const std::string &name, ISvcLocator *pSvcLocator)
Definition: egammaTopoClusterCopier.cxx:89
egammaTopoClusterCopier::m_etaCut
Gaudi::Property< float > m_etaCut
Definition: egammaTopoClusterCopier.h:82
SG::ReadHandleKey< xAOD::CaloClusterContainer >
egammaTopoClusterCopier::m_doForwardClusters
bool m_doForwardClusters
Private member flag to copy forward clusters.
Definition: egammaTopoClusterCopier.h:126
egammaTopoClusterCopier::m_outputFwdTopoCollection
SG::WriteHandleKey< ConstDataVector< xAOD::CaloClusterContainer > > m_outputFwdTopoCollection
Definition: egammaTopoClusterCopier.h:75
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
egammaTopoClusterCopier::execute
virtual StatusCode execute(const EventContext &ctx) const override final
Definition: egammaTopoClusterCopier.cxx:125
egammaTopoClusterCopier::m_FwdPassSelection
Gaudi::Accumulators::Counter m_FwdPassSelection
Definition: egammaTopoClusterCopier.h:132
egammaTopoClusterCopier::m_outputTopoCollectionShallow
SG::WriteHandleKey< xAOD::CaloClusterContainer > m_outputTopoCollectionShallow
Definition: egammaTopoClusterCopier.h:61
SG::WriteHandleKey< xAOD::CaloClusterContainer >
egammaTopoClusterCopier::m_AllClusters
Gaudi::Accumulators::Counter m_AllClusters
Definition: egammaTopoClusterCopier.h:128
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
egammaTopoClusterCopier::m_EMFracCut
Gaudi::Property< float > m_EMFracCut
Definition: egammaTopoClusterCopier.h:110
egammaTopoClusterCopier::finalize
virtual StatusCode finalize() override final
Definition: egammaTopoClusterCopier.cxx:111
egammaTopoClusterCopier
Select topo-clusters to be used in egamma reconstruction.
Definition: egammaTopoClusterCopier.h:42
egammaTopoClusterCopier::m_SharedPassPreSelection
Gaudi::Accumulators::Counter m_SharedPassPreSelection
Definition: egammaTopoClusterCopier.h:133
AthReentrantAlgorithm.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
egammaTopoClusterCopier::m_ECut
Gaudi::Property< float > m_ECut
Definition: egammaTopoClusterCopier.h:96
egammaTopoClusterCopier::initialize
virtual StatusCode initialize() override final
Definition: egammaTopoClusterCopier.cxx:94
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
egammaTopoClusterCopier::m_inputTopoCollection
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_inputTopoCollection
Definition: egammaTopoClusterCopier.h:54
egammaTopoClusterCopier::m_outputTopoCollection
SG::WriteHandleKey< ConstDataVector< xAOD::CaloClusterContainer > > m_outputTopoCollection
Definition: egammaTopoClusterCopier.h:68
egammaTopoClusterCopier::m_CentralPassSelection
Gaudi::Accumulators::Counter m_CentralPassSelection
Definition: egammaTopoClusterCopier.h:130
egammaTopoClusterCopier::m_fwdETCut
Gaudi::Property< double > m_fwdETCut
Definition: egammaTopoClusterCopier.h:103
egammaTopoClusterCopier::m_hasITk
Gaudi::Property< bool > m_hasITk
Private member flag to do the track matching.
Definition: egammaTopoClusterCopier.h:118
CaloClusterContainer.h
GeV
#define GeV
Definition: CaloTransverseBalanceVecMon.cxx:30
egammaTopoClusterCopier::m_CentralPassPreSelection
Gaudi::Accumulators::Counter m_CentralPassPreSelection
Definition: egammaTopoClusterCopier.h:129
egammaTopoClusterCopier::m_SharedPassSelection
Gaudi::Accumulators::Counter m_SharedPassSelection
Definition: egammaTopoClusterCopier.h:134