ATLAS Offline Software
AFPSiClusterAllNeighbours.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef AFP_SICLUSTERTOOLS_AFPSICLUSTERAllNEIGHBOURS_H
6 #define AFP_SICLUSTERTOOLS_AFPSICLUSTERAllNEIGHBOURS_H
7 
8 
20 // FrameWork includes
22 #include "GaudiKernel/ServiceHandle.h"
23 
24 // AFP_LocReco includes
26 
27 // STL includes
28 #include <string>
29 #include <list>
30 
32  : public extends<AthAlgTool, IAFPSiClusterAlgTool>
33 {
34 public:
35  AFPSiClusterAllNeighbours(const std::string& type,
36  const std::string& name,
37  const IInterface* parent);
38 
39  virtual ~AFPSiClusterAllNeighbours() override {}
40 
42  virtual StatusCode initialize() override;
43 
45  virtual StatusCode finalize() override;
46 
48  virtual StatusCode doClustering (const std::list<const xAOD::AFPSiHit*>& hits, std::list<AFPSiClusterBasicObj>& outputClusters) const override;
49 
51  float chargeThreshold () const {return m_chargeThreshold;}
52 
53 private:
54  Gaudi::Property<float> m_chargeThreshold {this, "chargeThreshold", 1000., "charge above which hits are used for clustering"};
55 
56  Gaudi::Property<std::string> m_neighbourhoodType {this, "neighbourhoodType", "X", "type of hit neighbourhood in cluster, either X (only long-edge) or XY (both long- and short-edge)"};
57 
58  bool m_doOnlyHorz = false;
59 };
60 
61 
62 #endif // AFP_SICLUSTERTOOLS_AFPSICLUSTERAllNEIGHBOURS_H
TRTCalib_Extractor.hits
hits
Definition: TRTCalib_Extractor.py:35
AFPSiClusterAllNeighbours::doClustering
virtual StatusCode doClustering(const std::list< const xAOD::AFPSiHit * > &hits, std::list< AFPSiClusterBasicObj > &outputClusters) const override
Creates a cluster from the neighbouring pixels, joining only two pixels with charge above m_chargeThr...
Definition: AFPSiClusterAllNeighbours.cxx:48
AFPSiClusterAllNeighbours::initialize
virtual StatusCode initialize() override
does nothing
Definition: AFPSiClusterAllNeighbours.cxx:31
AFPSiClusterAllNeighbours::finalize
virtual StatusCode finalize() override
does nothing
Definition: AFPSiClusterAllNeighbours.cxx:44
AFPSiClusterAllNeighbours::m_chargeThreshold
Gaudi::Property< float > m_chargeThreshold
Definition: AFPSiClusterAllNeighbours.h:54
AFPSiClusterAllNeighbours
Definition: AFPSiClusterAllNeighbours.h:33
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AFPSiClusterAllNeighbours::m_doOnlyHorz
bool m_doOnlyHorz
Definition: AFPSiClusterAllNeighbours.h:58
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
AFPSiClusterAllNeighbours::AFPSiClusterAllNeighbours
AFPSiClusterAllNeighbours(const std::string &type, const std::string &name, const IInterface *parent)
Definition: AFPSiClusterAllNeighbours.cxx:25
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
AFPSiClusterAllNeighbours::~AFPSiClusterAllNeighbours
virtual ~AFPSiClusterAllNeighbours() override
Definition: AFPSiClusterAllNeighbours.h:39
AFPSiClusterAllNeighbours::chargeThreshold
float chargeThreshold() const
Definition: AFPSiClusterAllNeighbours.h:51
AFPSiClusterAllNeighbours::m_neighbourhoodType
Gaudi::Property< std::string > m_neighbourhoodType
Definition: AFPSiClusterAllNeighbours.h:56
IAFPSiClusterAlgTool.h
Header file for interface IAFPSiClusterAlgTool.