Project
Loading...
Searching...
No Matches
o2::emcal::AnalysisCluster Class Reference

Cluster class for kinematic cluster parametersported from AliVCluster in AliRoot. More...

#include <AnalysisCluster.h>

Classes

class  CellOutOfRangeException
 Exception handling non-existing cell indices. More...
 

Public Member Functions

 AnalysisCluster ()=default
 
 ~AnalysisCluster ()=default
 
 AnalysisCluster (const AnalysisCluster &clus)=default
 
AnalysisClusteroperator= (const AnalysisCluster &source)=default
 
void clear ()
 
void setID (int id)
 
int getID () const
 
void setE (float ene)
 
float E () const
 
void setChi2 (float chi2)
 
float Chi2 () const
 
void setGlobalPosition (math_utils::Point3D< float > x)
 Set the cluster global position.
 
math_utils::Point3D< float > getGlobalPosition () const
 
void setLocalPosition (math_utils::Point3D< float > x)
 
math_utils::Point3D< float > getLocalPosition () const
 
void setDispersion (float disp)
 
float getDispersion () const
 
void setM20 (float m20)
 
float getM20 () const
 
void setM02 (float m02)
 
float getM02 () const
 
void setNExMax (unsigned char nExMax)
 
unsigned char getNExMax () const
 
void setEmcCpvDistance (float dEmcCpv)
 
float getEmcCpvDistance () const
 
void setTrackDistance (float dx, float dz)
 
float getTrackDx () const
 
float getTrackDz () const
 
void setDistanceToBadChannel (float dist)
 
float getDistanceToBadChannel () const
 
void setNCells (int n)
 
int getNCells () const
 
void setCellsIndices (const std::vector< unsigned short > &array)
 Set the array of cell indices.
 
const std::vector< unsigned short > & getCellsIndices () const
 
void setCellsAmplitudeFraction (const std::vector< float > &array)
 
const std::vector< float > & getCellsAmplitudeFraction () const
 
int getCellIndex (int i) const
 
float getCellAmplitudeFraction (int i) const
 
bool getIsExotic () const
 
void setIsExotic (bool b)
 
void setClusterTime (float time)
 
float getClusterTime () const
 
int getIndMaxInput () const
 
void setIndMaxInput (const int ind)
 
float getCoreEnergy () const
 
void setCoreEnergy (float energy)
 
TLorentzVector getMomentum (std::array< const float, 3 > vertexPosition) const
 

Protected Member Functions

 ClassDefNV (AnalysisCluster, 1)
 

Protected Attributes

std::vector< intmLabels
 TODO to replace later by o2::MCLabel when implementing the MC handling.
 
int mNCells = 0
 Number of cells in cluster.
 
std::vector< unsigned shortmCellsIndices
 Array of cell indices contributing to this cluster.
 
std::vector< float > mCellsAmpFraction
 
math_utils::Point3D< float > mGlobalPos
 Position in global coordinate system (cm).
 
math_utils::Point3D< float > mLocalPos
 Local position in the sub-detector coordinate.
 
float mEnergy = 0
 Energy measured by calorimeter in GeV.
 
float mCoreEnergy = 0.
 Energy in a shower core.
 
float mDispersion = 0
 Cluster shape dispersion.
 
float mChi2 = 0
 Chi2 of cluster fit (unfolded clusters)
 
float mM20 = 0
 2-nd moment along the second eigen axis.
 
float mM02 = 0
 2-nd moment along the main eigen axis.
 
float mEmcCpvDistance = 1024
 the distance from PHOS EMC rec.point to the closest CPV rec.point.
 
float mTrackDx = 1024
 Distance to closest track in phi.
 
float mTrackDz = 1024
 Distance to closest track in z.
 
float mDistToBadChannel = 1024
 Distance to nearest bad channel.
 
int mID = 0
 Unique Id of the cluster.
 
unsigned char mNExMax = 0
 Number of Local (Ex-)maxima before unfolding.
 
float mTime = 0.
 Time of the digit/cell with maximal energy deposition.
 
bool mIsExotic = false
 ! Cluster marked as "exotic" (high energy deposition concentrated in a single cell)
 
int mInputIndMax = -1
 index of digit/cell with max energy
 

Detailed Description

Cluster class for kinematic cluster parameters

ported from AliVCluster in AliRoot.

