AliRoot Core  3dc7879 (3dc7879)
AliEMCALClusterizerNxN Class Reference

Create clusters of maximum size NxM. More...

#include <AliEMCALClusterizerNxN.h>

Inheritance diagram for AliEMCALClusterizerNxN:

Public Member Functions

 AliEMCALClusterizerNxN ()
 Default constructor. More...
 
 AliEMCALClusterizerNxN (AliEMCALGeometry *geometry)
 
 AliEMCALClusterizerNxN (AliEMCALGeometry *geometry, AliEMCALCalibData *calib, AliEMCALCalibTime *calibt, AliCaloCalibPedestal *pedestal)
 
virtual ~AliEMCALClusterizerNxN ()
 Destructtor. More...
 
virtual Int_t AreNeighbours (AliEMCALDigit *d1, AliEMCALDigit *d2, Bool_t &shared) const
 
virtual void Digits2Clusters (Option_t *option)
 
virtual const char * Version () const
 
void SetNRowDiff (Int_t nd)
 
void SetNColDiff (Int_t nd)
 
Int_t GetNRowDiff () const
 
Int_t GetNColDiff () const
 
void SetEnergyGrad (Bool_t b)
 
Bool_t GetEnergyGrad () const
 
- Public Member Functions inherited from AliEMCALClusterizer
 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 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 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 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 ()
 Make clusters. More...
 

Private Member Functions

 AliEMCALClusterizerNxN (const AliEMCALClusterizerNxN &)
 
AliEMCALClusterizerNxNoperator= (const AliEMCALClusterizerNxN &)
 

Private Attributes

Int_t fNRowDiff
 How many neighbors to consider along row (phi) More...
 
Int_t fNColDiff
 How many neighbors to consider along col (eta) More...
 
Bool_t fEnergyGrad
 If true only cluster if neighboring cell has less energy. More...
 

Additional Inherited Members

- Protected Attributes inherited from AliEMCALClusterizer
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...
 

Detailed Description

Create clusters of maximum size NxM.

This class derives from AliEMCALClusterizer but also keeps the API of AliEMCALClusterizerv1 Algorithm:

  1. pick the most energetic cell
  2. assign it as a center of the cluster and add cells surrounding it: 3x3, 5x5...
  3. remove the cells contributing to the cluster
  4. start from 1 for the remaining clusters
  5. cluster splitting (not implemented yet) - use the shape analysis to resolve the energy sharing
  • for high energy clusters check the surrounding of the 3x3 clusters for extra energy (merge 3x3 clusters and resolve the internal energy sharing - case for 2 clusters merged) Use Case: root [0] AliEMCALClusterizerNxN * cl = new AliEMCALClusterizerNxN("galice.root") Warning in <TDatabasePDG::TDatabasePDG>: object already instantiated //reads gAlice from header file "..." root [1] cl->ExecuteTask() //finds RecPoints in all events stored in galice.root root [2] cl->SetDigitsBranch("digits2") //sets another title for Digitis (input) branch root [3] cl->SetRecPointsBranch("recp2") //sets another title four output branches root [4] cl->SetTowerLocalMaxCut(0.03) //set clusterization parameters root [5] cl->ExecuteTask("deb all time") //once more finds RecPoints options are // deb - print number of found rec points // deb all - print number of found RecPoints and some their characteristics // time - print benchmarking results
Author
Mateusz Ploskon, LBNL

Definition at line 46 of file AliEMCALClusterizerNxN.h.

Constructor & Destructor Documentation

AliEMCALClusterizerNxN::AliEMCALClusterizerNxN ( )

Default constructor.

Definition at line 47 of file AliEMCALClusterizerNxN.cxx.

Referenced by GetEnergyGrad().

AliEMCALClusterizerNxN::AliEMCALClusterizerNxN ( AliEMCALGeometry geometry)

Constructor

Parameters
geometryEMCal geometry pointer

Definition at line 56 of file AliEMCALClusterizerNxN.cxx.

