]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EMCAL/AliEMCALClusterizerNxN.h
updated files for latest survey/alignment results
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALClusterizerNxN.h
1 #ifndef ALIEMCALCLUSTERIZERNXN_H
2 #define ALIEMCALCLUSTERIZERNXN_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id: AliEMCALClusterizerNxN.h 41181 2010-05-12 13:58:06Z gconesab $ */
7
8 //_________________________________________________________________________
9 // This class derives from AliEMCALClustrerizer but also keeps the API of AliEMCALClusterizerv1
10 // Algorithm:
11 // 1. peek the most energetic cell
12 // 2. assign it as a center of the cluster and add cells surrounding it: 3x3, 5x5...
13 // 3. remove the cells contributing to the cluster
14 // 4. start from 1 for the remaining clusters
15 // 5. cluster splitting (not implemented yet) - use the shape analysis to resolve the energy sharing
16 // - for high energy clusters check the surrounding of the 3x3 clusters for extra energy 
17 // (merge 3x3 clusters and resolve the internal energy sharing - case for 2 clusters merged)
18
19 #include "AliEMCALClusterizer.h"
20 class AliEMCALRecPoint ; 
21 class AliEMCALDigit ;
22
23 class AliEMCALClusterizerNxN : public AliEMCALClusterizer {
24   
25 public:
26   
27   AliEMCALClusterizerNxN() ;         
28   AliEMCALClusterizerNxN(AliEMCALGeometry* geometry);
29   AliEMCALClusterizerNxN(AliEMCALGeometry* geometry, AliEMCALCalibData * calib, AliCaloCalibPedestal * pedestal);
30         
31   virtual ~AliEMCALClusterizerNxN()  ;
32
33   virtual Int_t   AreNeighbours(AliEMCALDigit * d1, AliEMCALDigit * d2, Bool_t & shared)const ; 
34                                // Checks if digits are in neighbour cells 
35
36   virtual void   Digits2Clusters(Option_t *option);                // Does the job
37
38   virtual const char * Version() const { return "clu-NxN" ; }  
39   
40 protected:
41
42   virtual void   MakeClusters();            
43
44 private:
45   AliEMCALClusterizerNxN(const AliEMCALClusterizerNxN &); //copy ctor
46   AliEMCALClusterizerNxN & operator = (const AliEMCALClusterizerNxN &);
47
48    ClassDef(AliEMCALClusterizerNxN,2)   // Clusterizer implementation version 1
49
50 };
51
52 #endif // AliEMCALCLUSTERIZERNXN_H