![]() |
Project
|
EMCal clusters factory Ported from class AliEMCALcluster. More...
#include <ClusterFactory.h>
Classes | |
class | CellIndexRangeException |
class | ClusterIterator |
class | ClusterRangeException |
class | GeometryNotSetException |
class | UninitLookUpTableException |
Exception handling uninitialized look up table. More... | |
Public Member Functions | |
ClusterFactory ()=default | |
Dummy constructor. | |
ClusterFactory (gsl::span< const o2::emcal::Cluster > clustersContainer, gsl::span< const InputType > inputsContainer, gsl::span< const int > cellsIndices) | |
Constructor initializing the ClusterFactory. | |
ClusterFactory (const ClusterFactory &rp)=default | |
Copy constructor. | |
ClusterFactory & | operator= (const ClusterFactory &cf)=default |
Assignment operator. | |
~ClusterFactory ()=default | |
Destructor. | |
ClusterIterator | begin () const |
Get forward start iterator. | |
ClusterIterator | end () const |
Get forward end iteration marker. | |
ClusterIterator | rbegin () const |
Get backward start iterator. | |
ClusterIterator | rend () const |
Get backward end iteration marker. | |
void | reset () |
Reset containers. | |
AnalysisCluster | buildCluster (int index, o2::emcal::ClusterLabel *clusterLabel=nullptr) const |
evaluates cluster parameters: position, shower shape, primaries ... | |
void | SetECALogWeight (Float_t w) |
float | GetECALogWeight () const |
void | doEvalLocal2tracking (bool justCluster) |
void | evalLocalPosition (gsl::span< const int > inputsIndices, AnalysisCluster &cluster) const |
Calculates the center of gravity in the local EMCAL-module coordinates. | |
void | evalGlobalPosition (gsl::span< const int > inputsIndices, AnalysisCluster &cluster) const |
Calculates the center of gravity in the global ALICE coordinates. | |
void | evalLocal2TrackingCSTransform () const |
void | evalLocalPositionFit (Double_t deff, Double_t w0, Double_t phiSlope, gsl::span< const int > inputsIndices, AnalysisCluster &cluster) const |
evaluates local position of clusters in SM | |
std::tuple< int, float, float, bool > | getMaximalEnergyIndex (gsl::span< const int > inputsIndices) const |
Finds the maximum energy in the cluster and computes the Summed amplitude of digits/cells. | |
bool | isExoticCell (short towerId, float ecell, float const exoticTime) const |
Look to cell neighbourhood and reject if it seems exotic. | |
float | getECross (short absID, float energy, float const exoticTime) const |
Calculate the energy in the cross around the energy of a given cell. | |
float | GetCellWeight (float eCell, float eCluster) const |
return weight of cell for shower shape calculation | |
int | getMultiplicityAtLevel (float level, gsl::span< const int > inputsIndices, AnalysisCluster &clusterAnalysis) const |
Calculates the multiplicity of digits/cells with energy larger than level*energy. | |
int | getSuperModuleNumber () const |
bool | sharedCluster () const |
void | setSharedCluster (bool s) |
Double_t | tMaxInCm (const Double_t e=0.0, const int key=0) const |
bool | getLookUpInit () const |
bool | getCoreRadius () const |
void | setCoreRadius (float radius) |
float | getExoticCellFraction () const |
void | setExoticCellFraction (float exoticCellFraction) |
float | getExoticCellDiffTime () const |
void | setExoticCellDiffTime (float exoticCellDiffTime) |
float | getExoticCellMinAmplitude () const |
void | setExoticCellMinAmplitude (float exoticCellMinAmplitude) |
float | getExoticCellInCrossMinAmplitude () const |
void | setExoticCellInCrossMinAmplitude (float exoticCellInCrossMinAmplitude) |
bool | getUseWeightExotic () const |
void | setUseWeightExotic (float useWeightExotic) |
void | setContainer (gsl::span< const o2::emcal::Cluster > clusterContainer, gsl::span< const InputType > cellContainer, gsl::span< const int > indicesContainer, std::optional< gsl::span< const o2::emcal::CellLabel > > cellLabelContainer=std::nullopt) |
void | setLookUpTable (void) |
int | getNumberOfClusters () const |
void | setGeometry (o2::emcal::Geometry *geometry) |
Initialize Cluster Factory with geometry. | |
Static Public Member Functions | |
static void | getDeffW0 (const Double_t esum, Double_t &deff, Double_t &w0) |
Protected Member Functions | |
void | evalCoreEnergy (gsl::span< const int > inputsIndices, AnalysisCluster &clusterAnalysis) const |
void | evalDispersion (gsl::span< const int > inputsIndices, AnalysisCluster &clusterAnalysis) const |
void | evalElipsAxis (gsl::span< const int > inputsIndices, AnalysisCluster &clusterAnalysis) const |
void | evalTime (gsl::span< const int > inputsIndices, AnalysisCluster &clusterAnalysis) const |
Time is set to the time of the digit with the maximum energy. | |
float | thetaToEta (float arg) const |
Converts Theta (Radians) to Eta (Radians) | |
float | etaToTheta (float arg) const |
Converts Eta (Radians) to Theta (Radians) | |
EMCal clusters factory Ported from class AliEMCALcluster.
Definition at line 43 of file ClusterFactory.h.
|
default |
Dummy constructor.
ClusterFactory::ClusterFactory | ( | gsl::span< const o2::emcal::Cluster > | clustersContainer, |
gsl::span< const InputType > | inputsContainer, | ||
gsl::span< const int > | cellsIndices | ||
) |
Constructor initializing the ClusterFactory.
clustersContainer | cluster container |
inputsContainer | cells/digits container |
cellsIndices | for cells/digits indices |
Definition at line 31 of file ClusterFactory.cxx.
|
default |
Copy constructor.
|
default |
Destructor.
|
inline |
o2::emcal::AnalysisCluster ClusterFactory::buildCluster | ( | int | index, |
o2::emcal::ClusterLabel * | clusterLabel = nullptr |
||
) | const |
evaluates cluster parameters: position, shower shape, primaries ...
Definition at line 50 of file ClusterFactory.cxx.
|
inline |
Definition at line 242 of file ClusterFactory.h.
|
inline |
Get forward end iteration marker.
Definition at line 222 of file ClusterFactory.h.
|
protected |
Converts Eta (Radians) to Theta (Radians)
Converts Theta (Radians) to Eta (Radians)
Definition at line 820 of file ClusterFactory.cxx.
|
protected |
This function calculates energy in the core, i.e. within a radius rad = mCoreRadius around the center. Beyond this radius in accordance with shower profile the energy deposition should be less than 2% Unfinished - Nov 15,2006 Distance is calculate in (phi,eta) units
Definition at line 464 of file ClusterFactory.cxx.
|
protected |
Calculates the dispersion of the shower at the origin of the cluster in cell units
Definition at line 141 of file ClusterFactory.cxx.
|
protected |
Calculates the axis of the shower ellipsoid in eta and phi in cell units
Definition at line 494 of file ClusterFactory.cxx.
void ClusterFactory::evalGlobalPosition | ( | gsl::span< const int > | inputsIndices, |
AnalysisCluster & | cluster | ||
) | const |
Calculates the center of gravity in the global ALICE coordinates.
Definition at line 291 of file ClusterFactory.cxx.
void o2::emcal::ClusterFactory< InputType >::evalLocal2TrackingCSTransform | ( | ) | const |
void ClusterFactory::evalLocalPosition | ( | gsl::span< const int > | inputsIndices, |
AnalysisCluster & | cluster | ||
) | const |
Calculates the center of gravity in the local EMCAL-module coordinates.
Definition at line 218 of file ClusterFactory.cxx.
void ClusterFactory::evalLocalPositionFit | ( | Double_t | deff, |
Double_t | w0, | ||
Double_t | phiSlope, | ||
gsl::span< const int > | inputsIndices, | ||
AnalysisCluster & | cluster | ||
) | const |
evaluates local position of clusters in SM
Definition at line 363 of file ClusterFactory.cxx.
|
protected |
Time is set to the time of the digit with the maximum energy.
Time is set to the time of the input with the maximum energy.
Definition at line 777 of file ClusterFactory.cxx.
float ClusterFactory::GetCellWeight | ( | float | eCell, |
float | eCluster | ||
) | const |
return weight of cell for shower shape calculation
eCell | cluster cell energy |
eCluster | cluster or cell max energy |
Definition at line 744 of file ClusterFactory.cxx.
|
inline |
Definition at line 320 of file ClusterFactory.h.
|
static |
Applied for simulation data with threshold 3 adc Calculate efective distance (deff) and weigh parameter (w0) for coordinate calculation; 0.5 GeV < esum <100 GeV. Look to: http://rhic.physics.wayne.edu/~pavlinov/ALICE/SHISHKEBAB/RES/CALIB/GEOMCORR/deffandW0VaEgamma_2.gif
Applied for simulation data with threshold 3 adc Calculate efective distance (deff) and weigh parameter (w0) for coordinate calculation; 0.5 GeV < esum <100 GeV.
Definition at line 441 of file ClusterFactory.cxx.
|
inline |
Definition at line 240 of file ClusterFactory.h.
float ClusterFactory::getECross | ( | short | absID, |
float | energy, | ||
float const | exoticTime | ||
) | const |
Calculate the energy in the cross around the energy of a given cell.
absID | controlled cell absolute ID number |
energy | cluster or cell max energy, used for weight calculation |
exoticTime | time of the cell with largest energy fraction in cluster |
Definition at line 628 of file ClusterFactory.cxx.
|
inline |
Definition at line 326 of file ClusterFactory.h.
|
inline |
Definition at line 323 of file ClusterFactory.h.
|
inline |
Definition at line 332 of file ClusterFactory.h.
|
inline |
Definition at line 329 of file ClusterFactory.h.
|
inline |
Definition at line 318 of file ClusterFactory.h.
std::tuple< int, float, float, bool > ClusterFactory::getMaximalEnergyIndex | ( | gsl::span< const int > | inputsIndices | ) | const |
Finds the maximum energy in the cluster and computes the Summed amplitude of digits/cells.
Finds the maximum energy in the cluster
inputsIndices | array for the clusters indices contributing to cluster |
Definition at line 572 of file ClusterFactory.cxx.
int ClusterFactory::getMultiplicityAtLevel | ( | float | level, |
gsl::span< const int > | inputsIndices, | ||
AnalysisCluster & | clusterAnalysis | ||
) | const |
Calculates the multiplicity of digits/cells with energy larger than level*energy.
Calculates the multiplicity of inputs with energy larger than H*energy.
Definition at line 761 of file ClusterFactory.cxx.
|
inline |
Definition at line 360 of file ClusterFactory.h.
|
inline |
Definition at line 300 of file ClusterFactory.h.
|
inline |
Definition at line 335 of file ClusterFactory.h.
bool ClusterFactory::isExoticCell | ( | short | towerId, |
float | ecell, | ||
float const | exoticTime | ||
) | const |
Look to cell neighbourhood and reject if it seems exotic.
towerId | tower ID of cell with largest energy fraction in cluster |
ecell | energy of the cell with largest energy fraction in cluster |
exoticTime | time of the cell with largest energy fraction in cluster |
Definition at line 603 of file ClusterFactory.cxx.
|
default |
Assignment operator.
|
inline |
|
inline |
Get backward end iteration marker.
Definition at line 230 of file ClusterFactory.h.
Reset containers.
Definition at line 37 of file ClusterFactory.cxx.
|
inline |
Definition at line 338 of file ClusterFactory.h.
|
inline |
Definition at line 321 of file ClusterFactory.h.
|
inline |
Definition at line 239 of file ClusterFactory.h.
|
inline |
Definition at line 327 of file ClusterFactory.h.
|
inline |
Definition at line 324 of file ClusterFactory.h.
|
inline |
Definition at line 333 of file ClusterFactory.h.
|
inline |
Definition at line 330 of file ClusterFactory.h.
|
inline |
Initialize Cluster Factory with geometry.
geometry | EMCAL geometry |
Definition at line 367 of file ClusterFactory.h.
|
inline |
Definition at line 351 of file ClusterFactory.h.
|
inline |
Definition at line 311 of file ClusterFactory.h.
|
inline |
Definition at line 336 of file ClusterFactory.h.
|
inline |
Definition at line 310 of file ClusterFactory.h.
|
protected |
Converts Theta (Radians) to Eta (Radians)
Converts Eta (Radians) to Theta (Radians)
Definition at line 829 of file ClusterFactory.cxx.
double ClusterFactory::tMaxInCm | ( | const Double_t | e = 0.0 , |
const int | key = 0 |
||
) | const |
e | energy in GeV) |
key | = 0(gamma, default); != 0(electron) |
Definition at line 796 of file ClusterFactory.cxx.