AliRoot Core  3dc7879 (3dc7879)
AliEMCALClusterizer Class Referenceabstract

Base class for the clusterization algorithm (pure abstract) More...

#include <AliEMCALClusterizer.h>

Inheritance diagram for AliEMCALClusterizer:

Public Member Functions

 AliEMCALClusterizer ()
 Default Constructor. More...
 
 AliEMCALClusterizer (AliEMCALGeometry *geometry)
 
 AliEMCALClusterizer (AliEMCALGeometry *geometry, AliEMCALCalibData *calib, AliEMCALCalibTime *calibt, AliCaloCalibPedestal *pedestal)
 
virtual ~AliEMCALClusterizer ()
 
virtual void DeleteDigits ()
 Free the digits array. More...
 
virtual void DeleteRecPoints ()
 Free the cluster array. More...
 
virtual void Digits2Clusters (Option_t *option)=0
 
virtual void Calibrate (Float_t &amp, Float_t &time, const Int_t cellId)
 
virtual void Init ()
 
virtual void InitParameters ()
 Initializes the parameters for the Clusterizer from AliEMCALReconstructor::GetRecParam(). More...
 
virtual void InitParameters (const AliEMCALRecParam *recParam)
 
virtual void Print (Option_t *option) const
 Print clusterizer parameters. More...
 
virtual void PrintRecPoints (Option_t *option)
 
virtual void PrintRecoInfo ()
 Print reco version. More...
 
virtual const char * Version () const
 
virtual void SetInput (TTree *digitsTree)
 Read the digits from the input tree. More...
 
virtual void SetOutput (TTree *clustersTree)
 Set the tree with output clusters. More...
 
virtual void GetCalibrationParameters (void)
 
virtual void GetCaloCalibPedestal (void)
 
virtual void SetCalibrationParameters (AliEMCALCalibData *calib)
 
virtual void SetTimeCalibrationParameters (AliEMCALCalibTime *calib)
 
virtual void SetCaloCalibPedestal (AliCaloCalibPedestal *caped)
 
virtual Float_t GetTimeMin () const
 
virtual Float_t GetTimeMax () const
 
virtual Float_t GetTimeCut () const
 
virtual Float_t IsTimeCalibrationOn () const
 
virtual Float_t GetECAClusteringThreshold () const
 
virtual Float_t GetECALocalMaxCut () const
 
virtual Float_t GetECALogWeight () const
 
virtual Float_t GetMinECut () const
 
virtual Bool_t GetRejectBelowThreshold () const
 
virtual void SetTimeMin (Float_t t)
 
virtual void SetTimeMax (Float_t t)
 
virtual void SetTimeCut (Float_t t)
 
virtual void SetTimeCalibration (Bool_t t)
 
virtual void SetECAClusteringThreshold (Float_t th)
 
virtual void SetMinECut (Float_t mine)
 
virtual void SetECALocalMaxCut (Float_t cut)
 
virtual void SetECALogWeight (Float_t w)
 
virtual void SetRejectBelowThreshold (Bool_t reject)
 
virtual void SetUnfolding (Bool_t toUnfold=kTRUE)
 
virtual void SetSSPars (Int_t ipar, Double_t par)
 
virtual void SetPar5 (Int_t ipar, Double_t par)
 
virtual void SetPar6 (Int_t ipar, Double_t par)
 
virtual void InitClusterUnfolding ()
 
virtual void SetNRowDiff (Int_t)
 
virtual void SetNColDiff (Int_t)
 
virtual void SetEnergyGrad (Bool_t)
 
virtual Int_t GetNRowDiff () const
 
virtual Int_t GetNColDiff () const
 
virtual Bool_t GetEnergyGrad () const
 
virtual void SetDigitsArr (TClonesArray *arr)
 
virtual TClonesArray * GetDigits ()
 
virtual const TObjArrayGetRecPoints () const
 
void SetInputCalibrated (Bool_t val)
 Flag to indicate that input is calibrated - the case when we run already on ESD. More...
 
