ROOT logo
AliRoot » EMCAL » AliEMCALClusterizer

class AliEMCALClusterizer: public TObject

  Base class for the clusterization algorithm (pure abstract)
*--
*-- Author: Yves Schutz  SUBATECH

   Clusterization mother class. Contains common methods/data members of different
   clusterizers. GCB 2010

Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~AliEMCALClusterizer()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
virtual voidCalibrate(Float_t& amp, Float_t& time, const Int_t cellId)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual voidDeleteDigits()
virtual voidDeleteRecPoints()
virtual voidDigits2Clusters(Option_t* option)
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 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 voidGetCalibrationParameters()
virtual voidGetCaloCalibPedestal()
virtual TClonesArray*GetDigits()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Float_tGetECAClusteringThreshold() const
virtual Float_tGetECALocalMaxCut() const
virtual Float_tGetECALogWeight() const
virtual Bool_tGetEnergyGrad() const
virtual const char*TObject::GetIconName() const
virtual Float_tGetMinECut() const
virtual const char*TObject::GetName() const
virtual Int_tGetNColDiff() const
virtual Int_tGetNRowDiff() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const TObjArray*GetRecPoints() const
virtual Bool_tGetRejectBelowThreshold() const
virtual Float_tGetTimeCut() const
virtual Float_tGetTimeMax() const
virtual Float_tGetTimeMin() const
virtual const char*TObject::GetTitle() 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 voidInit()
virtual voidInitClusterUnfolding()
virtual voidInitParameters()
virtual voidInitParameters(const AliEMCALRecParam* recParam)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() 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)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option) const
virtual voidPrintRecoInfo()
virtual voidPrintRecPoints(Option_t* option)
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 voidSetCalibrationParameters(AliEMCALCalibData* calib)
virtual voidSetCaloCalibPedestal(AliCaloCalibPedestal* caped)
virtual voidSetDigitsArr(TClonesArray* arr)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetECAClusteringThreshold(Float_t th)
virtual voidSetECALocalMaxCut(Float_t cut)
virtual voidSetECALogWeight(Float_t w)
virtual voidSetEnergyGrad(Bool_t)
virtual voidSetInput(TTree* digitsTree)
voidSetInputCalibrated(Bool_t val)
voidSetJustClusters(Bool_t val)
virtual voidSetMinECut(Float_t mine)
virtual voidSetNColDiff(Int_t)
virtual voidSetNRowDiff(Int_t)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetOutput(TTree* clustersTree)
virtual voidSetPar5(Int_t ipar, Double_t par)
virtual voidSetPar6(Int_t ipar, Double_t par)
virtual voidSetRejectBelowThreshold(Bool_t reject)
virtual voidSetSSPars(Int_t ipar, Double_t par)
virtual voidSetTimeCut(Float_t t)
virtual voidSetTimeMax(Float_t t)
virtual voidSetTimeMin(Float_t t)
virtual voidSetUnfolding(Bool_t toUnfold = kTRUE)
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 const char*Version() const
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
virtual voidMakeClusters()
voidTObject::MakeZombie()

Data Members

protected:
Float_tfADCchannelECAwidth of one ADC channel for EC section (GeV)
Float_tfADCpedestalECApedestal of ADC for EC section (GeV)
AliEMCALCalibData*fCalibData!calibration database if aval
AliCaloCalibPedestal*fCaloPed!tower status map if aval
AliEMCALUnfolding*fClusterUnfolding!pointer to unfolding object
Bool_tfDefaultInit!says if the task was created by defaut ctor (only parameters are initialized)
TClonesArray*fDigitsArrarray with EMCAL digits
Float_tfECAClusteringThresholdminimum energy to seed a EC digit in a cluster
Float_tfECALocMaxCutminimum energy difference to distinguish local maxima in a cluster
Float_tfECAW0logarithmic weight for the cluster center of gravity calculation
AliEMCALGeometry*fGeom!pointer to geometry for utilities
Bool_tfIsInputCalibratedto enable reclusterization from ESD cells
Bool_tfJustClustersfalse for standard reco
Float_tfMinECutminimum energy for a digit to be a member of a cluster
Int_tfNumberOfECAClustersnumber of clusters found in EC section
Double_tfPar5[3]shower shape parameter 5
Double_tfPar6[3]shower shape parameter 6
TObjArray*fRecPointsarray with EMCAL clusters
Bool_tfRejectBelowThresholdsplit (false-default) or reject (true) cell energy below threshold after UF
Double_tfSSPars[8]shower shape parameters
Float_tfTimeCutmaximum time difference between the digits inside EMC cluster
Float_tfTimeECAcalibration parameter for channels time
Float_tfTimeMaxmaximum time of physical signal in a cell/digit
Float_tfTimeMinminimum time of physical signal in a cell/digit
Bool_tfToUnfoldsays if unfolding should be performed
TTree*fTreeRtree with output clusters

Class Charts

Inheritance Chart:
TObject
AliEMCALClusterizer
AliEMCALClusterizerFixedWindow
AliEMCALClusterizerNxN
AliEMCALClusterizerv1
AliEMCALClusterizerv2

Function documentation

~AliEMCALClusterizer()
 dtor
Already deleted in AliEMCALReconstructor.
void DeleteRecPoints()
 free the cluster array
void DeleteDigits()
 free the digits array
void Calibrate(Float_t& amp, Float_t& time, const Int_t cellId)
 Convert digitized amplitude into energy, calibrate time
 Calibration parameters are taken from OCDB : OCDB/EMCAL/Calib/Data
void GetCalibrationParameters()
 Set calibration parameters:
 If calibration database exists, they are read from database,
 otherwise, they are taken from digitizer.
 It is a user responsilibity to open CDB before reconstruction,
 for example:
 AliCDBStorage* storage = AliCDBManager::Instance()->GetStorage("local://CalibDB");
void GetCaloCalibPedestal()
 Set calibration parameters:
 if calibration database exists, they are read from database,
 otherwise, they are taken from digitizer.

 It is a user responsilibity to open CDB before reconstruction,
 for example:
 AliCDBStorage* storage = AliCDBManager::Instance()->GetStorage("local://CalibDB");
void Init()
 Make all memory allocations which can not be done in default constructor.
 Attach the Clusterizer task to the list of EMCAL tasks
void InitParameters()
 Initializes the parameters for the Clusterizer from AliEMCALReconstructor::GetRecParam().
void InitParameters(const AliEMCALRecParam* recParam)
 Initializes the parameters for the Clusterizer
void Print(Option_t* option) const
 Print clusterizer parameters
void PrintRecPoints(Option_t* option)
 Prints list of RecPoints produced at the current pass of AliEMCALClusterizer
void PrintRecoInfo()
 Print reco version
void SetInput(TTree* digitsTree)
 Read the digits from the input tree
void SetOutput(TTree* clustersTree)
 Read the digits from the input tree
void SetInputCalibrated(Bool_t val)
 Flag to indicate that input is calibrated - the case when we run already on ESD
void SetJustClusters(Bool_t val)
 Flag to indicate that we are running on ESDs, when calling
 rp->EvalAll(fECAW0,fDigitsArr,fJustClusters); in derived classes
void Digits2Clusters(Option_t* option)
const char * Version() const
void SetCalibrationParameters(AliEMCALCalibData* calib)
{ fCalibData = calib; }
void SetCaloCalibPedestal(AliCaloCalibPedestal* caped)
{ fCaloPed = caped; }
Float_t GetTimeMin() const
{ return fTimeMin; }
Float_t GetTimeMax() const
{ return fTimeMax; }
Float_t GetTimeCut() const
{ return fTimeCut; }
Float_t GetECAClusteringThreshold() const
Float_t GetECALocalMaxCut() const
{ return fECALocMaxCut; }
Float_t GetECALogWeight() const
{ return fECAW0; }
Float_t GetMinECut() const
{ return fMinECut; }
Bool_t GetRejectBelowThreshold() const
void SetTimeMin(Float_t t)
{ fTimeMin = t; }
void SetTimeMax(Float_t t)
{ fTimeMax = t; }
void SetTimeCut(Float_t t)
{ fTimeCut = t; }
void SetECAClusteringThreshold(Float_t th)
void SetMinECut(Float_t mine)
{ fMinECut = mine; }
void SetECALocalMaxCut(Float_t cut)
{ fECALocMaxCut = cut; }
void SetECALogWeight(Float_t w)
{ fECAW0 = w; }
void SetRejectBelowThreshold(Bool_t reject)
{ fRejectBelowThreshold = reject; }
void SetUnfolding(Bool_t toUnfold = kTRUE)
Unfolding
{ fToUnfold = toUnfold; }
void SetSSPars(Int_t ipar, Double_t par)
{ fSSPars[ipar] = par; }
void SetPar5(Int_t ipar, Double_t par)
{ fPar5 [ipar] = par; }
void SetPar6(Int_t ipar, Double_t par)
{ fPar6 [ipar] = par; }
void InitClusterUnfolding()
void SetNRowDiff(Int_t )
NxN (only used in NxN clusterizer)
{ ; }
void SetNColDiff(Int_t )
{ ; }
void SetEnergyGrad(Bool_t )
{ ; }
Int_t GetNRowDiff() const
{ return -1 ; }
Int_t GetNColDiff() const
{ return -1 ; }
Bool_t GetEnergyGrad() const
{ return -1 ; }
void SetDigitsArr(TClonesArray* arr)
 add for clusterizing task
{ fDigitsArr = arr ; }
TClonesArray * GetDigits()
const TObjArray * GetRecPoints() const
{ return fRecPoints ; }
void MakeClusters()