]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/AliTPCCalibPedestal.h
Add new class for Pedestal Calibration (M.Ivanov, J.Wiechula)
[u/mrichter/AliRoot.git] / TPC / AliTPCCalibPedestal.h
1 #ifndef ALITPCCALIBPEDESTAL_H
2 #define ALITPCCALIBPEDESTAL_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7
8
9
10 class TObjArray;
11 class TH2F;
12 class TH2S;
13 class TH1S;
14 class TH1F;
15 class TH1D;
16 class TF1;
17 class TTreeSRedirector;
18 class AliTPCROC;
19 class AliRawReader;
20
21
22 class AliTPCCalibPedestal : public TObject {
23
24 public:
25   AliTPCCalibPedestal();
26   virtual ~AliTPCCalibPedestal();
27   
28   Bool_t ProcessEvent(AliRawReader *rawReader); 
29   Int_t Update(const Int_t isector, const Int_t iRow, const Int_t iPad,
30                const Int_t iTimeBin, const Float_t signal);
31   void Analyse();
32   //
33   AliTPCCalROC* GetCalRocPedestal (Int_t sector, Bool_t force=kFALSE);  //get calibration object - sector
34   AliTPCCalROC* GetCalRocRMS(Int_t sector, Bool_t force=kFALSE);        //get calibration object - sector
35   const TObjArray* GetCalPadPedestal (){return &fCalRocArrayPedestal;}//get calibration object
36   const TObjArray* GetCalPadRMS(){return &fCalRocArrayRMS;}           //get calibration object
37   
38   TH2S* GetHistoPedestal  (Int_t sector, Bool_t force=kFALSE);          //get refernce histogram
39   void DumpToFile(const Char_t *filename, const Char_t *dir="", const Bool_t append=kFALSE);
40   //
41   Short_t GetDebugLevel(){ return fDebugLevel; }
42   void    SetDebugLevel(Short_t debug=1){ fDebugLevel = debug;}
43
44
45   Bool_t TestEvent();  //test the fast approach to fill histogram  - used for test purposes
46
47 private:
48   Int_t fFirstTimeBin;              //  First Time bin needed for analysis
49   Int_t fLastTimeBin;               //  Last Time bin needed for analysis
50   
51   Int_t fAdcMin;                    //  min adc channel of pedestal value
52   Int_t fAdcMax;                    //  max adc channel of pedestal value
53   
54   AliTPCROC *fROC;                  //! ROC information
55   
56   TObjArray fCalRocArrayPedestal;   //  Array of AliTPCCalROC class for Time0 calibration
57   TObjArray fCalRocArrayRMS;        //  Array of AliTPCCalROC class for signal width calibration
58   
59   TObjArray fHistoPedestalArray;    //  Calibration histograms for Pedestal distribution
60   
61   TTreeSRedirector *fDebugStreamer;  //! debug streamer
62   
63   Short_t fDebugLevel;
64   //! debugging
65   
66   TH2S* GetHisto(Int_t sector, TObjArray *arr,
67                  Int_t nbinsY, Float_t ymin, Float_t ymax,
68                  Char_t *type, Bool_t force);
69     
70   AliTPCCalROC* GetCalRoc(Int_t sector, TObjArray* arr, Bool_t force);
71
72 public:
73
74
75   ClassDef(AliTPCCalibPedestal,1)
76 };
77
78
79
80 #endif
81