void SetJustClusters (Bool_t val)
 

Protected Member Functions

virtual void MakeClusters ()=0
 

Protected Attributes

Bool_t fIsInputCalibrated
 to enable reclusterization from ESD cells More...
 
Bool_t fJustClusters
 false for standard reco More...
 
TClonesArray * fDigitsArr
 array with EMCAL digits More...
 
TTree * fTreeR
 tree with output clusters More...
 
TObjArrayfRecPoints
 array with EMCAL clusters More...
 
AliEMCALGeometryfGeom
 ! pointer to geometry for utilities More...
 
AliEMCALCalibDatafCalibData
 ! energy calibration database if aval More...
 
AliEMCALCalibTimefCalibTime
 ! time calibration database if aval More...
 
AliCaloCalibPedestalfCaloPed
 ! tower status map if aval More...
 
Float_t fADCchannelECA
 width of one ADC channel for EC section (GeV) More...
 
Float_t fADCpedestalECA
 pedestal of ADC for EC section (GeV) More...
 
Float_t fTimeECA
 calibration parameter for channels time More...
 
Float_t fTimeMin
 minimum time of physical signal in a cell/digit More...
 
Float_t fTimeMax
 maximum time of physical signal in a cell/digit More...
 
Float_t fTimeCut
 maximum time difference between the digits inside EMC cluster More...
 
Bool_t fTimeCalibration
 recover time shifts from OCDB? More...
 
Bool_t fDefaultInit
 ! says if the task was created by defaut ctor (only parameters are initialized) More...
 
Bool_t fToUnfold
 says if unfolding should be performed More...
 
Int_t fNumberOfECAClusters
 number of clusters found in EC section More...
 
Float_t fECAClusteringThreshold
 minimum energy to seed a EC digit in a cluster More...
 
Float_t fECALocMaxCut
 minimum energy difference to distinguish local maxima in a cluster More...
 
Float_t fECAW0
 logarithmic weight for the cluster center of gravity calculation More...
 
Float_t fMinECut
 minimum energy for a digit to be a member of a cluster More...
 
Bool_t fRejectBelowThreshold
 split (false-default) or reject (true) cell energy below threshold after UF More...
 
AliEMCALUnfoldingfClusterUnfolding
 ! pointer to unfolding object More...
 
Double_t fSSPars [8]
 shower shape parameters More...
 
Double_t fPar5 [3]
 shower shape parameter 5 More...
 
Double_t fPar6 [3]
 shower shape parameter 6 More...
 

Private Member Functions

 AliEMCALClusterizer (const AliEMCALClusterizer &)
 
AliEMCALClusterizeroperator= (const AliEMCALClusterizer &)
 

Detailed Description

Base class for the clusterization algorithm (pure abstract)

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

Author
: Yves Schutz (SUBATECH)
Dmitri Peressounko (SUBATECH & Kurchatov Institute)

Definition at line 32 of file AliEMCALClusterizer.h.

Constructor & Destructor Documentation

AliEMCALClusterizer::AliEMCALClusterizer ( )

Default Constructor.

Definition at line 56 of file AliEMCALClusterizer.cxx.

AliEMCALClusterizer::AliEMCALClusterizer ( AliEMCALGeometry geometry)

Constructor with the indication of the file where header Tree and digits Tree are stored. Use this contructor to avoid usage of Init() which uses runloader. Change needed by HLT - MP. Note for the future: the use on runloader should be avoided or optional at least. Another way is to make Init virtual and protected at least such that the deriving classes can overload Init();

Parameters
geometryEMCal geometry pointer

Definition at line 86 of file AliEMCALClusterizer.cxx.

AliEMCALClusterizer::AliEMCALClusterizer ( AliEMCALGeometry geometry,
AliEMCALCalibData calib,
AliEMCALCalibTime calibt,
AliCaloCalibPedestal caloped 
)

Constructor, geometry and calibration are initialized elsewhere.

Parameters
geometryEMCal geometry pointer
calibEMCal energy calibration container
calibtEMCal time calibration container
calopedEMCal bad map container

