![]() |
AliRoot Core
3dc7879 (3dc7879)
|
Class for calorimeter cluster, EMCal and PHOS, data handling. More...
#include <AliAODCaloCluster.h>
Public Member Functions | |
AliAODCaloCluster () | |
AliAODCaloCluster (Int_t id, UInt_t nLabel, Int_t *label, Double_t energy, Double_t x[3], Double_t pid[13], Char_t ttype=kUndef, UInt_t selectInfo=0) | |
AliAODCaloCluster (Int_t id, UInt_t nLabel, Int_t *label, Float_t energy, Float_t x[3], Float_t pid[13], Char_t ttype=kUndef, UInt_t selectInfo=0) | |
virtual | ~AliAODCaloCluster () |
AliAODCaloCluster (const AliAODCaloCluster &clus) | |
AliAODCaloCluster & | operator= (const AliAODCaloCluster &clus) |
void | Clear (const Option_t *) |
Double_t | GetDistanceToBadChannel () const |
Double_t | GetDispersion () const |
Double_t | GetM20 () const |
Double_t | GetM02 () const |
Double_t | GetEmcCpvDistance () const |
Double_t | GetTrackDx (void) const |
Double_t | GetTrackDz (void) const |
UChar_t | GetNExMax () const |
Double_t | GetTOF () const |
Double_t | GetCoreEnergy () const |
Int_t | GetNTracksMatched () const |
TObject * | GetTrackMatched (Int_t i) const |
Only for AODs. More... | |
void | SetNCells (Int_t n) |
Int_t | GetNCells () const |
void | SetCellsAbsId (UShort_t *array) |
UShort_t * | GetCellsAbsId () |
void | SetCellsAmplitudeFraction (Double32_t *array) |
Double32_t * | GetCellsAmplitudeFraction () |
Int_t | GetCellAbsId (Int_t i) const |
Double_t | GetCellAmplitudeFraction (Int_t i) const |
void | SetDistanceToBadChannel (Double_t dist) |
void | SetDispersion (Double_t disp) |
void | SetM20 (Double_t m20) |
void | SetM02 (Double_t m02) |
void | SetEmcCpvDistance (Double_t emcCpvDist) |
void | SetNExMax (UChar_t nExMax) |
void | SetTOF (Double_t tof) |
void | SetTrackDistance (Double_t dx, Double_t dz) |
void | SetCoreEnergy (Double_t e) |
void | SetCaloCluster (Double_t dist=-999., Double_t disp=-1., Double_t m20=0., Double_t m02=0., Double_t emcCpvDist=-999., UShort_t nExMax=0, Double_t tof=0.) |
void | GetMomentum (TLorentzVector &p, const Double_t *vertexPosition) const |
void | GetMomentum (TLorentzVector &p, const Double_t *vertexPosition, VCluUserDefEnergy_t t) const |
void | AddTrackMatched (TObject *trk) |
void | RemoveTrackMatched (TObject *trk) |
Bool_t | HasTrackMatched (TObject *trk) const |
Double_t | GetMCEnergyFraction () const |
void | SetMCEnergyFraction (Double_t e) |
Bool_t | GetIsExotic () const |
void | SetIsExotic (Bool_t b) |
Double_t | GetUserDefEnergy (Int_t t) const |
Double_t | GetUserDefEnergy (VCluUserDefEnergy_t t) const |
void | SetUserDefEnergy (Int_t t, Double_t e) |
void | SetUserDefEnergy (VCluUserDefEnergy_t t, Double_t e) |
void | SetUserDefEnergyCorrFactor (VCluUserDefEnergy_t t, Double_t f) |
void | SetCellsMCEdepFractionMap (UInt_t *array) |
UInt_t * | GetCellsMCEdepFractionMap () const |
void | GetCellMCEdepFractionArray (Int_t cellIndex, Float_t *eDep) const |
UInt_t | PackMCEdepFraction (Float_t *eDep) const |
![]() | |
AliAODCluster () | |
AliAODCluster (Int_t id, UInt_t nLabel, Int_t *label, Double_t energy, Double_t x[3], Double_t pid[13], Char_t ttype=kUndef, UInt_t selectInfo=0) | |
AliAODCluster (Int_t id, UInt_t nLabel, Int_t *label, Float_t energy, Float_t x[3], Float_t pid[13], Char_t ttype=kUndef, UInt_t selectInfo=0) | |
virtual | ~AliAODCluster () |
AliAODCluster (const AliAODCluster &clus) | |
AliAODCluster & | operator= (const AliAODCluster &clus) |
void | Clear (const Option_t *) |
Double_t | Chi2 () const |
Double_t | E () const |
UShort_t | GetMostProbablePID () const |
const Double_t * | GetPID () const |
Int_t | GetID () const |
Int_t | GetLabel () const |
Int_t | GetLabelAt (UInt_t i) const |
Int_t * | GetLabels () const |
UInt_t | GetNLabels () const |
Bool_t | TestFilterBit (UInt_t filterBit) const |
Char_t | GetType () const |
void | GetPosition (Float_t *x) const |
Bool_t | IsEMCAL () const |
Bool_t | IsPHOS () const |
void | Print (const Option_t *opt="") const |
void | SetE (Double32_t energy) |
void | SetID (Int_t id) |
void | SetType (Char_t ttype) |
void | SetLabel (Int_t *label, UInt_t size) |
void | SetChi2 (Double_t chi2) |
void | SetPosition (Float_t *x) |
void | SetPositionAt (Float_t x, Int_t i) |
void | SetPIDAt (Float_t x, Int_t i) |
void | SetPID (const Float_t *pid) |
template<class T > | |
void | SetPIDFromESD (const T *pid) |
void | RemoveLabel () |
Double_t | GetMCEnergyFraction () const |
void | SetMCEnergyFraction (Double_t e) |
void | SetClusterMCEdepFractionFromEdepArray (Float_t *array) |
void | SetClusterMCEdepFraction (UShort_t *array) |
UShort_t * | GetClusterMCEdepFraction () const |
Float_t | GetClusterMCEdepFraction (Int_t mcIndex) const |
![]() | |
AliVCluster () | |
virtual | ~AliVCluster () |
AliVCluster (const AliVCluster &clus) | |
AliVCluster & | operator= (const AliVCluster &source) |
void | Clear (const Option_t *) |
virtual void | SetE (Double_t) |
virtual Int_t | GetTrackMatchedIndex (Int_t=0) const |
Only for ESDs. More... | |
Double_t | GetNonLinCorrEnergy () const |
void | SetNonLinCorrEnergy (Double_t e) |
Double_t | GetHadCorrEnergy () const |
void | SetHadCorrEnergy (Double_t e) |
Private Attributes | |
Double32_t | fDistToBadChannel |
Distance to nearest bad channel. More... | |
Double32_t | fDispersion |
cluster dispersion, for shape analysis. More... | |
Double32_t | fM20 |
2-nd moment along the second eigen axis. More... | |
Double32_t | fM02 |
2-nd moment along the main eigen axis. More... | |
Double32_t | fEmcCpvDistance |
The distance from PHOS EMC rec.point to the closest CPV rec.point. More... | |
Double32_t | fTrackDx |
Distance to closest track in phi. More... | |
Double32_t | fTrackDz |
Distance to closest track in z (eta). More... | |
UShort_t | fNExMax |
Number of local (Ex-)maxima before unfolding. More... | |
Double32_t | fTOF |
Cluster time-of-flight. More... | |
Double32_t | fCoreEnergy |
Energy of the core of cluster, PHOS. More... | |
TRefArray | fTracksMatched |
References to tracks close to cluster. First entry is the most likely match. More... | |
Int_t | fNCells |
Number of cells in cluster. More... | |
UShort_t * | fCellsAbsId |
Array of cluster cell absolute Id numbers. More... | |
Double32_t * | fCellsAmpFraction |
Double_t | fMCEnergyFraction |
! MC energy (embedding). More... | |
Bool_t | fIsExotic |
! Cluster marked as "exotic" (high energy deposition concentrated in a single cell). More... | |
Double_t | fUserDefEnergy [kLastUserDefEnergy+1] |
! Energy of the cluster after other higher level corrections (e.g. non-linearity, hadronic correction, ...). More... | |
UInt_t * | fCellsMCEdepFractionMap |
Array of maps (4 bits, each bit a different information) with fraction of deposited energy. More... | |
Additional Inherited Members | |
![]() | |
enum | VClu_t { kUndef = -2, kPHOSNeutral, kPHOSCharged, kEMCALClusterv1, kPMDNeutral, kPMDCharged } |
Define the type of clusters for the different calorimeters. More... | |
enum | VCluPID_t { kElectron = 0, kMuon = 1, kPion = 2, kKaon = 3, kProton = 4, kPhoton = 5, kPi0 = 6, kNeutron = 7, kKaon0 = 8, kEleCon = 9, kUnknown = 10, kCharged = 11, kNeutral = 12 } |
Define the PID types. More... | |
enum | VCluUserDefEnergy_t { kNonLinCorr = 0, kHadCorr = 1, kUserDefEnergy1 = 2, kUserDefEnergy2 = 3, kLastUserDefEnergy = 4 } |
Define the correction types. More... | |
Class for calorimeter cluster, EMCal and PHOS, data handling.
Class to access calorimeter, EMCAL and PHOS, cluster data
Definition at line 23 of file AliAODCaloCluster.h.
AliAODCaloCluster::AliAODCaloCluster | ( | ) |
Default constructor.
Definition at line 28 of file AliAODCaloCluster.cxx.
AliAODCaloCluster::AliAODCaloCluster | ( | Int_t | id, |
UInt_t | nLabel, | ||
Int_t * | label, | ||
Double_t | energy, | ||
Double_t | x[3], | ||
Double_t | pid[13], | ||
Char_t | ttype = kUndef , |
||
UInt_t | selectInfo = 0 |
||
) |
Constructor.
Definition at line 57 of file AliAODCaloCluster.cxx.
AliAODCaloCluster::AliAODCaloCluster | ( | Int_t | id, |
UInt_t | nLabel, | ||
Int_t * | label, | ||
Float_t | energy, | ||
Float_t | x[3], | ||
Float_t | pid[13], | ||
Char_t | ttype = kUndef , |
||
UInt_t | selectInfo = 0 |
||
) |
Constructor.
Definition at line 93 of file AliAODCaloCluster.cxx.
|
virtual |
Destructor.
Definition at line 129 of file AliAODCaloCluster.cxx.
AliAODCaloCluster::AliAODCaloCluster | ( | const AliAODCaloCluster & | clus | ) |
Copy constructor.
Definition at line 158 of file AliAODCaloCluster.cxx.
|
inline |
Add reference to associated track to cluster. Make sure we attach the object to correct process number.
Definition at line 120 of file AliAODCaloCluster.h.
Referenced by AliAnalysisTaskESDfilter::ConvertCaloClusters().
void AliAODCaloCluster::Clear | ( | const Option_t * | ) |
Clear array pointers.
Definition at line 143 of file AliAODCaloCluster.cxx.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 77 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 81 of file AliAODCaloCluster.h.
|
virtual |
cellIndex | position of cell in array fCellsAbsId |
eDep | Filled float array with 4 entries, each is the fraction of deposited energy by 4 most significant MC particles (GetLabels()) in a cell of the cluster. In this method, the 4 fractions stored in % values (0 to 100) in each bit of the integer fCellsMCEdepFractionMap[cellIndex] are unpacked. |
Reimplemented from AliVCluster.
Definition at line 371 of file AliAODCaloCluster.cxx.
Referenced by GetCellsMCEdepFractionMap().
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 72 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 75 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 140 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 63 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 55 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 54 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 58 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 130 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 57 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 56 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 127 of file AliAODCaloCluster.h.
|
virtual |
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: " Double_t vertex[3] ; esd->GetVertex()->GetXYZ(vertex) ; "
Reimplemented from AliVCluster.
Definition at line 289 of file AliAODCaloCluster.cxx.
Referenced by SetCaloCluster().
|
virtual |
Returns TLorentzVector with momentum of the cluster. Only valid for clusters identified as photons or pi0 (overlapped gamma) produced on the vertex Uses the user defined energy t Vertex can be recovered with esd pointer doing: " Double_t vertex[3] ; esd->GetVertex()->GetXYZ(vertex) ; "
Reimplemented from AliVCluster.
Definition at line 319 of file AliAODCaloCluster.cxx.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 69 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 61 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 65 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 62 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 59 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 60 of file AliAODCaloCluster.h.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 133 of file AliAODCaloCluster.h.
Referenced by GetMomentum().
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 134 of file AliAODCaloCluster.h.
Bool_t AliAODCaloCluster::HasTrackMatched | ( | TObject * | trk | ) | const |
Checks if the given track contributed to this cluster.
Definition at line 273 of file AliAODCaloCluster.cxx.
Referenced by RemoveTrackMatched().
AliAODCaloCluster & AliAODCaloCluster::operator= | ( | const AliAODCaloCluster & | clus | ) |
Assignment operator.
Definition at line 210 of file AliAODCaloCluster.cxx.
|
virtual |
eDep | Float array with 4 entries, each is the fraction of deposited energy by an MC particle in a cell of the cluster. |
The MC particle must correspond one of the 4 first labels in GetLabels(). This method packs the 4 floats into an integer, assigning each bit a value between 0 and 100
Reimplemented from AliVCluster.
Definition at line 392 of file AliAODCaloCluster.cxx.
Referenced by GetCellsMCEdepFractionMap().
|
inline |
Definition at line 124 of file AliAODCaloCluster.h.
|
inline |
Definition at line 98 of file AliAODCaloCluster.h.
Referenced by AliAnalysisTaskESDfilter::ConvertCaloClusters().
|
virtual |
Set the array of cell absolute Id. numbers.
Reimplemented from AliVCluster.
Definition at line 342 of file AliAODCaloCluster.cxx.
Referenced by AliAnalysisTaskESDfilter::ConvertCaloClusters(), GetNCells(), and AliEMCALAfterBurnerUF::RecPoints2Clusters().
|
virtual |
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.
Reimplemented from AliVCluster.
Definition at line 356 of file AliAODCaloCluster.cxx.
Referenced by AliAnalysisTaskESDfilter::ConvertCaloClusters(), GetCellsAbsId(), and AliEMCALAfterBurnerUF::RecPoints2Clusters().
|
virtual |
Set the array with the fraction of deposited energy in a cell belonging to the cluster by a given primary particle. Each entry of the array corresponds to the same entry in fCellsAbsId. Each entry is an integer where a maximum of 4 energy deposition fractions are encoded, each corresponding to the first 4 entries in GetLabels()
Reimplemented from AliVCluster.
Definition at line 411 of file AliAODCaloCluster.cxx.
Referenced by AliAnalysisTaskESDfilter::ConvertCaloClusters(), and SetUserDefEnergyCorrFactor().
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 96 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 89 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 88 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 92 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 131 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 91 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 90 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 128 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 68 of file AliAODCaloCluster.h.
Referenced by AliAnalysisTaskESDfilter::ConvertCaloClusters(), and AliEMCALAfterBurnerUF::RecPoints2Clusters().
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 93 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 94 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 95 of file AliAODCaloCluster.h.
Referenced by AliAnalysisTaskESDfilter::ConvertCaloClusters().
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 135 of file AliAODCaloCluster.h.
|
inlinevirtual |
Reimplemented from AliVCluster.
Definition at line 136 of file AliAODCaloCluster.h.
|
inline |
Definition at line 137 of file AliAODCaloCluster.h.
|
private |
Array of cluster cell absolute Id numbers.
Definition at line 165 of file AliAODCaloCluster.h.
Referenced by AliAODCaloCluster(), Clear(), GetCellAbsId(), GetCellsAbsId(), operator=(), SetCellsAbsId(), and ~AliAODCaloCluster().
|
private |
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 169 of file AliAODCaloCluster.h.
Referenced by AliAODCaloCluster(), Clear(), GetCellAmplitudeFraction(), GetCellsAmplitudeFraction(), operator=(), SetCellsAmplitudeFraction(), and ~AliAODCaloCluster().
|
private |
Array of maps (4 bits, each bit a different information) with fraction of deposited energy.
Definition at line 177 of file AliAODCaloCluster.h.
Referenced by AliAODCaloCluster(), Clear(), GetCellMCEdepFractionArray(), GetCellsMCEdepFractionMap(), operator=(), SetCellsMCEdepFractionMap(), and ~AliAODCaloCluster().
|
private |
Energy of the core of cluster, PHOS.
Definition at line 158 of file AliAODCaloCluster.h.
Referenced by GetCoreEnergy(), operator=(), and SetCoreEnergy().
|
private |
cluster dispersion, for shape analysis.
Definition at line 148 of file AliAODCaloCluster.h.
Referenced by GetDispersion(), operator=(), SetCaloCluster(), and SetDispersion().
|
private |
Distance to nearest bad channel.
Definition at line 147 of file AliAODCaloCluster.h.
Referenced by GetDistanceToBadChannel(), operator=(), SetCaloCluster(), and SetDistanceToBadChannel().
|
private |
The distance from PHOS EMC rec.point to the closest CPV rec.point.
Definition at line 151 of file AliAODCaloCluster.h.
Referenced by GetEmcCpvDistance(), operator=(), SetCaloCluster(), and SetEmcCpvDistance().
|
private |
! Cluster marked as "exotic" (high energy deposition concentrated in a single cell).
Definition at line 172 of file AliAODCaloCluster.h.
Referenced by GetIsExotic(), operator=(), and SetIsExotic().
|
private |
2-nd moment along the main eigen axis.
Definition at line 150 of file AliAODCaloCluster.h.
Referenced by GetM02(), operator=(), SetCaloCluster(), and SetM02().
|
private |
2-nd moment along the second eigen axis.
Definition at line 149 of file AliAODCaloCluster.h.
Referenced by GetM20(), operator=(), SetCaloCluster(), and SetM20().
|
private |
! MC energy (embedding).
Definition at line 171 of file AliAODCaloCluster.h.
Referenced by GetMCEnergyFraction(), operator=(), and SetMCEnergyFraction().
|
private |
Number of cells in cluster.
Definition at line 162 of file AliAODCaloCluster.h.
Referenced by AliAODCaloCluster(), GetCellAbsId(), GetCellAmplitudeFraction(), GetCellMCEdepFractionArray(), GetNCells(), operator=(), SetCellsAbsId(), SetCellsAmplitudeFraction(), SetCellsMCEdepFractionMap(), and SetNCells().
|
private |
Number of local (Ex-)maxima before unfolding.
Definition at line 154 of file AliAODCaloCluster.h.
Referenced by GetNExMax(), operator=(), SetCaloCluster(), and SetNExMax().
|
private |
Cluster time-of-flight.
Definition at line 157 of file AliAODCaloCluster.h.
Referenced by GetTOF(), operator=(), SetCaloCluster(), and SetTOF().
|
private |
Distance to closest track in phi.
Definition at line 152 of file AliAODCaloCluster.h.
Referenced by GetTrackDx(), operator=(), and SetTrackDistance().
|
private |
Distance to closest track in z (eta).
Definition at line 153 of file AliAODCaloCluster.h.
Referenced by GetTrackDz(), operator=(), and SetTrackDistance().
|
private |
References to tracks close to cluster. First entry is the most likely match.
Definition at line 160 of file AliAODCaloCluster.h.
Referenced by AddTrackMatched(), GetNTracksMatched(), GetTrackMatched(), HasTrackMatched(), operator=(), and RemoveTrackMatched().
|
private |
! Energy of the cluster after other higher level corrections (e.g. non-linearity, hadronic correction, ...).
Definition at line 173 of file AliAODCaloCluster.h.
Referenced by AliAODCaloCluster(), GetUserDefEnergy(), operator=(), SetUserDefEnergy(), and SetUserDefEnergyCorrFactor().