]>
Commit | Line | Data |
---|---|---|
ee08edde | 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 | ||
65bec413 | 36 | virtual void Digits2Clusters(Option_t *option); // Does the job |
ee08edde | 37 | |
ee08edde | 38 | virtual const char * Version() const { return "clu-NxN" ; } |
ee08edde | 39 | |
40 | protected: | |
41 | ||
42 | virtual void MakeClusters(); | |
43 | ||
ee08edde | 44 | private: |
45 | AliEMCALClusterizerNxN(const AliEMCALClusterizerNxN &); //copy ctor | |
46 | AliEMCALClusterizerNxN & operator = (const AliEMCALClusterizerNxN &); | |
47 | ||
b1324a01 | 48 | ClassDef(AliEMCALClusterizerNxN,2) // Clusterizer implementation version 1 |
ee08edde | 49 | |
50 | }; | |
51 | ||
52 | #endif // AliEMCALCLUSTERIZERNXN_H |