Definition at line 127 of file AliEMCALClusterizer.cxx.

AliEMCALClusterizer::~AliEMCALClusterizer ( )
virtual

Destructtor

Already deleted in AliEMCALReconstructor.

Definition at line 166 of file AliEMCALClusterizer.cxx.

AliEMCALClusterizer::AliEMCALClusterizer ( const AliEMCALClusterizer )
private

Member Function Documentation

void AliEMCALClusterizer::Calibrate ( Float_t &  amp,
Float_t &  time,
const Int_t  absId 
)
virtual

Convert digitized amplitude into energy, calibrate time Calibration parameters are taken from OCDB : OCDB/EMCAL/Calib/Data Return energy with default parameters if calibration is not available

Parameters
ampcell energy input and calibrated output
timecell time input and calibrated output
absIdcell absolute ID number

Definition at line 214 of file AliEMCALClusterizer.cxx.

Referenced by AliEMCALReconstructor::FillESD(), AliEMCALClusterizerv2::MakeClusters(), AliEMCALClusterizerv1::MakeClusters(), AliEMCALClusterizerFixedWindow::MakeClusters(), AliEMCALClusterizerNxN::MakeClusters(), and AliEMCALClusterizerv3::MakeClusters().

void AliEMCALClusterizer::DeleteDigits ( )
virtual

Free the digits array.

Definition at line 194 of file AliEMCALClusterizer.cxx.

Referenced by ~AliEMCALClusterizer().

void AliEMCALClusterizer::DeleteRecPoints ( )
virtual

Free the cluster array.

Definition at line 180 of file AliEMCALClusterizer.cxx.

Referenced by AliEMCALReconstructor::Reconstruct(), and ~AliEMCALClusterizer().

virtual void AliEMCALClusterizer::Digits2Clusters ( Option_t *  option)
pure virtual
void AliEMCALClusterizer::GetCalibrationParameters ( void  )
virtual

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");

Definition at line 300 of file AliEMCALClusterizer.cxx.

Referenced by AliEMCALClusterizerFixedWindow::Digits2Clusters(), AliEMCALClusterizerv1::Digits2Clusters(), AliEMCALClusterizerNxN::Digits2Clusters(), and Version().

void AliEMCALClusterizer::GetCaloCalibPedestal ( void  )
virtual

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");

Definition at line 340 of file AliEMCALClusterizer.cxx.

Referenced by AliEMCALClusterizerFixedWindow::Digits2Clusters(), AliEMCALClusterizerv1::Digits2Clusters(), AliEMCALClusterizerNxN::Digits2Clusters(), and Version().

virtual TClonesArray* AliEMCALClusterizer::GetDigits ( )
inlinevirtual

Definition at line 119 of file AliEMCALClusterizer.h.

virtual Float_t AliEMCALClusterizer::GetECAClusteringThreshold ( ) const
inlinevirtual

Definition at line 77 of file AliEMCALClusterizer.h.

virtual Float_t AliEMCALClusterizer::GetECALocalMaxCut ( ) const
inlinevirtual

Definition at line 78 of file AliEMCALClusterizer.h.

virtual Float_t AliEMCALClusterizer::GetECALogWeight ( ) const
inlinevirtual

Definition at line 79 of file AliEMCALClusterizer.h.

virtual Bool_t AliEMCALClusterizer::GetEnergyGrad ( ) const
inlinevirtual

Reimplemented in AliEMCALClusterizerNxN.

Definition at line 114 of file AliEMCALClusterizer.h.

virtual Float_t AliEMCALClusterizer::GetMinECut ( ) const
inlinevirtual

Definition at line 80 of file AliEMCALClusterizer.h.

virtual Int_t AliEMCALClusterizer::GetNColDiff ( ) const
inlinevirtual

Reimplemented in AliEMCALClusterizerNxN.

Definition at line 113 of file AliEMCALClusterizer.h.