Author
Hadi Hassan hadi..nosp@m.hass.nosp@m.an@ce.nosp@m.rn.c.nosp@m.h, Oak Ridge National Laboratory
Since
March 05, 2020

Definition at line 36 of file AnalysisCluster.h.

Constructor & Destructor Documentation

◆ AnalysisCluster() [1/2]

o2::emcal::AnalysisCluster::AnalysisCluster ( )
default

◆ ~AnalysisCluster()

o2::emcal::AnalysisCluster::~AnalysisCluster ( )
default

◆ AnalysisCluster() [2/2]

o2::emcal::AnalysisCluster::AnalysisCluster ( const AnalysisCluster clus)
default

Member Function Documentation

◆ Chi2()

float o2::emcal::AnalysisCluster::Chi2 ( ) const
inline

Definition at line 85 of file AnalysisCluster.h.

◆ ClassDefNV()

o2::emcal::AnalysisCluster::ClassDefNV ( AnalysisCluster  ,
 
)
protected

◆ clear()

void AnalysisCluster::clear ( )

Definition at line 23 of file AnalysisCluster.cxx.

◆ E()

float o2::emcal::AnalysisCluster::E ( ) const
inline

Definition at line 82 of file AnalysisCluster.h.

◆ getCellAmplitudeFraction()

float o2::emcal::AnalysisCluster::getCellAmplitudeFraction ( int  i) const
inline

Definition at line 157 of file AnalysisCluster.h.

◆ getCellIndex()

int o2::emcal::AnalysisCluster::getCellIndex ( int  i) const
inline

Definition at line 148 of file AnalysisCluster.h.

◆ getCellsAmplitudeFraction()

const std::vector< float > & o2::emcal::AnalysisCluster::getCellsAmplitudeFraction ( ) const
inline

Definition at line 146 of file AnalysisCluster.h.

◆ getCellsIndices()

const std::vector< unsigned short > & o2::emcal::AnalysisCluster::getCellsIndices ( ) const
inline

Definition at line 136 of file AnalysisCluster.h.

◆ getClusterTime()

float o2::emcal::AnalysisCluster::getClusterTime ( ) const
inline

Definition at line 174 of file AnalysisCluster.h.

◆ getCoreEnergy()

float o2::emcal::AnalysisCluster::getCoreEnergy ( ) const
inline

Definition at line 182 of file AnalysisCluster.h.

◆ getDispersion()

float o2::emcal::AnalysisCluster::getDispersion ( ) const
inline

Definition at line 102 of file AnalysisCluster.h.

◆ getDistanceToBadChannel()

float o2::emcal::AnalysisCluster::getDistanceToBadChannel ( ) const
inline

Definition at line 124 of file AnalysisCluster.h.

◆ getEmcCpvDistance()

float o2::emcal::AnalysisCluster::getEmcCpvDistance ( ) const
inline

Definition at line 114 of file AnalysisCluster.h.

◆ getGlobalPosition()

math_utils::Point3D< float > o2::emcal::AnalysisCluster::getGlobalPosition ( ) const
inline

Definition at line 90 of file AnalysisCluster.h.

◆ getID()

int o2::emcal::AnalysisCluster::getID ( ) const
inline

Definition at line 79 of file AnalysisCluster.h.

◆ getIndMaxInput()

int o2::emcal::AnalysisCluster::getIndMaxInput ( ) const
inline

Definition at line 179 of file AnalysisCluster.h.

◆ getIsExotic()

bool o2::emcal::AnalysisCluster::getIsExotic ( ) const
inline

Definition at line 166 of file AnalysisCluster.h.

◆ getLocalPosition()

math_utils::Point3D< float > o2::emcal::AnalysisCluster::getLocalPosition ( ) const
inline

Definition at line 96 of file AnalysisCluster.h.

◆ getM02()

float o2::emcal::AnalysisCluster::getM02 ( ) const
inline

Definition at line 108 of file AnalysisCluster.h.

◆ getM20()

float o2::emcal::AnalysisCluster::getM20 ( ) const
inline

Definition at line 105 of file AnalysisCluster.h.

◆ getMomentum()

TLorentzVector AnalysisCluster::getMomentum ( std::array< const float, 3 >  vertexPosition) const

Returns TLorentzVector with momentum of the cluster. Only valid for clusters identified as photons or pi0 (overlapped gamma) produced on the vertex Vertex can be recovered with esd pointer doing:

Definition at line 32 of file AnalysisCluster.cxx.

