]>
Commit | Line | Data |
---|---|---|
da268e11 | 1 | #ifndef ALITPCPREPROCESSOROFFLINE_H |
2 | #define ALITPCPREPROCESSOROFFLINE_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 | #include "TNamed.h" | |
12 | class TObjArray; | |
13 | class AliTPCcalibTime; | |
14 | class AliTPCcalibTimeGain; | |
15 | class AliTPCROC; | |
16 | ||
17 | class AliTPCPreprocessorOffline:public TNamed { | |
18 | public: | |
19 | AliTPCPreprocessorOffline(); | |
20 | virtual ~AliTPCPreprocessorOffline(); | |
21 | void MakeAll(){;} | |
22 | void UpdateOCDBDrift(Int_t ustartRun, Int_t uendRun, const char* storagePath); | |
23 | void UpdateOCDBGain(Int_t startRunNumber, Int_t endRunNumber, const char* storagePath); | |
24 | void UpdateDriftParam(AliTPCParam *param, TObjArray *arr, Int_t startRun); | |
25 | ||
26 | // | |
27 | // v drift part | |
28 | // | |
29 | void GetRunRange(AliTPCcalibTime* timeDrift); | |
30 | void CalibTimeVdrift(Char_t* file="CalibObjectsTrain1.root", Int_t ustartRun=0, Int_t uendRun=AliCDBRunRange::Infinity(),TString ocdbStorage=""); | |
31 | void AddHistoGraphs( TObjArray * vdriftArray, AliTPCcalibTime *timeDrift, Int_t minEntries); | |
32 | void AddAlignmentGraphs( TObjArray * vdriftArray, AliTPCcalibTime *timeDrift); | |
33 | void AddLaserGraphs( TObjArray * vdriftArray, AliTPCcalibTime *timeDrift); | |
34 | void SetDefaultGraphDrift(TGraph *graph, Int_t color, Int_t style); | |
35 | void MakeDefaultPlots(TObjArray * arr, TObjArray *picArray); | |
36 | // | |
37 | // Gain part | |
38 | // | |
39 | void CalibTimeGain(Char_t* fileName, Int_t startRunNumber, Int_t endRunNumber, TString ocdbStorage); | |
40 | void ReadGainGlobal(Char_t* fileName="CalibObjectsTrain1.root"); | |
41 | void MakeQAPlot(Float_t FPtoMIPratio); | |
42 | Bool_t AnalyzeGain(Int_t startRunNumber, Int_t endRunNumber, Int_t minEntriesGaussFit = 500, Float_t FPtoMIPratio = 1.43); | |
43 | // | |
44 | // QA drawing part | |
45 | // | |
46 | static void SetPadStyle(TPad *pad, Float_t mx0, Float_t mx1, Float_t my0, Float_t my1); | |
47 | static void PrintArray(TObjArray *array); | |
48 | // | |
49 | // graph filtering part | |
50 | // | |
51 | static TGraphErrors* FilterGraphMedianAbs(TGraphErrors * graph, Float_t cut,Double_t &medianY); | |
52 | static TGraphErrors* FilterGraphDrift(TGraphErrors * graph, Float_t errSigmaCut, Float_t medianCutAbs); | |
53 | static TGraphErrors * MakeGraphFilter0(THnSparse *hisN, Int_t itime, Int_t ival, Int_t minEntries, Double_t offset=0); | |
54 | ||
55 | public: | |
56 | Int_t kMinEntries; // minimal number of entries for fit | |
57 | Int_t startRun; // start Run - used to make fast selection in THnSparse | |
58 | Int_t endRun; // end Run - used to make fast selection in THnSparse | |
59 | Int_t startTime; // startTime - used to make fast selection in THnSparse | |
60 | Int_t endTime; // endTime - used to make fast selection in THnSparse | |
61 | TString ocdbStorage; // path to the OCDB storage | |
62 | TObjArray * fVdriftArray; | |
63 | AliTPCcalibTime * fTimeDrift; | |
64 | TGraphErrors * fGraphMIP; // graph time dependence of MIP | |
65 | TGraphErrors * fGraphCosmic; // graph time dependence at Plateu | |
66 | AliSplineFit * fFitMIP; // fit of dependence - MIP | |
67 | AliSplineFit * fFitCosmic; // fit of dependence - Plateu | |
68 | TObjArray * fGainArray; // array to be stored in the OCDB | |
69 | AliTPCcalibTimeGain * fGainMIP; // calibration component for MIP | |
70 | AliTPCcalibTimeGain * fGainCosmic; // calibration component for cosmic | |
71 | ||
72 | private: | |
73 | AliTPCPreprocessorOffline& operator=(const AliTPCPreprocessorOffline&){;} // not implemented | |
74 | ClassDef(AliTPCPreprocessorOffline,1) | |
75 | }; | |
76 | ||
77 | #endif |