virtual Int_t AliEMCALClusterizer::GetNRowDiff ( ) const
inlinevirtual

Reimplemented in AliEMCALClusterizerNxN.

Definition at line 112 of file AliEMCALClusterizer.h.

virtual const TObjArray* AliEMCALClusterizer::GetRecPoints ( ) const
inlinevirtual

Definition at line 123 of file AliEMCALClusterizer.h.

virtual Bool_t AliEMCALClusterizer::GetRejectBelowThreshold ( ) const
inlinevirtual

Definition at line 81 of file AliEMCALClusterizer.h.

virtual Float_t AliEMCALClusterizer::GetTimeCut ( ) const
inlinevirtual

Definition at line 75 of file AliEMCALClusterizer.h.

virtual Float_t AliEMCALClusterizer::GetTimeMax ( ) const
inlinevirtual

Definition at line 74 of file AliEMCALClusterizer.h.

virtual Float_t AliEMCALClusterizer::GetTimeMin ( ) const
inlinevirtual

Definition at line 73 of file AliEMCALClusterizer.h.

void AliEMCALClusterizer::Init ( void  )
virtual

Make all memory allocations which can not be done in default constructor. Attach the Clusterizer task to the list of EMCAL tasks

Definition at line 361 of file AliEMCALClusterizer.cxx.

Referenced by AliEMCALClusterizer(), and AliEMCALClusterizerv1::AliEMCALClusterizerv1().

virtual void AliEMCALClusterizer::InitClusterUnfolding ( )
inlinevirtual

Definition at line 101 of file AliEMCALClusterizer.h.

Referenced by InitParameters().

void AliEMCALClusterizer::InitParameters ( )
virtual

Initializes the parameters for the Clusterizer from AliEMCALReconstructor::GetRecParam().

Definition at line 393 of file AliEMCALClusterizer.cxx.

Referenced by AliEMCALReconstructor::Reconstruct().

void AliEMCALClusterizer::InitParameters ( const AliEMCALRecParam recParam)
virtual

Initializes the parameters for the Clusterizer

Parameters
recParamObject with reco params

Definition at line 403 of file AliEMCALClusterizer.cxx.

virtual Float_t AliEMCALClusterizer::IsTimeCalibrationOn ( ) const
inlinevirtual

Definition at line 76 of file AliEMCALClusterizer.h.

virtual void AliEMCALClusterizer::MakeClusters ( )
protectedpure virtual
AliEMCALClusterizer& AliEMCALClusterizer::operator= ( const AliEMCALClusterizer )
private
void AliEMCALClusterizer::Print ( Option_t *  option) const
virtual
void AliEMCALClusterizer::PrintRecoInfo ( )
virtual

Print reco version.

Definition at line 573 of file AliEMCALClusterizer.cxx.

void AliEMCALClusterizer::PrintRecPoints ( Option_t *  option)
virtual

Prints list of RecPoints produced at the current pass of AliEMCALClusterizer

Parameters
optionflag the parameters to print

Definition at line 516 of file AliEMCALClusterizer.cxx.

Referenced by AliEMCALClusterizerFixedWindow::Digits2Clusters(), AliEMCALClusterizerv1::Digits2Clusters(), and AliEMCALClusterizerNxN::Digits2Clusters().

virtual void AliEMCALClusterizer::SetCalibrationParameters ( AliEMCALCalibData calib)
inlinevirtual

Definition at line 69 of file AliEMCALClusterizer.h.

virtual void AliEMCALClusterizer::SetCaloCalibPedestal ( AliCaloCalibPedestal caped)
inlinevirtual

Definition at line 71 of file AliEMCALClusterizer.h.

virtual void AliEMCALClusterizer::SetDigitsArr ( TClonesArray *  arr)
inlinevirtual

Definition at line 118 of file AliEMCALClusterizer.h.

virtual void AliEMCALClusterizer::SetECAClusteringThreshold ( Float_t  th)
inlinevirtual

Definition at line 88 of file AliEMCALClusterizer.h.

