New calibration classes. They depend on TTable, so libTable.so is added to the list...
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALCalibCoefs.h
1 #ifndef ALIEMCALCALIBCOEFS_H
2 #define ALIEMCALCALIBCOEFS_H
3 /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5
6 /* $Id$ */
7
8 //_________________________________________________________________________
9 //    Table of Calibration coefficients  
10 //                  
11 //*-- Author: Aleksei Pavlinov (WSU, Detroit, USA) 
12
13 // --- ROOT system ---
14 #include <TTable.h>
15
16 // unit is GeV
17 struct  calibCoef {
18   Int_t    absId; // absolute id of cell 
19   Double_t cc;    // Calib. coef
20   Double_t eCc;   // Calib. coef. error
21 };
22
23 class TH1F;
24
25 class AliEMCALCalibCoefs : public TTable {
26  public:
27   enum EEmcalCalibType {kMC, kEQUALIZATION, kMIP, kPI0}; // type of EMCAL calibrations 
28
29   void  SetCalibMethod(Int_t var) {fCalibMethod=var;}
30   Int_t GetCalibMethod() {return fCalibMethod;}
31   calibCoef* GetRow(const int absId);
32   // Get initial Calib Data from DB
33   static AliEMCALCalibCoefs *GetCalibTableFromDb(const char *tn="CCIN");
34   static TH1F *GetHistOfCalibTableFromDb(const char *tn="CCTMP");
35   // Menu
36   void PrintTable();                 // *MENU*
37   void PrintTable(const Int_t i);    // *MENU*
38   void PrintRec(calibCoef *r);
39
40  protected:
41   Int_t fCalibMethod;  // method of calibration - EEmcalCalibType
42
43   ClassDefTable(AliEMCALCalibCoefs , calibCoef)
44   ClassDef(AliEMCALCalibCoefs,1) // Table of Calibration coefficients  
45 };
46
47 #endif // ALIEMCALCalibCoefs_H