LDMX Software
ldmx::EcalCluster Class Reference

Stores cluster information from the ECal. More...

#include <EcalCluster.h>

Public Member Functions

 EcalCluster ()=default
 Class constructor.
 
virtual ~EcalCluster ()
 Class destructor.
 
void addHits (const std::vector< const ldmx::EcalHit * > &hits)
 Take in the hits that make up the cluster.
 
void addFirstLayerHits (const std::vector< const ldmx::EcalHit * > &hits)
 
bool operator< (const EcalCluster &rhs) const
 
void setFirstLayerCentroidXYZ (double x, double y, double z)
 
double getFirstLayerCentroidX () const
 
double getFirstLayerCentroidY () const
 
double getFirstLayerCentroidZ () const
 
std::vector< unsigned int > getFirstLayerHitIDs () const
 
- Public Member Functions inherited from ldmx::CaloCluster
 CaloCluster ()=default
 Class constructor.
 
virtual ~CaloCluster ()
 Class destructor.
 
void clear ()
 Reset the CaloCluster object.
 
void addHits (const std::vector< const ldmx::CalorimeterHit * > hitsVec)
 Take in the hits that make up the cluster.
 
void setEnergy (double energy)
 Sets total energy for the cluster.
 
void setNHits (int nHits)
 Sets total number of hits in the cluster.
 
void setIDs (std::vector< unsigned int > &hitIDs)
 Sets a sorted vector for the IDs of the hits_ that make up the cluster.
 
void setHitValsX (std::vector< float > &x_)
 
void setHitValsY (std::vector< float > &x_)
 
void setHitValsZ (std::vector< float > &x_)
 
void setHitValsE (std::vector< float > &x_)
 
void setCentroidXYZ (double centroid_x, double centroid_y, double centroid_z)
 Sets the three coordinates of the cluster centroid.
 
void setLayer (int layer)
 
void setRMSXYZ (double rms_x, double rms_y, double rms_z)
 
void setDXDZ (double dxdz)
 
void setDYDZ (double dydz)
 
void setEDXDZ (double err_dxdz)
 
void setEDYDZ (double err_dydz)
 
double getEnergy () const
 
int getNHits () const
 
double getCentroidX () const
 centroid x-location
 
double getCentroidY () const
 centroid y-location
 
double getCentroidZ () const
 centroid z-location
 
int getLayer () const
 layer of the cluster centroid
 
double getRMSX () const
 rms in x
 
double getRMSY () const
 rms in y
 
double getRMSZ () const
 rms in z
 
double getDXDZ () const
 Delta in x-z plane.
 
double getDYDZ () const
 Delta in y-z plane.
 
double getEDXDZ () const
 Delta unc on unc in x-z plane.
 
double getEDYDZ () const
 Delta unc on unc in y-z plane.
 
const std::vector< unsigned int > & getHitIDs () const
 
const std::vector< float > & getHitX () const
 
const std::vector< float > & getHitY () const
 
const std::vector< float > & getHitZ () const
 
const std::vector< float > & getHitE () const
 
bool operator< (const CaloCluster &rhs) const
 

Private Member Functions

 ClassDef (EcalCluster, 1)
 

Private Attributes

std::vector< unsigned int > first_layer_hit_ids_
 
double first_layer_centroid_x_ {0}
 
double first_layer_centroid_y_ {0}
 
double first_layer_centroid_z_ {0}
 

Additional Inherited Members

- Protected Attributes inherited from ldmx::CaloCluster
std::vector< unsigned int > hit_ids_
 
double energy_ {0}
 
int n_hits_ {0}
 
double centroid_x_ {0}
 
double centroid_y_ {0}
 
double centroid_z_ {0}
 
int layer_ {-1}
 
double rms_x_ {0}
 
double rms_y_ {0}
 
double rms_z_ {0}
 
double dxdz_ {0}
 
double dydz_ {0}
 
double err_dxdz_ {0}
 
double err_dydz_ {0}
 
std::vector< float > hit_x_
 
std::vector< float > hit_y_
 
std::vector< float > hit_z_
 
