HerdSoftware  0.1.1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Herd::CaloAxis Struct Reference

Container of information about the Calorimeter Shower Axis. More...

#include <dataobjects/CaloAxis.h>

Public Member Functions

 CaloAxis ()
 Default constructor. More...
 
 CaloAxis (const CaloHits caloHits, float energyThreshold)
 Constructor from a collection of hits and threshold. More...
 
virtual ~CaloAxis ()=default
 Virtual destructor. More...
 
std::array< double, 3 > AxisSigma (const CaloGeoParams &geoParams)
 Axis Sigma around COG (cm). More...
 
std::array< double, 3 > AxisSkewness (const CaloGeoParams &geoParams)
 Axis Skewness around COG (adim). More...
 
std::array< double, 3 > AxisKurtosis (const CaloGeoParams &geoParams)
 Axis Kurtosis around COG (adim). More...
 
CaloAxisAlgoType AlgoType () const
 Flag provinding the algorithm used for the reconstruction of the CaloAxis object. More...
 
unsigned short AxisHits () const
 Number of hits used for axis reconstruction. More...
 
Point COG () const
 Axis Center of Gravity More...
 
std::array< double, 3 > Eigenvalues () const
 Eigenvalues of Axis Covariance matrix. More...
 
std::array< Point, 3 > Eigenvectors () const
 Eigenvectors of Axis Covariance matrix. More...
 
Line Axis () const
 get the shower Axis More...
 
Point AxisEntryHit (const CaloGeoParams &geoParams)
 Axis Entry point More...
 
Point AxisExitHit (const CaloGeoParams &geoParams)
 Axis Exit point More...
 
double AxisPathlengthHit (const CaloGeoParams &geoParams)
 Axis total pathlength inside crystals More...
 
double LateralEnergy (const CaloGeoParams &geoParams, double radmin=0, double radmax=defaultValue< double >)
 Get Lateral Energy deposit. More...
 
double LongitudinalEntryEnergy (const CaloGeoParams &geoParams, double dist, double radmin=0, double radmax=defaultValue< double >)
 Get Longitudinal Energy deposit at Calo Axis Entry. More...
 
double LongitudinalExitEnergy (const CaloGeoParams &geoParams, double dist, double radmin=0, double radmax=defaultValue< double >)
 Get Longitudinal Energy deposit at Calo Axis Exit. More...
 
double LocalEnergy (const CaloGeoParams &geoParams, Point center, double distneg, double distpos, double radmin=0, double radmax=defaultValue< double >)
 Get Energy deposit around a defined region around the Calo Axis. More...
 
void SetAlgoType (CaloAxisAlgoType algoType)
 
void SetCOG (Point cog)
 Set the COG. More...
 
void SetDirection (Vec3D dir)
 Set the direction. More...
 
void SetEigenvalues (std::array< double, 3 > eig)
 Set the eigenvalues. More...
 
void SetEigenvectors (std::array< Point, 3 > eig)
 Set the eigenvectors. More...
 
void Reset ()
 Set the members to default values. More...
 

Private Member Functions

void ComputeMomenta (const CaloGeoParams &geoParams)
 
void ComputePathlength (const CaloGeoParams &geoParams)
 

Private Attributes

CaloAxisAlgoType m_axisAlgo
 
Point m_axisCOG
 
std::array< double, 3 > m_axisEigenvalues
 
std::array< Point, 3 > m_axisEigenvectors
 
Vec3D m_axisDir
 
std::array< double, 3 > m_axisSigma
 
std::array< double, 3 > m_axisSkewness
 
std::array< double, 3 > m_axisKurtosis
 
Point m_axisEntryHit
 
Point m_axisExitHit
 
double m_axisPathlengthHit
 
CaloHits m_caloHits
 
float m_energyThreshold = 0
 

Detailed Description

Container of information about the Calorimeter Shower Axis.

This container contains the information produced by the Calorimeter Shower Axis reconstruction. It identifies the principal axes of the shower and calculates the main momenta of the shower energy distribution in the principal axes reference frame.

Constructor & Destructor Documentation

◆ CaloAxis() [1/2]

Herd::CaloAxis::CaloAxis ( )
inline

Default constructor.

Creates a CaloAxis with standard values

◆ CaloAxis() [2/2]

Herd::CaloAxis::CaloAxis ( const CaloHits  caloHits,
float  energyThreshold 
)
inline

Constructor from a collection of hits and threshold.

Creates a CaloAxis with standard values

◆ ~CaloAxis()

virtual Herd::CaloAxis::~CaloAxis ( )
virtualdefault

Virtual destructor.

Member Function Documentation

◆ AlgoType()

CaloAxisAlgoType Herd::CaloAxis::AlgoType ( ) const
inline

Flag provinding the algorithm used for the reconstruction of the CaloAxis object.

◆ Axis()

Line Herd::CaloAxis::Axis ( ) const
inline

get the shower Axis

Get the shower axis as a Line object

◆ AxisEntryHit()

Point Herd::CaloAxis::AxisEntryHit ( const CaloGeoParams geoParams)
inline

Axis Entry point

Coordinate of intersection with crystal

◆ AxisExitHit()

Point Herd::CaloAxis::AxisExitHit ( const CaloGeoParams geoParams)
inline

Axis Exit point

Coordinate of intersection with crystal

◆ AxisHits()

unsigned short Herd::CaloAxis::AxisHits ( ) const
inline

Number of hits used for axis reconstruction.

◆ AxisKurtosis()

std::array<double, 3> Herd::CaloAxis::AxisKurtosis ( const CaloGeoParams geoParams)
inline

Axis Kurtosis around COG (adim).

The values are sorted from principal axis (largest covariance matrix eigenvalue) to last axis (smallest covariance matrix eigenvalue)

◆ AxisPathlengthHit()

double Herd::CaloAxis::AxisPathlengthHit ( const CaloGeoParams geoParams)
inline

Axis total pathlength inside crystals

Sum of single crystal pathlength

◆ AxisSigma()

std::array<double, 3> Herd::CaloAxis::AxisSigma ( const CaloGeoParams geoParams)
inline

Axis Sigma around COG (cm).

The values are sorted from principal axis (largest covariance matrix eigenvalue) to last axis (smallest covariance matrix eigenvalue)

◆ AxisSkewness()

std::array<double, 3> Herd::CaloAxis::AxisSkewness ( const CaloGeoParams geoParams)
inline

Axis Skewness around COG (adim).

The values are sorted from principal axis (largest covariance matrix eigenvalue) to last axis (smallest covariance matrix eigenvalue)

◆ COG()

Point Herd::CaloAxis::COG ( ) const
inline

Axis Center of Gravity

Expressed in Herd reference frame (cm)

◆ ComputeMomenta()

void Herd::CaloAxis::ComputeMomenta ( const CaloGeoParams geoParams)
private

◆ ComputePathlength()

void Herd::CaloAxis::ComputePathlength ( const CaloGeoParams geoParams)
private

◆ Eigenvalues()

std::array<double, 3> Herd::CaloAxis::Eigenvalues ( ) const
inline

Eigenvalues of Axis Covariance matrix.

Sorted from largest to lowest

◆ Eigenvectors()

std::array<Point, 3> Herd::CaloAxis::Eigenvectors ( ) const
inline

Eigenvectors of Axis Covariance matrix.

Sorted from largest to lowest value of eigenvalue. The vectors define the three principal axes of the shower

◆ LateralEnergy()

double Herd::CaloAxis::LateralEnergy ( const CaloGeoParams geoParams,
double  radmin = 0,
double  radmax = defaultValue<double> 
)

Get Lateral Energy deposit.

Get Energy deposit contained in a cylindrical volume defined by two radii. Only crystals with center contained between the inner and outer cylinder will be used

Parameters

◆ LocalEnergy()