◆ getNCells()

int o2::emcal::AnalysisCluster::getNCells ( ) const
inline

Definition at line 127 of file AnalysisCluster.h.

◆ getNExMax()

unsigned char o2::emcal::AnalysisCluster::getNExMax ( ) const
inline

Definition at line 111 of file AnalysisCluster.h.

◆ getTrackDx()

float o2::emcal::AnalysisCluster::getTrackDx ( ) const
inline

Definition at line 120 of file AnalysisCluster.h.

◆ getTrackDz()

float o2::emcal::AnalysisCluster::getTrackDz ( ) const
inline

Definition at line 121 of file AnalysisCluster.h.

◆ operator=()

AnalysisCluster & o2::emcal::AnalysisCluster::operator= ( const AnalysisCluster source)
default

◆ setCellsAmplitudeFraction()

void o2::emcal::AnalysisCluster::setCellsAmplitudeFraction ( const std::vector< float > &  array)
inline

Set the array of cell amplitude fractions. Cell can be shared between 2 clusters, here the fraction of energy assigned to each cluster is stored. Only in unfolded clusters.

Definition at line 142 of file AnalysisCluster.h.

◆ setCellsIndices()

void o2::emcal::AnalysisCluster::setCellsIndices ( const std::vector< unsigned short > &  array)
inline

Set the array of cell indices.

Definition at line 131 of file AnalysisCluster.h.

◆ setChi2()

void o2::emcal::AnalysisCluster::setChi2 ( float  chi2)
inline

Definition at line 84 of file AnalysisCluster.h.

◆ setClusterTime()

void o2::emcal::AnalysisCluster::setClusterTime ( float  time)
inline

Definition at line 169 of file AnalysisCluster.h.

◆ setCoreEnergy()

void o2::emcal::AnalysisCluster::setCoreEnergy ( float  energy)
inline

Definition at line 183 of file AnalysisCluster.h.

◆ setDispersion()

void o2::emcal::AnalysisCluster::setDispersion ( float  disp)
inline

Definition at line 101 of file AnalysisCluster.h.

◆ setDistanceToBadChannel()

void o2::emcal::AnalysisCluster::setDistanceToBadChannel ( float  dist)
inline

Definition at line 123 of file AnalysisCluster.h.

◆ setE()

void o2::emcal::AnalysisCluster::setE ( float  ene)
inline

Definition at line 81 of file AnalysisCluster.h.

◆ setEmcCpvDistance()

void o2::emcal::AnalysisCluster::setEmcCpvDistance ( float  dEmcCpv)
inline

Definition at line 113 of file AnalysisCluster.h.

◆ setGlobalPosition()

void AnalysisCluster::setGlobalPosition ( math_utils::Point3D< float >  x)

Set the cluster global position.

Definition at line 54 of file AnalysisCluster.cxx.

◆ setID()

void o2::emcal::AnalysisCluster::setID ( int  id)
inline

Definition at line 78 of file AnalysisCluster.h.

◆ setIndMaxInput()

void o2::emcal::AnalysisCluster::setIndMaxInput ( const int  ind)
inline

Definition at line 180 of file AnalysisCluster.h.

◆ setIsExotic()

void o2::emcal::AnalysisCluster::setIsExotic ( bool  b)
inline

Definition at line 167 of file AnalysisCluster.h.

◆ setLocalPosition()

void AnalysisCluster::setLocalPosition ( math_utils::Point3D< float >  x)

Definition at line 62 of file AnalysisCluster.cxx.

◆ setM02()

void o2::emcal::AnalysisCluster::setM02 ( float  m02)
inline

Definition at line 107 of file AnalysisCluster.h.

◆ setM20()

void o2::emcal::AnalysisCluster::setM20 ( float  m20)
inline

Definition at line 104 of file AnalysisCluster.h.

◆ setNCells()

void o2::emcal::AnalysisCluster::setNCells ( int  n)
inline

Definition at line 126 of file AnalysisCluster.h.

◆ setNExMax()

void o2::emcal::AnalysisCluster::setNExMax ( unsigned char  nExMax)
inline

Definition at line 110 of file AnalysisCluster.h.

◆ setTrackDistance()

void o2::emcal::AnalysisCluster::setTrackDistance ( float  dx,
float  dz 
)
inline

Definition at line 115 of file AnalysisCluster.h.

Member Data Documentation

◆ mCellsAmpFraction