std::vector< float > hit_e_
 

Detailed Description

Stores cluster information from the ECal.

Definition at line 20 of file EcalCluster.h.

Constructor & Destructor Documentation

◆ ~EcalCluster()

ldmx::EcalCluster::~EcalCluster ( )
virtual

Class destructor.

Definition at line 7 of file EcalCluster.cxx.

7{ clear(); }
void clear()
Reset the CaloCluster object.

References ldmx::CaloCluster::clear().

Member Function Documentation

◆ addFirstLayerHits()

void ldmx::EcalCluster::addFirstLayerHits ( const std::vector< const ldmx::EcalHit * > & hits)

Definition at line 18 of file EcalCluster.cxx.

18 {
19 first_layer_hit_ids_.clear();
20 first_layer_hit_ids_.reserve(hits_.size());
21 for (const auto& h : hits_) {
22 first_layer_hit_ids_.push_back(h->getID());
23 }
24}

◆ addHits()

void ldmx::EcalCluster::addHits ( const std::vector< const ldmx::EcalHit * > & hits)

Take in the hits that make up the cluster.

Parameters
hitThe digi hit's entry number in the events digi collection.

Definition at line 9 of file EcalCluster.cxx.

9 {
10 std::vector<unsigned int> ids;
11 ids.reserve(hits_.size());
12 for (const auto& h : hits_) {
13 ids.push_back(h->getID());
14 }
15 setIDs(ids);
16}
void setIDs(std::vector< unsigned int > &hitIDs)
Sets a sorted vector for the IDs of the hits_ that make up the cluster.
Definition CaloCluster.h:72

References ldmx::CaloCluster::setIDs().

Referenced by ecal::EcalClusterProducer::produce().

◆ getFirstLayerCentroidX()

double ldmx::EcalCluster::getFirstLayerCentroidX ( ) const
inline

Definition at line 51 of file EcalCluster.h.

51{ return first_layer_centroid_x_; }

◆ getFirstLayerCentroidY()

double ldmx::EcalCluster::getFirstLayerCentroidY ( ) const
inline

Definition at line 52 of file EcalCluster.h.

52{ return first_layer_centroid_y_; }

◆ getFirstLayerCentroidZ()

double ldmx::EcalCluster::getFirstLayerCentroidZ ( ) const
inline

Definition at line 53 of file EcalCluster.h.

53{ return first_layer_centroid_z_; }

◆ getFirstLayerHitIDs()

std::vector< unsigned int > ldmx::EcalCluster::getFirstLayerHitIDs ( ) const
inline

Definition at line 55 of file EcalCluster.h.

55 {
56 return first_layer_hit_ids_;
57 }

◆ operator<()

bool ldmx::EcalCluster::operator< ( const EcalCluster & rhs) const
inline

Definition at line 41 of file EcalCluster.h.

41 {
42 return this->getEnergy() < rhs.getEnergy();
43 }

◆ setFirstLayerCentroidXYZ()

void ldmx::EcalCluster::setFirstLayerCentroidXYZ ( double x,
double y,
double z )
inline

Definition at line 45 of file EcalCluster.h.

45 {
46 first_layer_centroid_x_ = x;
47 first_layer_centroid_y_ = y;
48 first_layer_centroid_z_ = z;
49 }

Member Data Documentation

◆ first_layer_centroid_x_

double ldmx::EcalCluster::first_layer_centroid_x_ {0}
private

Definition at line 62 of file EcalCluster.h.

62{0};

◆ first_layer_centroid_y_

double ldmx::EcalCluster::first_layer_centroid_y_ {0}
private

Definition at line 63 of file EcalCluster.h.

63{0};

◆ first_layer_centroid_z_

double ldmx::EcalCluster::first_layer_centroid_z_ {0}
private

Definition at line 64 of file EcalCluster.h.

64{0};

◆ first_layer_hit_ids_

std::vector<unsigned int> ldmx::EcalCluster::first_layer_hit_ids_
private

Definition at line 60 of file EcalCluster.h.


The documentation for this class was generated from the following files: