#include <AFPSiClusterAllNeighbours.h>
|
Gaudi::Property< float > | m_chargeThreshold {this, "chargeThreshold", 1000., "charge above which hits are used for clustering"} |
|
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)"} |
|
bool | m_doOnlyHorz = false |
|
Definition at line 31 of file AFPSiClusterAllNeighbours.h.
◆ AFPSiClusterAllNeighbours()
AFPSiClusterAllNeighbours::AFPSiClusterAllNeighbours |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~AFPSiClusterAllNeighbours()
virtual AFPSiClusterAllNeighbours::~AFPSiClusterAllNeighbours |
( |
| ) |
|
|
inlineoverridevirtual |
◆ chargeThreshold()
float AFPSiClusterAllNeighbours::chargeThreshold |
( |
| ) |
const |
|
inline |
◆ doClustering()
Creates a cluster from the neighbouring pixels, joining only two pixels with charge above m_chargeThreshold.
Definition at line 48 of file AFPSiClusterAllNeighbours.cxx.
50 std::list<const xAOD::AFPSiHit*> hitsAboveThreshold;
55 hitsAboveThreshold.push_back(theHit);
57 while (!hitsAboveThreshold.empty())
60 std::list<const xAOD::AFPSiHit*> currentProtoCluster{hitsAboveThreshold.front()};
62 hitsAboveThreshold.pop_front();
70 if(abs(currHit->pixelVertID()-(*remHit)->pixelVertID())<=1 && abs(currHit->pixelHorizID()-(*remHit)->pixelHorizID())<=1)
72 if(
m_doOnlyHorz && currHit->pixelVertID()!=(*remHit)->pixelVertID())
79 currentProtoCluster.push_back(*remHit);
80 hitsAboveThreshold.erase(remHit++);
101 charge += currHit->depositedCharge();
102 horizID += currHit->pixelHorizID() * currHit->depositedCharge();
103 vertID += currHit->pixelVertID() * currHit->depositedCharge();
105 newCluster.
hits().push_back(currHit);
114 return StatusCode::SUCCESS;
◆ finalize()
StatusCode AFPSiClusterAllNeighbours::finalize |
( |
| ) |
|
|
overridevirtual |
◆ initialize()
StatusCode AFPSiClusterAllNeighbours::initialize |
( |
| ) |
|
|
overridevirtual |
◆ m_chargeThreshold
Gaudi::Property<float> AFPSiClusterAllNeighbours::m_chargeThreshold {this, "chargeThreshold", 1000., "charge above which hits are used for clustering"} |
|
private |
◆ m_doOnlyHorz
bool AFPSiClusterAllNeighbours::m_doOnlyHorz = false |
|
private |
◆ m_neighbourhoodType
Gaudi::Property<std::string> AFPSiClusterAllNeighbours::m_neighbourhoodType {this, "neighbourhoodType", "X", "type of hit neighbourhood in cluster, either X (only long-edge) or XY (both long- and short-edge)"} |
|
private |
The documentation for this class was generated from the following files: