ROOT logo
AliRoot » STEER » ESD » AliESDCaloCluster

class AliESDCaloCluster: public AliVCluster

           Implementation of the ESD Calorimeter cluster class
   ESD = Event Summary Data
   This is the class to deal with during the phisics analysis of data

   J.L. Klay (LLNL)

Function Members (Methods)

public:
AliESDCaloCluster()
AliESDCaloCluster(const AliESDCaloCluster& clus)
virtual~AliESDCaloCluster()
voidTObject::AbstractMethod(const char* method) const
voidAddLabels(TArrayI& array)
voidAddTracksMatched(TArrayI& array)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
virtual Double_tChi2() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClear(Option_t*)
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidCopy(TObject&) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual Double_tE() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Int_tGetCellAbsId(Int_t i) const
virtual Double_tGetCellAmplitudeFraction(Int_t i) const
virtual UShort_t*GetCellsAbsId()
virtual Double32_t*GetCellsAmplitudeFraction()
virtual Double_tGetCoreEnergy() const
virtual Double_tGetDispersion() const
virtual Double_tGetDistanceToBadChannel() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Double_tGetEmcCpvDistance() const
virtual const char*TObject::GetIconName() const
virtual Int_tGetID() const
virtual Int_tGetLabel() const
virtual Int_tGetLabelAt(UInt_t i) const
virtual Int_t*GetLabels() const
TArrayI*GetLabelsArray() const
virtual Double_tGetM02() const
virtual Double_tGetM20() const
virtual Double_tGetMCEnergyFraction() const
virtual voidGetMomentum(TLorentzVector& p, Double_t* vertexPosition) const
virtual const char*TObject::GetName() const
virtual Int_tGetNCells() const
virtual UChar_tGetNExMax() const
virtual UInt_tGetNLabels() const
virtual Int_tGetNTracksMatched() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const Double_t*GetPID() const
virtual voidGetPosition(Float_t* x) const
virtual const char*TObject::GetTitle() const
virtual Double_tGetTOF() const
virtual Double_tGetTrackDx() const
virtual Double_tGetTrackDz() const
virtual TObject*AliVCluster::GetTrackMatched(Int_t) const
virtual Int_tGetTrackMatchedIndex() const
TArrayI*GetTracksMatched() const
virtual Char_tGetType() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tIsEMCAL() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tIsPHOS() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliESDCaloCluster&operator=(const AliESDCaloCluster& source)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidSetCellsAbsId(UShort_t* array)
virtual voidSetCellsAmplitudeFraction(Double32_t* array)
virtual voidSetChi2(Double_t chi2)
virtual voidSetCoreEnergy(Double_t e)
virtual voidSetDispersion(Double_t disp)
virtual voidSetDistanceToBadChannel(Double_t dist)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetE(Double_t ene)
virtual voidSetEmcCpvDistance(Double_t dEmcCpv)
virtual voidSetID(Int_t id)
virtual voidSetLabel(Int_t* array, UInt_t size)
virtual voidSetM02(Double_t m02)
virtual voidSetM20(Double_t m20)
virtual voidSetMCEnergyFraction(Double_t e)
virtual voidSetNCells(Int_t n)
virtual voidSetNExMax(UChar_t nExMax)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetPID(const Float_t* pid)
virtual voidSetPIDAt(Float_t p, Int_t i)
virtual voidSetPosition(Float_t* x)
virtual voidSetPositionAt(Float_t pos, Int_t ipos)
virtual voidSetTOF(Double_t tof)
virtual voidSetTrackDistance(Double_t dx, Double_t dz)
virtual voidSetType(Char_t type)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

protected:
UShort_t*fCellsAbsId[fNCells] array of cell absId numbers
Double32_t*fCellsAmpFraction[fNCells][0.,1.,16] array with cell amplitudes fraction.
Double32_tfChi2chi2 of cluster fi
Char_tfClusterTypeFlag for different cluster type/versions
Double32_tfCoreEnergyenergy of the core of cluster
Double32_tfDispersioncluster dispersion, for shape analysis
Double32_tfDistToBadChannelDistance to nearest bad channel
Double32_tfEmcCpvDistancethe distance from PHOS EMC rec.point to the closest CPV rec.point
Double32_tfEnergyenergy measured by calorimeter
Double32_tfGlobalPos[3]position in global coordinate systemD
Int_tfIDUnique Id of the cluster
TArrayI*fLabelslist of primaries that generated the cluster, ordered in deposited energy.
Double32_tfM022-nd moment along the second eigen axis
Double32_tfM202-nd moment along the main eigen axis
Double_tfMCEnergyFraction!MC energy (embedding)
Int_tfNCells
UChar_tfNExMaxnumber of (Ex-)maxima before unfolding
Double32_tfPID[14][0,1,8]"detector response probabilities" (for the PID)
Double_tfTOF[0,0,12] time-of-flight
Double32_tfTrackDxDistance to closest track in phi
Double32_tfTrackDzDistance to closest track in z
TArrayI*fTracksMatchedIndex of tracks close to cluster. First entry is the most likely match.

Class Charts

Inheritance Chart:
TObject
AliVCluster
AliESDCaloCluster
AliPHOSEsdCluster

Function documentation

AliESDCaloCluster()
 The default ESD constructor

AliESDCaloCluster(const AliESDCaloCluster& clus)
 The copy constructor

AliESDCaloCluster & operator=(const AliESDCaloCluster& source)
 assignment operator
void Copy(TObject& ) const
~AliESDCaloCluster()
 This is destructor according Coding Conventions

void Clear(Option_t* )
 This is destructor according Coding Conventions

void SetPID(const Float_t* pid)
 Sets the probability of each particle type
 Copied from AliESDtrack SetPIDValues
 This function copies "n" PID weights from "scr" to "dest"
 and normalizes their sum to 1 thus producing conditional
 probabilities.
 The negative weights are set to 0.
 In case all the weights are non-positive they are replaced by
 uniform probabilities
void GetMomentum(TLorentzVector& p, Double_t* 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:
" Double_t vertex[3] ; esd->GetVertex()->GetXYZ(vertex) ; "
void SetCellsAbsId(UShort_t* array)
  Set the array of cell absId numbers
void SetCellsAmplitudeFraction(Double32_t* array)
  Set the array of cell amplitude fraction
void SetPosition(Float_t* x)
 set the position
void SetID(Int_t id)
{fID = id;}
Int_t GetID() const
{return fID;}
void SetType(Char_t type)
{ fClusterType = type; }
Char_t GetType() const
{return fClusterType; }
Bool_t IsEMCAL() const
{if(fClusterType == kEMCALClusterv1) return kTRUE; else return kFALSE;}
Bool_t IsPHOS() const
void GetPosition(Float_t* x) const
void SetPositionAt(Float_t pos, Int_t ipos)
void SetE(Double_t ene)
{ fEnergy = ene;}
Double_t E() const
{ return fEnergy;}
void SetDispersion(Double_t disp)
{ fDispersion = disp; }
Double_t GetDispersion() const
{ return fDispersion; }
void SetChi2(Double_t chi2)
{ fChi2 = chi2; }
Double_t Chi2() const
{ return fChi2; }
const Double_t * GetPID() const
for(Int_t i=0; i<AliPID::kSPECIESCN; ++i) pid[i]=fPID[i];}
{ return fPID; }
void SetPIDAt(Float_t p, Int_t i)
void SetM20(Double_t m20)
{ fM20 = m20; }
Double_t GetM20() const
{ return fM20; }
void SetM02(Double_t m02)
{ fM02 = m02; }
Double_t GetM02() const
{ return fM02; }
void SetNExMax(UChar_t nExMax)
{ fNExMax = nExMax; }
UChar_t GetNExMax() const
{ return fNExMax; }
void SetEmcCpvDistance(Double_t dEmcCpv)
{ fEmcCpvDistance = dEmcCpv; }
Double_t GetEmcCpvDistance() const
{ return fEmcCpvDistance; }
void SetTrackDistance(Double_t dx, Double_t dz)
{fTrackDx=dx; fTrackDz=dz;}
Double_t GetTrackDx(void)
{return fTrackDx;}
Double_t GetTrackDz(void)
{return fTrackDz;}
void SetDistanceToBadChannel(Double_t dist)
Double_t GetDistanceToBadChannel() const
void SetTOF(Double_t tof)
{ fTOF = tof; }
Double_t GetTOF() const
{ return fTOF; }
void AddTracksMatched(TArrayI& array)
void AddLabels(TArrayI& array)
void SetLabel(Int_t* array, UInt_t size)
TArrayI * GetTracksMatched() const
{return fTracksMatched;}
TArrayI * GetLabelsArray() const
{return fLabels;}
Int_t * GetLabels() const
{if (fLabels) return fLabels->GetArray(); else return 0;}
Int_t GetTrackMatchedIndex() const
Int_t GetLabel() const
Int_t GetLabelAt(UInt_t i) const
Int_t GetNTracksMatched() const
UInt_t GetNLabels() const
void SetNCells(Int_t n)
{ fNCells = n;}
Int_t GetNCells() const
{ return fNCells;}
UShort_t * GetCellsAbsId()
{return fCellsAbsId;}
Double32_t * GetCellsAmplitudeFraction()
Int_t GetCellAbsId(Int_t i) const
Double_t GetCellAmplitudeFraction(Int_t i) const
Double_t GetMCEnergyFraction() const
{ return fMCEnergyFraction ; }
void SetMCEnergyFraction(Double_t e)
Double_t GetCoreEnergy() const
{return fCoreEnergy ; }
void SetCoreEnergy(Double_t e)