]> git.uio.no Git - u/mrichter/AliRoot.git/blob - T0/AliT0CalibTimeEq.h
correct T0 calculation for old data
[u/mrichter/AliRoot.git] / T0 / AliT0CalibTimeEq.h
1 #ifndef AliT0CalibTimeEq_H
2 #define AliT0CalibTimeEq_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 ////////////////////////////////////////////////
8 //  class for T0 calibration                 //
9 ////////////////////////////////////////////////
10
11 #include "TNamed.h"
12 #include "TH1F.h"
13
14 class AliT0CalibTimeEq: public TNamed {
15
16  public:
17   AliT0CalibTimeEq();
18   AliT0CalibTimeEq(const char* name);
19   AliT0CalibTimeEq(const AliT0CalibTimeEq &calibda);
20   AliT0CalibTimeEq& operator= (const AliT0CalibTimeEq &calibda);
21   virtual ~AliT0CalibTimeEq();
22   void Reset();
23   
24   virtual void  Print(Option_t* option= "") const; 
25   
26   Bool_t ComputeOnlineParams(const char* filePhys);
27   Int_t ComputeOfflineParams(const char* filePhys, Float_t *timecdb,Float_t *cfdcdb, Int_t badpmt);
28   Float_t  GetCFDvalue(Int_t channel,Int_t number)  const {return fCFDvalue[channel][number];}
29   Float_t* GetCFDvalue()          const {return (float*)fCFDvalue;}
30   Float_t  GetTimeEq(Int_t channel)        const {return fTimeEq[channel];}
31   Float_t* GetTimeEq()          const {return (float*)fTimeEq;}
32  
33   Float_t  GetTimeEqRms(Int_t channel)        const {return fTimeEqRms[channel];}
34
35   Float_t  GetMeanT0() const {return 1.;} // WARNING: USED IN AliT0Parameters!!!!
36    void SetCFDvalue(Int_t channel, Int_t number, Float_t val) {fCFDvalue[channel][number]=val;}
37   void SetTimeEq(Int_t channel, Float_t val) {fTimeEq[channel]=val;}
38   void  SetTimeEqRms(Int_t channel, Float_t rms)  { fTimeEqRms[channel]=rms;}
39   
40   void SetMeanVertex(Float_t mean=0) { fMeanVertex = mean; };
41   Float_t GetMeanVertex () {return fMeanVertex;};
42
43   void SetRmsVertex(Float_t rms=0) { fRmsVertex = rms; };
44   Float_t GetRmsVertex () {return fRmsVertex;};
45
46
47  protected:
48
49   void GetMeanAndSigma(TH1F* hist, Float_t &mean, Float_t &sigma); 
50   Float_t     fCFDvalue[24][5];       // CFD values
51   Float_t     fTimeEq[24];            // Time Equalized for OCDB         
52   Float_t     fTimeEqRms[24];         // RMS of Time Equalized for OCDB  
53   Float_t     fMeanVertex;            // mean of vertex distribution   
54   Float_t     fRmsVertex;            // RMS of vertex distribution   
55  
56  //
57   ClassDef(AliT0CalibTimeEq,4)    // T0 Sensor Calibration data
58 };
59
60 typedef AliT0CalibTimeEq AliSTARTCalibTimeEq; // for backward compatibility
61
62 #endif
63