AliRsnReader:
[u/mrichter/AliRoot.git] / EMCAL / Calib / AliEMCALCell.h
1 #ifndef ALIEMCALCELL_H
2 #define ALIEMCALCELL_H
3 /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5
6 /* $Id: AliEMCALCell.h 24500 2008-03-13 23:39:38Z jklay $ */
7
8 //_________________________________________________________________________
9 //  EMCAL cell - keep everyrhing for calibration task     
10 //  Initial version was created with TDataSet staf
11 //  TObjectSet -> TFolder; Sep 6, 2007
12 //                  
13 //*-- Author: Aleksei Pavlinov (WSU, Detroit, USA) 
14
15 #include <TFolder.h>
16
17 class TList;
18 class TH1;
19 class TF1;
20 class TNtuple;
21
22 class AliEMCALCalibData;
23 class AliEMCALCalibCoefs;
24
25 class AliEMCALCell : public TFolder {
26
27  public:
28   
29   AliEMCALCell(); //default ctor
30   AliEMCALCell(const AliEMCALCell& cell); //copy ctor
31   AliEMCALCell(const Int_t absId, const char* title="EMCAL cell");
32
33   virtual ~AliEMCALCell();
34
35   AliEMCALCell & operator = (const AliEMCALCell  & /*rvalue*/) {
36     // assignement operator requested by coding convention but not
37     // needed                           
38     Fatal("operator =", "not implemented");
39     return *this;
40   };
41
42   void SetCCfromDB(AliEMCALCalibData *ccDb);  // obsolete
43   void SetCCfromCCTable(AliEMCALCalibCoefs *t);
44
45   TList*   GetHists() {return fLh;}
46   TObject* GetParent() {return fParent;}
47   void     SetParent(TObject *parent) {fParent=parent;}
48   Int_t    GetAbsId()  const {return fAbsId;}
49   Int_t    GetSupMod() const {return fSupMod;}
50   Int_t    GetModule() const {return fModule;}
51
52   Double_t GetCcIn()  const {return  fCcIn;}
53   Double_t GetCcOut() const {return  fCcOut;}
54   TF1*     GetFunction() const {return fFun;}
55
56   void FillEffMass(const Double_t mgg);
57   void FillCellNtuple(TNtuple *nt);
58
59   static void FitHist(TH1* h, const char* name="",const char* opt="");
60   // Menu
61   void FitEffMassHist(const char* opt=""); //*MENU*
62   void PrintInfo();                            //*MENU*
63  protected:
64   TObject* fParent; // parent
65   TList* fLh;       // list of hists
66   //
67   Int_t fAbsId;   // abs cell id 
68   Int_t fSupMod;  // super module number
69   Int_t fModule;  // module number inside SM
70   Int_t fPhi;     // phi number of cell inside module  
71   Int_t fEta;     // eta number of cell inside module  
72   Int_t fPhiCell; // phi number of cell SM  
73   Int_t fEtaCell; // eta number of cell SM  
74   // CC staf
75   Double_t fCcIn;  // input  cc in GeV (from Db or table
76   Double_t fCcOut; // output cc  in GeV (from fit now)
77
78   TF1*   fFun;     //! fitting function - gaus + pol2
79   //
80   TList* BookHists();
81
82   ClassDef(AliEMCALCell,1) // EMCAL cell
83     
84 };
85
86 #endif // ALIEMCALCELL_H