std::vector<float> o2::emcal::AnalysisCluster::mCellsAmpFraction
protected

Array with cell amplitudes fraction. Only usable for unfolded clusters, where cell can be shared. here we store what fraction of the cell energy is assigned to a given cluster.

Definition at line 202 of file AnalysisCluster.h.

◆ mCellsIndices

std::vector<unsigned short> o2::emcal::AnalysisCluster::mCellsIndices
protected

Array of cell indices contributing to this cluster.

Definition at line 198 of file AnalysisCluster.h.

◆ mChi2

float o2::emcal::AnalysisCluster::mChi2 = 0
protected

Chi2 of cluster fit (unfolded clusters)

Definition at line 209 of file AnalysisCluster.h.

◆ mCoreEnergy

float o2::emcal::AnalysisCluster::mCoreEnergy = 0.
protected

Energy in a shower core.

Definition at line 207 of file AnalysisCluster.h.

◆ mDispersion

float o2::emcal::AnalysisCluster::mDispersion = 0
protected

Cluster shape dispersion.

Definition at line 208 of file AnalysisCluster.h.

◆ mDistToBadChannel

float o2::emcal::AnalysisCluster::mDistToBadChannel = 1024
protected

Distance to nearest bad channel.

Definition at line 218 of file AnalysisCluster.h.

◆ mEmcCpvDistance

float o2::emcal::AnalysisCluster::mEmcCpvDistance = 1024
protected

the distance from PHOS EMC rec.point to the closest CPV rec.point.

Definition at line 213 of file AnalysisCluster.h.

◆ mEnergy

float o2::emcal::AnalysisCluster::mEnergy = 0
protected

Energy measured by calorimeter in GeV.

Definition at line 206 of file AnalysisCluster.h.

◆ mGlobalPos

math_utils::Point3D<float> o2::emcal::AnalysisCluster::mGlobalPos
protected

Position in global coordinate system (cm).

Definition at line 204 of file AnalysisCluster.h.

◆ mID

int o2::emcal::AnalysisCluster::mID = 0
protected

Unique Id of the cluster.

Definition at line 220 of file AnalysisCluster.h.

◆ mInputIndMax

int o2::emcal::AnalysisCluster::mInputIndMax = -1
protected

index of digit/cell with max energy

Definition at line 227 of file AnalysisCluster.h.

◆ mIsExotic

bool o2::emcal::AnalysisCluster::mIsExotic = false
protected

! Cluster marked as "exotic" (high energy deposition concentrated in a single cell)

Definition at line 225 of file AnalysisCluster.h.

◆ mLabels

std::vector<int> o2::emcal::AnalysisCluster::mLabels
protected

TODO to replace later by o2::MCLabel when implementing the MC handling.

List of MC particles that generated the cluster, ordered in deposited energy.

Definition at line 193 of file AnalysisCluster.h.

◆ mLocalPos

math_utils::Point3D<float> o2::emcal::AnalysisCluster::mLocalPos
protected

Local position in the sub-detector coordinate.

Definition at line 205 of file AnalysisCluster.h.

◆ mM02

float o2::emcal::AnalysisCluster::mM02 = 0
protected

2-nd moment along the main eigen axis.

Definition at line 211 of file AnalysisCluster.h.

◆ mM20

float o2::emcal::AnalysisCluster::mM20 = 0
protected

2-nd moment along the second eigen axis.

Definition at line 210 of file AnalysisCluster.h.

◆ mNCells

int o2::emcal::AnalysisCluster::mNCells = 0
protected

Number of cells in cluster.

Definition at line 195 of file AnalysisCluster.h.

◆ mNExMax

unsigned char o2::emcal::AnalysisCluster::mNExMax = 0
protected

Number of Local (Ex-)maxima before unfolding.

Definition at line 221 of file AnalysisCluster.h.

◆ mTime

float o2::emcal::AnalysisCluster::mTime = 0.
protected

Time of the digit/cell with maximal energy deposition.

Definition at line 223 of file AnalysisCluster.h.

◆ mTrackDx

float o2::emcal::AnalysisCluster::mTrackDx = 1024
protected

Distance to closest track in phi.

Definition at line 215 of file AnalysisCluster.h.

◆ mTrackDz

float o2::emcal::AnalysisCluster::mTrackDz = 1024
protected

Distance to closest track in z.

Definition at line 216 of file AnalysisCluster.h.


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