]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDPreprocessorOffline.h
Add offline preprocessor for pass0 calibration (Raphaelle)
[u/mrichter/AliRoot.git] / TRD / AliTRDPreprocessorOffline.h
1 #ifndef ALITRDPREPROCESSOROFFLINE_H
2 #define ALITRDPREPROCESSOROFFLINE_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 //
9 //    Class to create OCDB entries - processing the results of the OFFLINE calibration
10 //
11
12
13 #include "TNamed.h"
14 class TObjArray;
15 class TH2I;
16 class TProfile2D;
17 class AliTRDCalibraVdriftLinearFit;
18 class TH1I;
19 class TH2F;
20
21
22 class AliTRDPreprocessorOffline:public TNamed { 
23 public:
24   enum{
25     kGain = 0,
26       kVdriftPHDet = 1,
27       kVdriftPHPad = 2,
28       kT0PHDet = 3,
29       kT0PHPad = 4,
30       kVdriftLinear = 5,
31       kLorentzLinear = 6,
32       kPRF = 7
33       };   
34   
35   AliTRDPreprocessorOffline();
36   virtual ~AliTRDPreprocessorOffline();
37
38   void SetLinearFitForVdrift(Bool_t methodsecond) { fMethodSecond = methodsecond;};
39   Bool_t GetLinearFitForVdrift() const { return fMethodSecond;};
40
41   void CalibVdriftT0(const Char_t* file, Int_t startRunNumber, Int_t endRunNumber, TString ocdbStorage="");
42   void CalibGain(const Char_t* file, Int_t startRunNumber, Int_t endRunNumber,  TString  ocdbStorage="");
43   void CalibPRF(const Char_t* file, Int_t startRunNumber, Int_t endRunNumber,  TString  ocdbStorage="");
44   
45   Bool_t ReadGainGlobal(const Char_t* fileName="CalibObjects.root");
46   Bool_t ReadVdriftT0Global(const Char_t* fileName="CalibObjects.root");
47   Bool_t ReadVdriftLinearFitGlobal(const Char_t* fileName="CalibObjects.root");
48   Bool_t ReadPRFGlobal(const Char_t* fileName="CalibObjects.root");
49
50   Bool_t AnalyzeGain(); 
51   Bool_t AnalyzeVdriftT0(); 
52   Bool_t AnalyzeVdriftLinearFit(); 
53   Bool_t AnalyzePRF(); 
54   
55   void UpdateOCDBT0(Int_t startRunNumber, Int_t endRunNumber, const char* storagePath);
56   void UpdateOCDBVdrift(Int_t startRunNumber, Int_t endRunNumber, const char* storagePath);
57   void UpdateOCDBGain(Int_t  startRunNumber, Int_t endRunNumber, const char* storagePath);
58   void UpdateOCDBPRF(Int_t  startRunNumber, Int_t endRunNumber, const char* storagePath);
59
60   
61 private:
62   Bool_t fMethodSecond;                   // Second Method for drift velocity   
63   TH2I *fCH2d;                            // Gain
64   TProfile2D *fPH2d;                      // Drift velocity first method
65   TProfile2D *fPRF2d;                     // PRF
66   AliTRDCalibraVdriftLinearFit *fAliTRDCalibraVdriftLinearFit; // Drift velocity second method
67   TH1I *fNEvents;                         // Number of events 
68   TH2F *fAbsoluteGain;                    // Absolute Gain calibration
69   TObjArray * fPlots;                     // array with some plots to check
70   TObjArray * fCalibObjects;              // array with calibration objects 
71
72
73   
74
75 private:
76   AliTRDPreprocessorOffline& operator=(const AliTRDPreprocessorOffline&); // not implemented
77   AliTRDPreprocessorOffline(const AliTRDPreprocessorOffline&); // not implemented
78   ClassDef(AliTRDPreprocessorOffline,1)
79 };
80
81 #endif