Adding afterburner class for unfolding studies at the analysis level (Olga)
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALAfterBurnerUF.h
1 #ifndef ALIEMCALAFTERBURNERUF_H
2 #define ALIEMCALAFTERBURNERUF_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 //_________________________________________________________________________
7 //  After-burner for the EMCAL cluster unfolding algorithm
8 //
9 //  See cxx for details on how to use it
10 //
11 //  Author: Olga Driga (SUBATECH)
12 //
13
14 // --- ROOT system ---
15 class TObjArray;
16 class TClonesArray;
17
18 // --- Standard library ---
19
20 // --- AliRoot header files ---
21 class AliEMCALGeometry;
22 class AliEMCALUnfolding;
23 class AliAODCaloCells;
24
25 class AliEMCALAfterBurnerUF {
26
27   public:
28     AliEMCALAfterBurnerUF();
29     AliEMCALAfterBurnerUF(Float_t logWeight, Float_t ECALocMaxCut);
30     virtual ~AliEMCALAfterBurnerUF();
31
32   private:
33     AliEMCALAfterBurnerUF(const AliEMCALAfterBurnerUF & uf) ; // cpy ctor not needed, put here to avoid compilation warning 
34     AliEMCALAfterBurnerUF & operator = (const AliEMCALAfterBurnerUF & uf) ;//cpy assignment, put here to avoid compilation warning 
35   
36   public:
37     virtual void Init();
38     virtual void RecPoints2Clusters(TObjArray *clusArray);
39     virtual void UnfoldClusters(TObjArray *clusArray, AliAODCaloCells *cellsEMCAL);  // does the job
40
41     // getters and setters
42     virtual AliEMCALUnfolding *GetClusterUnfoldingInstance() { return fClusterUnfolding; }
43
44   protected:
45     AliEMCALGeometry  *fGeom;          // EMCAL geometry
46     Float_t            fLogWeight;     // used in AliEMCALRecPoint::EvalGlobalPosition()
47     Float_t            fECALocMaxCut;  // this amount of energy must distinguish a local maximum from its neighbours
48     TObjArray         *fRecPoints;     // cluster <=> recPoint
49     TClonesArray      *fDigitsArr;     // cell <=> digit
50
51     AliEMCALUnfolding *fClusterUnfolding;  // unfolding class instance
52
53     ClassDef(AliEMCALAfterBurnerUF,1)
54 } ;
55
56 #endif // AliEMCALAFTERBURNERUF_H