double Herd::CaloAxis::LocalEnergy ( const CaloGeoParams geoParams,
Point  center,
double  distneg,
double  distpos,
double  radmin = 0,
double  radmax = defaultValue<double> 
)

Get Energy deposit around a defined region around the Calo Axis.

Get Energy deposit contained in a cylindrical volume defined by two radii. Only crystals with center contained between the inner and outer cylinder and with center contained between the distance upstream and downstream along the shower axis around a reference point (in cm) will be used

Parameters

◆ LongitudinalEntryEnergy()

double Herd::CaloAxis::LongitudinalEntryEnergy ( const CaloGeoParams geoParams,
double  dist,
double  radmin = 0,
double  radmax = defaultValue<double> 
)

Get Longitudinal Energy deposit at Calo Axis Entry.

Get Energy deposit contained in a cylindrical volume defined by two radii. Only crystals with center contained between the inner and outer cylinder and with center contained between the Calo Axis entry point and the distance downstream along the axis (in cm) will be used.

Warning
The Calo Axis entry point is set by the AxisEntryHit function, and is the external coordinate of first crystal geometrically crossed by the calo Axis.
Parameters

◆ LongitudinalExitEnergy()

double Herd::CaloAxis::LongitudinalExitEnergy ( const CaloGeoParams geoParams,
double  dist,
double  radmin = 0,
double  radmax = defaultValue<double> 
)

Get Longitudinal Energy deposit at Calo Axis Exit.

Get Energy deposit contained in a cylindrical volume defined by two radii. Only crystals with center contained between the inner and outer cylinder and with center contained between the Calo Axis exit point and the distance upstream along the axis (in cm) will be used.

Warning
The Calo Axis entry point is set by the AxisExitHit function, and is the external coordinate of first crystal geometrically crossed by the calo Axis.
Parameters

◆ Reset()

void Herd::CaloAxis::Reset ( )

Set the members to default values.

◆ SetAlgoType()

void Herd::CaloAxis::SetAlgoType ( CaloAxisAlgoType  algoType)
inline

◆ SetCOG()

void Herd::CaloAxis::SetCOG ( Point  cog)
inline

Set the COG.

◆ SetDirection()

void Herd::CaloAxis::SetDirection ( Vec3D  dir)
inline

Set the direction.

◆ SetEigenvalues()

void Herd::CaloAxis::SetEigenvalues ( std::array< double, 3 >  eig)
inline

Set the eigenvalues.

◆ SetEigenvectors()

void Herd::CaloAxis::SetEigenvectors ( std::array< Point, 3 >  eig)
inline

Set the eigenvectors.

Member Data Documentation

◆ m_axisAlgo

CaloAxisAlgoType Herd::CaloAxis::m_axisAlgo
private

◆ m_axisCOG

Point Herd::CaloAxis::m_axisCOG
private

◆ m_axisDir

Vec3D Herd::CaloAxis::m_axisDir
private

◆ m_axisEigenvalues

std::array<double, 3> Herd::CaloAxis::m_axisEigenvalues
private

◆ m_axisEigenvectors

std::array<Point, 3> Herd::CaloAxis::m_axisEigenvectors
private

◆ m_axisEntryHit

Point Herd::CaloAxis::m_axisEntryHit
private

◆ m_axisExitHit

Point Herd::CaloAxis::m_axisExitHit
private

◆ m_axisKurtosis

std::array<double, 3> Herd::CaloAxis::m_axisKurtosis
private

◆ m_axisPathlengthHit

double Herd::CaloAxis::m_axisPathlengthHit
private

◆ m_axisSigma

std::array<double, 3> Herd::CaloAxis::m_axisSigma
private

◆ m_axisSkewness

std::array<double, 3> Herd::CaloAxis::m_axisSkewness
private

◆ m_caloHits

CaloHits Herd::CaloAxis::m_caloHits
private

◆ m_energyThreshold

float Herd::CaloAxis::m_energyThreshold = 0
private

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