ROOT logo
AliRoot » PHOS » AliPHOSEmcRecPoint

class AliPHOSEmcRecPoint: public AliPHOSRecPoint

  RecPoint implementation for PHOS-EMC
  An EmcRecPoint is a cluster of digits
--
-- Author: Dmitri Peressounko (RRC KI & SUBATECH)

Function Members (Methods)

public:
AliPHOSEmcRecPoint()
AliPHOSEmcRecPoint(const char* opt)
AliPHOSEmcRecPoint(const AliPHOSEmcRecPoint& rp)
virtual~AliPHOSEmcRecPoint()
voidTObject::AbstractMethod(const char* method) const
virtual voidAddDigit(AliPHOSDigit& digit, Float_t Energy, Float_t time = 0.)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tCompare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tAliPHOSRecPoint::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidAliPHOSRecPoint::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidEvalAll(TClonesArray* digits)
virtual voidEvalAll(Float_t logWeight, TVector3& vtx, TClonesArray* digits)
voidEvalCoreEnergy(Float_t logWeight, Float_t coreRadius, TClonesArray* digits)
voidAliPHOSRecPoint::EvalLocal2TrackingCSTransform()
virtual voidAliPHOSRecPoint::EvalPHOSMod(AliPHOSDigit* digit)
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 voidExecuteEvent(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
Float_tGetCoreEnergy() const
virtual int*AliPHOSRecPoint::GetDigitsList() const
virtual Int_tAliPHOSRecPoint::GetDigitsMultiplicity() const
virtual Float_tGetDispersion() const
Float_tGetDistanceToBadCrystal() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual voidGetElipsAxis(Float_t* lambda) const
Float_t*GetEnergiesList() const
virtual Float_tAliPHOSRecPoint::GetEnergy() const
virtual Bool_tAliCluster::GetGlobalCov(Float_t* cov) const
virtual voidAliPHOSRecPoint::GetGlobalPosition(TVector3& gpos, TMatrixF& gmat) const
virtual Bool_tAliCluster::GetGlobalXYZ(Float_t* xyz) const
virtual const char*TObject::GetIconName() const
Int_tAliPHOSRecPoint::GetIndexInList() const
Int_tAliCluster::GetLabel(Int_t i) const
virtual voidAliPHOSRecPoint::GetLocalPosition(TVector3& pos) const
Float_tGetM2x() const
Float_tGetM2z() const
Float_tGetM3x() const
Float_tGetM4z() const
Float_tGetMaximalEnergy() const
Int_tGetMaximumMultiplicity() const
Int_tGetMultiplicity() const
Int_tGetMultiplicityAtLevel(Float_t level) const
virtual const char*TObject::GetName() const
Short_tGetNExMax() const
virtual Int_tGetNumberOfLocalMax(AliPHOSDigit** maxAt, Float_t* maxAtEnergy, Float_t locMaxCut, TClonesArray* digits) const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Float_tGetPhixe() const
virtual Int_tAliPHOSRecPoint::GetPHOSMod() const
virtual Int_t*AliPHOSRecPoint::GetPrimaries(Int_t& number) const
Float_tAliCluster::GetSigmaY2() const
Float_tAliCluster::GetSigmaYZ() const
Float_tAliCluster::GetSigmaZ2() const
Float_tGetTime() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
UShort_tAliCluster::GetVolumeId() const
Float_tAliCluster::GetX() const
virtual Bool_tAliCluster::GetXAlphaRefPlane(Float_t& x, Float_t& alpha) const
virtual Bool_tAliCluster::GetXRefPlane(Float_t& xref) const
Float_tAliCluster::GetY() const
Float_tAliCluster::GetZ() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
voidAliCluster::IncreaseClusterUsage()
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
Bool_tAliCluster::IsClusterShared() const
Bool_tAliCluster::IsClusterUsed() const
virtual Bool_tIsEmc() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tIsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
Bool_tAliCluster::Misalign()
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)
virtual voidAliPHOSRecPoint::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t*) const
voidPurify(Float_t threshold, const TClonesArray* digits)
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)
voidSetDistanceToBadCrystal(Float_t dist)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidAliPHOSRecPoint::SetIndexInList(Int_t val)
voidAliCluster::SetLabel(Int_t lab, Int_t i)
voidSetNExMax(Int_t nmax = 1)
static voidTObject::SetObjectStat(Bool_t stat)
voidAliCluster::SetSigmaY2(Float_t sigy2)
voidAliCluster::SetSigmaYZ(Float_t sigyz)
voidAliCluster::SetSigmaZ2(Float_t sigz2)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidAliCluster::SetVolumeId(UShort_t id)
voidAliCluster::SetX(Float_t x)
voidAliCluster::SetY(Float_t y)
voidAliCluster::SetZ(Float_t z)
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 voidAliCluster::Use(Int_t = 0)
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 Bool_tAreNeighbours(AliPHOSDigit* digit1, AliPHOSDigit* digit2) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidEvalDispersion(Float_t logWeight, TClonesArray* digits, TVector3& vInc)
virtual voidEvalElipsAxis(Float_t logWeight, TClonesArray* digits, TVector3& vInc)
virtual voidEvalLocalPosition(Float_t logWeight, TVector3& vtx, TClonesArray* digits, TVector3& vInc)
voidEvalMoments(Float_t logWeight, TClonesArray* digits, TVector3& vInc)
virtual voidEvalPrimaries(TClonesArray* digits)
voidEvalTime(TClonesArray* digits)
virtual TGeoHMatrix*AliCluster::GetMatrix(Bool_t original = kFALSE) const
virtual const TGeoHMatrix*AliCluster::GetTracking2LocalMatrix() const
voidTObject::MakeZombie()

Data Members

public:
enum AliCluster::[unnamed] { kUsed
kShared
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Float_tAliPHOSRecPoint::fAmpsummed amplitude of digits
Float_tfCoreEnergyenergy in a shower core
Int_tfDebug! debug level (0 - no output)
Int_t*AliPHOSRecPoint::fDigitsList[fMulDigit] list of digit's indexes from which the point was reconstructed
Float_tfDispersionshower dispersion
Float_tfDistToBadCrystalDistance to nearest bad crystal
Float_t*fEnergyList[fMulDigit] energy of digits
Int_tAliPHOSRecPoint::fIndexInListthe index of this RecPoint in the list stored in TreeR (to be set by analysis)
Long64_tfInstCount
Float_tfLambda[2]shower ellipse axes
TVector3AliPHOSRecPoint::fLocPoslocal position in the sub-detector coordinate
Float_tfM2xSecond moment along X axis
Float_tfM2zSecond moment along Z axis
Float_tfM3xThird moment along X axis
Float_tfM4zForth moment along Z axis
Int_tAliPHOSRecPoint::fMaxDigit! max initial size of digits array (not saved)
Int_tAliPHOSRecPoint::fMaxTrack! max initial size of tracks array (not saved)
Int_tAliPHOSRecPoint::fMulDigittotal multiplicity of digits
Int_tAliPHOSRecPoint::fMulTracktotal multiplicity of tracks to which the point was assigned
Short_tfNExMaxnumber of (Ex-)maxima before unfolding
Int_tAliPHOSRecPoint::fPHOSModPHOS Module number in which the RecPoint is found
Float_tfPhixeAngle between center-gravity vector and eigen vector
Float_tfTimeTime of the digit with maximal energy deposition
Int_t*AliPHOSRecPoint::fTracksList[fMulTrack] list of tracks to which the point was assigned
static Long64_tfgInstCount

Class Charts

Inheritance Chart:
TObject
AliCluster
AliPHOSRecPoint
AliPHOSEmcRecPoint
AliPHOSCpvRecPoint
AliPHOSEvalRecPoint

Function documentation

AliPHOSEmcRecPoint()
 ctor
AliPHOSEmcRecPoint(const char* opt)
 ctor
AliPHOSEmcRecPoint(const AliPHOSEmcRecPoint& rp)
 cpy ctor
~AliPHOSEmcRecPoint()
 dtor
void AddDigit(AliPHOSDigit& digit, Float_t Energy, Float_t time = 0.)
 Adds a digit to the RecPoint
 and accumulates the total amplitude and the multiplicity
Bool_t AreNeighbours(AliPHOSDigit* digit1, AliPHOSDigit* digit2) const
 Tells if (true) or not (false) two digits are neighbors
Int_t Compare(const TObject* obj) const
 Compares two RecPoints according to their position in the PHOS modules
void ExecuteEvent(Int_t event, Int_t px, Int_t py)
void EvalDispersion(Float_t logWeight, TClonesArray* digits, TVector3& vInc)
 Calculates the dispersion of the shower at the origine of the RecPoint
DP: should we correct dispersion for non-perpendicular hit????????
void EvalCoreEnergy(Float_t logWeight, Float_t coreRadius, TClonesArray* digits)
 This function calculates energy in the core,
 i.e. within a radius rad = 3cm around the center. Beyond this radius
 in accordance with shower profile the energy deposition
 should be less than 2%
DP: non-perpendicular incidence??????????????
void EvalElipsAxis(Float_t logWeight, TClonesArray* digits, TVector3& vInc)
 Calculates the axis of the shower ellipsoid
void EvalMoments(Float_t logWeight, TClonesArray* digits, TVector3& vInc)
 Calculate the shower moments in the eigen reference system
 M2x, M2z, M3x, M4z
 Calculate the angle between the shower position vector and the eigen vector
void EvalPrimaries(TClonesArray* digits)
 Constructs the list of primary particles (tracks) which have contributed to this RecPoint
void EvalAll(TClonesArray* digits)
   EvalCoreEnergy(logWeight, digits);
void EvalAll(Float_t logWeight, TVector3& vtx, TClonesArray* digits)
 Evaluates all shower parameters
void EvalLocalPosition(Float_t logWeight, TVector3& vtx, TClonesArray* digits, TVector3& vInc)
 Calculates the center of gravity in the local PHOS-module coordinates
Float_t GetMaximalEnergy(void)
 Finds the maximum energy in the cluster
Int_t GetMultiplicityAtLevel(Float_t level) const
 Calculates the multiplicity of digits with energy larger than H*energy
Int_t GetNumberOfLocalMax(AliPHOSDigit** maxAt, Float_t* maxAtEnergy, Float_t locMaxCut, TClonesArray* digits) const
 Calculates the number of local maxima in the cluster using fLocalMaxCut as the minimum
 energy difference between two local maxima
void EvalTime(TClonesArray* digits)
 Define a rec.point time as a time in the cell with the maximum energy
Time already evaluated during AddDigit()
void Purify(Float_t threshold, const TClonesArray* digits)
Removes digits below threshold
void Print(Option_t* ) const
 Print the list of digits belonging to the cluster
void Clear(Option_t* = "")
Float_t GetCoreEnergy() const
{return fCoreEnergy ;}
Float_t GetDispersion() const
{return fDispersion ;}
void GetElipsAxis(Float_t* lambda) const
Float_t * GetEnergiesList() const
{return fEnergyList ;}
Int_t GetMaximumMultiplicity() const
{return fMaxDigit ;}
Int_t GetMultiplicity(void)
{ return fMulDigit ; }
Short_t GetNExMax(void)
 energy above relative level
{return fNExMax ;}
void SetNExMax(Int_t nmax = 1)
 0: was no unfolging
-1: unfolding failed
{fNExMax = static_cast<Short_t>(nmax) ;}
Float_t GetTime(void)
 searches for the local maxima
returns number of local maxima in parent cluster or -2 if unfolding failed
{return fTime ; }
Bool_t IsEmc(void)
{ return kTRUE ; }
Bool_t IsSortable() const
{return kTRUE ; }
Float_t GetM2x() const
{return fM2x; }
Float_t GetM2z() const
{return fM2z; }
Float_t GetM3x() const
{return fM3x; }
Float_t GetM4z() const
{return fM4z; }
Float_t GetPhixe() const
{return fPhixe;}
Float_t GetDistanceToBadCrystal() const
void SetDistanceToBadCrystal(Float_t dist)