ATLAS Offline Software
electronSuperClusterBuilder.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_ELECTRONSUPERCLUSTERBUILDER_H
6 #define EGAMMAALGS_ELECTRONSUPERCLUSTERBUILDER_H
7 
9 
10 #include "GaudiKernel/EventContext.h"
14 
16 
17 // Fwd declarations
23 
24 #include <string>
25 #include <vector>
26 
72 {
73 
74 public:
75  // Constructor/destructor.
76  electronSuperClusterBuilder(const std::string& name,
77  ISvcLocator* pSvcLocator);
78 
79  // Tool standard routines.
80  virtual StatusCode initialize() override final;
81 
82 private:
83  virtual bool egammaRecPassesSelection(
84  const egammaRec *egRec) const override final;
85 
87  const egammaRec *egRec) const override final;
88 
89  virtual StatusCode redoMatching(
90  const EventContext &ctx,
91  SG::WriteHandle<EgammaRecContainer> &newEgammaRecs) const override final;
110  virtual std::vector<std::size_t> searchForSecondaryClusters(
111  const size_t i,
112  const EgammaRecContainer*,
113  std::vector<bool>& isUsed) const override final;
114 
116  Gaudi::Property<int> m_maxDelEtaCells{
117  this,
118  "MaxWindowDelEtaCells",
119  5,
120  "Size of maximum search window in eta"
121  };
123  Gaudi::Property<int> m_maxDelPhiCells{
124  this,
125  "MaxWindowDelPhiCells",
126  12,
127  "Size of maximum search window in phi"
128  };
129 
130  Gaudi::Property<std::size_t> m_numberOfPixelHits{
131  this,
132  "NumberOfReqPixelHits",
133  0,
134  "Number of required pixel hits for electrons"
135  };
136 
137  Gaudi::Property<std::size_t> m_numberOfSiHits{
138  this,
139  "NumberOfReqSiHits",
140  7,
141  "Number of required silicon hits for electrons"
142  };
143 
145  ToolHandle<IEMTrackMatchBuilder> m_trackMatchBuilder{
146  this,
147  "TrackMatchBuilderTool",
148  "EMTrackMatchBuilder",
149  "Tool that matches tracks to egammaRecs"
150  };
151 
153  Gaudi::Property<bool> m_doTrackMatching{
154  this,
155  "doTrackMatching",
156  true,
157  "Boolean to do track matching" };
158 
159  float m_maxDelEta {};
160  float m_maxDelPhi {};
161 };
162 
163 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
electronSuperClusterBuilder::m_doTrackMatching
Gaudi::Property< bool > m_doTrackMatching
private member flag to do the track matching
Definition: electronSuperClusterBuilder.h:153
electronSuperClusterBuilder::searchForSecondaryClusters
virtual std::vector< std::size_t > searchForSecondaryClusters(const size_t i, const EgammaRecContainer *, std::vector< bool > &isUsed) const override final
Search for secondary clusters.
Definition: electronSuperClusterBuilder.cxx:100
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
electronSuperClusterBuilder::m_maxDelPhi
float m_maxDelPhi
Definition: electronSuperClusterBuilder.h:160
xAOD::EgammaParameters::EgammaType
EgammaType
Definition: EgammaEnums.h:17
electronSuperClusterBuilder
Create supercluster under electron hypothesis.
Definition: electronSuperClusterBuilder.h:72
EgammaxAODHelpers.h
electronSuperClusterBuilder::electronSuperClusterBuilder
electronSuperClusterBuilder(const std::string &name, ISvcLocator *pSvcLocator)
Definition: electronSuperClusterBuilder.cxx:38
CaloClusterFwd.h
lumiFormat.i
int i
Definition: lumiFormat.py:92
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
electronSuperClusterBuilder::m_trackMatchBuilder
ToolHandle< IEMTrackMatchBuilder > m_trackMatchBuilder
Tool to perform track matching.
Definition: electronSuperClusterBuilder.h:145
ReadCondHandleKey.h
electronSuperClusterBuilder::m_maxDelEta
float m_maxDelEta
Definition: electronSuperClusterBuilder.h:159
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
electronSuperClusterBuilder::initialize
virtual StatusCode initialize() override final
should be called by the derived class in the initialize phase
Definition: electronSuperClusterBuilder.cxx:46
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
egammaSuperClusterBuilderBase.h
electronSuperClusterBuilder::m_numberOfPixelHits
Gaudi::Property< std::size_t > m_numberOfPixelHits
Definition: electronSuperClusterBuilder.h:130
electronSuperClusterBuilder::m_maxDelPhiCells
Gaudi::Property< int > m_maxDelPhiCells
Size of maximum search window in phi.
Definition: electronSuperClusterBuilder.h:123
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:76
electronSuperClusterBuilder::getEgammaRecType
virtual xAOD::EgammaParameters::EgammaType getEgammaRecType(const egammaRec *egRec) const override final
Definition: electronSuperClusterBuilder.cxx:83
electronSuperClusterBuilder::m_numberOfSiHits
Gaudi::Property< std::size_t > m_numberOfSiHits
Definition: electronSuperClusterBuilder.h:137
egammaSuperClusterBuilderBase
Base class for electronSuperClusterBuilder photonSuperClusterBuilder egammaSuperClusterBuilder This c...
Definition: egammaSuperClusterBuilderBase.h:47
CaloClusterContainer.h
egammaRec
Definition: egammaRec.h:31
egammaRecContainer.h
IEMTrackMatchBuilder.h
electronSuperClusterBuilder::redoMatching
virtual StatusCode redoMatching(const EventContext &ctx, SG::WriteHandle< EgammaRecContainer > &newEgammaRecs) const override final
Definition: electronSuperClusterBuilder.cxx:88
electronSuperClusterBuilder::egammaRecPassesSelection
virtual bool egammaRecPassesSelection(const egammaRec *egRec) const override final
Definition: electronSuperClusterBuilder.cxx:63
electronSuperClusterBuilder::m_maxDelEtaCells
Gaudi::Property< int > m_maxDelEtaCells
Size of maximum search window in eta.
Definition: electronSuperClusterBuilder.h:116