virtual void AliEMCALClusterizer::SetECALocalMaxCut ( Float_t  cut)
inlinevirtual

Definition at line 90 of file AliEMCALClusterizer.h.

virtual void AliEMCALClusterizer::SetECALogWeight ( Float_t  w)
inlinevirtual

Definition at line 91 of file AliEMCALClusterizer.h.

virtual void AliEMCALClusterizer::SetEnergyGrad ( Bool_t  )
inlinevirtual

Reimplemented in AliEMCALClusterizerNxN.

Definition at line 110 of file AliEMCALClusterizer.h.

void AliEMCALClusterizer::SetInput ( TTree *  digitsTree)
virtual

Read the digits from the input tree.

Definition at line 581 of file AliEMCALClusterizer.cxx.

Referenced by AliEMCALReconstructor::Reconstruct(), and Version().

void AliEMCALClusterizer::SetInputCalibrated ( Bool_t  val)

Flag to indicate that input is calibrated - the case when we run already on ESD.

Definition at line 618 of file AliEMCALClusterizer.cxx.

Referenced by GetRecPoints().

void AliEMCALClusterizer::SetJustClusters ( Bool_t  val)

Flag to indicate that we are running on ESDs, when calling rp->EvalAll(fECAW0,fDigitsArr,fJustClusters); in derived classes

Definition at line 627 of file AliEMCALClusterizer.cxx.

Referenced by GetRecPoints().

virtual void AliEMCALClusterizer::SetMinECut ( Float_t  mine)
inlinevirtual

Definition at line 89 of file AliEMCALClusterizer.h.

virtual void AliEMCALClusterizer::SetNColDiff ( Int_t  )
inlinevirtual

Reimplemented in AliEMCALClusterizerNxN.

Definition at line 109 of file AliEMCALClusterizer.h.

Referenced by InitParameters().

virtual void AliEMCALClusterizer::SetNRowDiff ( Int_t  )
inlinevirtual

Reimplemented in AliEMCALClusterizerNxN.

Definition at line 108 of file AliEMCALClusterizer.h.

Referenced by InitParameters().

void AliEMCALClusterizer::SetOutput ( TTree *  clustersTree)
virtual

Set the tree with output clusters.

Definition at line 600 of file AliEMCALClusterizer.cxx.

Referenced by AliEMCALReconstructor::Reconstruct(), and Version().

virtual void AliEMCALClusterizer::SetPar5 ( Int_t  ipar,
Double_t  par 
)
inlinevirtual

Definition at line 98 of file AliEMCALClusterizer.h.

virtual void AliEMCALClusterizer::SetPar6 ( Int_t  ipar,
Double_t  par 
)
inlinevirtual

Definition at line 99 of file AliEMCALClusterizer.h.

virtual void AliEMCALClusterizer::SetRejectBelowThreshold ( Bool_t  reject)
inlinevirtual

Definition at line 92 of file AliEMCALClusterizer.h.

virtual void AliEMCALClusterizer::SetSSPars ( Int_t  ipar,
Double_t  par 
)
inlinevirtual

Definition at line 97 of file AliEMCALClusterizer.h.

virtual void AliEMCALClusterizer::SetTimeCalibration ( Bool_t  t)
inlinevirtual

Definition at line 86 of file AliEMCALClusterizer.h.

virtual void AliEMCALClusterizer::SetTimeCalibrationParameters ( AliEMCALCalibTime calib)
inlinevirtual

Definition at line 70 of file AliEMCALClusterizer.h.

virtual void AliEMCALClusterizer::SetTimeCut ( Float_t  t)
inlinevirtual

Definition at line 85 of file AliEMCALClusterizer.h.

virtual void AliEMCALClusterizer::SetTimeMax ( Float_t  t)
inlinevirtual

Definition at line 84 of file AliEMCALClusterizer.h.

virtual void AliEMCALClusterizer::SetTimeMin ( Float_t  t)
inlinevirtual

Definition at line 83 of file AliEMCALClusterizer.h.