AliEMCALClusterizerNxN::AliEMCALClusterizerNxN ( 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 68 of file AliEMCALClusterizerNxN.cxx.

AliEMCALClusterizerNxN::~AliEMCALClusterizerNxN ( )
virtual

Destructtor.

Definition at line 79 of file AliEMCALClusterizerNxN.cxx.

AliEMCALClusterizerNxN::AliEMCALClusterizerNxN ( const AliEMCALClusterizerNxN )
private

Member Function Documentation

Int_t AliEMCALClusterizerNxN::AreNeighbours ( AliEMCALDigit d1,
AliEMCALDigit d2,
Bool_t &  shared 
) const
virtual

Gives the neighbourness of two digits = 0 are not neighbour ; continue searching = 1 are neighbour = 2 is in different SM; continue searching In case it is in different SM, but same phi rack, check if neigbours at eta=0 neighbours are defined as digits having at least a common side The order of d1 and d2 is important: first (d1) should be a digit already in a cluster which is compared to a digit (d2) not yet in a cluster

Definition at line 158 of file AliEMCALClusterizerNxN.cxx.

Referenced by MakeClusters().

void AliEMCALClusterizerNxN::Digits2Clusters ( Option_t *  option)
virtual

Steering method to perform clusterization for the current event in AliEMCALLoader

Implements AliEMCALClusterizer.

Definition at line 86 of file AliEMCALClusterizerNxN.cxx.

Bool_t AliEMCALClusterizerNxN::GetEnergyGrad ( ) const
inlinevirtual

Reimplemented from AliEMCALClusterizer.

Definition at line 71 of file AliEMCALClusterizerNxN.h.

Int_t AliEMCALClusterizerNxN::GetNColDiff ( ) const
inlinevirtual

Reimplemented from AliEMCALClusterizer.

Definition at line 68 of file AliEMCALClusterizerNxN.h.

Int_t AliEMCALClusterizerNxN::GetNRowDiff ( ) const
inlinevirtual

Reimplemented from AliEMCALClusterizer.

Definition at line 67 of file AliEMCALClusterizerNxN.h.

void AliEMCALClusterizerNxN::MakeClusters ( )
protectedvirtual

Make clusters.

Implements AliEMCALClusterizer.

Definition at line 219 of file AliEMCALClusterizerNxN.cxx.

Referenced by Digits2Clusters(), and GetEnergyGrad().

AliEMCALClusterizerNxN& AliEMCALClusterizerNxN::operator= ( const AliEMCALClusterizerNxN )
private

Referenced by GetEnergyGrad().

void AliEMCALClusterizerNxN::SetEnergyGrad ( Bool_t  b)
inlinevirtual

Reimplemented from AliEMCALClusterizer.

Definition at line 70 of file AliEMCALClusterizerNxN.h.

void AliEMCALClusterizerNxN::SetNColDiff ( Int_t  nd)
inlinevirtual

Reimplemented from AliEMCALClusterizer.

Definition at line 65 of file AliEMCALClusterizerNxN.h.

void AliEMCALClusterizerNxN::SetNRowDiff ( Int_t  nd)
inlinevirtual

Reimplemented from AliEMCALClusterizer.

Definition at line 64 of file AliEMCALClusterizerNxN.h.

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

Reimplemented from AliEMCALClusterizer.

Definition at line 62 of file AliEMCALClusterizerNxN.h.

Member Data Documentation

Bool_t AliEMCALClusterizerNxN::fEnergyGrad
private

If true only cluster if neighboring cell has less energy.

Definition at line 84 of file AliEMCALClusterizerNxN.h.

Referenced by AreNeighbours(), GetEnergyGrad(), and SetEnergyGrad().

Int_t AliEMCALClusterizerNxN::fNColDiff
private

How many neighbors to consider along col (eta)

Definition at line 83 of file AliEMCALClusterizerNxN.h.

Referenced by AreNeighbours(), GetNColDiff(), and SetNColDiff().

Int_t AliEMCALClusterizerNxN::fNRowDiff
private

How many neighbors to consider along row (phi)

Definition at line 82 of file AliEMCALClusterizerNxN.h.

Referenced by AreNeighbours(), GetNRowDiff(), and SetNRowDiff().


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