virtual void AliEMCALClusterizer::SetUnfolding ( Bool_t  toUnfold = kTRUE)
inlinevirtual

Definition at line 96 of file AliEMCALClusterizer.h.

virtual const char* AliEMCALClusterizer::Version ( void  ) const
inlinevirtual

Member Data Documentation

Float_t AliEMCALClusterizer::fADCchannelECA
protected

width of one ADC channel for EC section (GeV)

Definition at line 142 of file AliEMCALClusterizer.h.

Referenced by Calibrate().

Float_t AliEMCALClusterizer::fADCpedestalECA
protected

pedestal of ADC for EC section (GeV)

Definition at line 143 of file AliEMCALClusterizer.h.

Referenced by Calibrate().

AliEMCALCalibData* AliEMCALClusterizer::fCalibData
protected

! energy calibration database if aval

Definition at line 138 of file AliEMCALClusterizer.h.

Referenced by Calibrate(), GetCalibrationParameters(), InitParameters(), and SetCalibrationParameters().

AliEMCALCalibTime* AliEMCALClusterizer::fCalibTime
protected

! time calibration database if aval

Definition at line 139 of file AliEMCALClusterizer.h.

Referenced by Calibrate(), GetCalibrationParameters(), InitParameters(), and SetTimeCalibrationParameters().

Bool_t AliEMCALClusterizer::fDefaultInit
protected

! says if the task was created by defaut ctor (only parameters are initialized)

Definition at line 151 of file AliEMCALClusterizer.h.

Float_t AliEMCALClusterizer::fECAClusteringThreshold
protected
Float_t AliEMCALClusterizer::fECALocMaxCut
protected
Float_t AliEMCALClusterizer::fECAW0
protected
Bool_t AliEMCALClusterizer::fIsInputCalibrated
protected

to enable reclusterization from ESD cells

Definition at line 131 of file AliEMCALClusterizer.h.

Referenced by Calibrate(), GetCalibrationParameters(), GetCaloCalibPedestal(), and SetInputCalibrated().

Bool_t AliEMCALClusterizer::fJustClusters
protected
Double_t AliEMCALClusterizer::fPar5[3]
protected

shower shape parameter 5

Definition at line 163 of file AliEMCALClusterizer.h.

Referenced by AliEMCALClusterizer(), Init(), InitClusterUnfolding(), InitParameters(), Print(), and SetPar5().

Double_t AliEMCALClusterizer::fPar6[3]
protected

shower shape parameter 6

Definition at line 164 of file AliEMCALClusterizer.h.

Referenced by AliEMCALClusterizer(), Init(), InitClusterUnfolding(), InitParameters(), Print(), and SetPar6().

Bool_t AliEMCALClusterizer::fRejectBelowThreshold
protected

split (false-default) or reject (true) cell energy below threshold after UF

Definition at line 159 of file AliEMCALClusterizer.h.

Referenced by GetRejectBelowThreshold(), InitClusterUnfolding(), InitParameters(), and SetRejectBelowThreshold().

Double_t AliEMCALClusterizer::fSSPars[8]
protected

shower shape parameters

Definition at line 162 of file AliEMCALClusterizer.h.

Referenced by AliEMCALClusterizer(), Init(), InitClusterUnfolding(), InitParameters(), Print(), and SetSSPars().

Bool_t AliEMCALClusterizer::fTimeCalibration
protected

recover time shifts from OCDB?

Definition at line 149 of file AliEMCALClusterizer.h.

Referenced by Calibrate(), GetCalibrationParameters(), InitParameters(), IsTimeCalibrationOn(), and SetTimeCalibration().

Float_t AliEMCALClusterizer::fTimeCut
protected
Float_t AliEMCALClusterizer::fTimeECA
protected

calibration parameter for channels time

Definition at line 144 of file AliEMCALClusterizer.h.

Referenced by Calibrate().

Bool_t AliEMCALClusterizer::fToUnfold
protected
TTree* AliEMCALClusterizer::fTreeR
protected

The documentation for this class was generated from the following files: