]>
Commit | Line | Data |
---|---|---|
65e5de6a | 1 | //------------------------------------------------------------------------- |
2 | // Description: | |
3 | // This class is included into LRC library for Long-Range Correlation analysis | |
4 | // it is base class for NN, PtN, PtPt | |
5 | // implements base methods for thees classes | |
6 | // Origin: Petr Naumenko, SPbSU-CERN, Petr.Naoumenko@cern.ch | |
7 | //------------------------------------------------------------------------- | |
8 | ||
9 | #ifndef ALILRCANALYSIS_H | |
10 | #define ALILRCANALYSIS_H | |
11 | ||
12 | /* See cxx source for full Copyright notice */ | |
13 | ||
14 | ||
15 | /* $Id$ */ | |
16 | ||
17 | //------------------------------------------------------------------------- | |
18 | // LRC library for Long-Range Correlation analysis | |
19 | // | |
20 | // Origin: Petr Naumenko, SPbSU-CERN, Petr.Naoumenko@cern.ch | |
21 | //------------------------------------------------------------------------- | |
22 | ||
23 | #include <TObject.h> | |
24 | ||
25 | #define N_PL_FLAGS 10 | |
26 | ||
27 | class TFile; | |
28 | class AliLRCFit; | |
29 | class TProfile; | |
30 | class TH1D; | |
31 | class TH2D; | |
32 | class TPaveText; | |
33 | class TF1; | |
34 | class math; | |
35 | class TStyle; | |
36 | ||
37 | class AliLRCAnalysis : public TObject{ | |
38 | public: | |
39 | void DrawAbs(); | |
40 | void DrawAbs( int * mas ); | |
41 | void DrawAbsPure( const int * const mas, bool drawPaveLabel ); | |
42 | void DrawRel(); | |
43 | void DrawRel( int * mas ); | |
44 | void DrawRelPure( const int * const mas, bool drawPaveLabel ); | |
45 | ||
46 | void SetXmin(double xMin); | |
47 | void SetXmax(double xMax); | |
48 | void SetBinsRange(int binMin, int binMax); | |
49 | double GetArel() const; | |
50 | double GetBrel() const; | |
51 | double GetArelError() const; | |
52 | double GetBrelError() const; | |
53 | double GetXi2rel() const; | |
54 | double GetAabs() const; | |
55 | double GetBabs() const; | |
56 | double GetAabsError() const; | |
57 | double GetBabsError() const; | |
58 | double GetXi2abs() const; | |
59 | void Calculate(); | |
60 | bool SetFitRange(double xMin, double xMax); | |
61 | void SetFullFitRange(); | |
62 | ||
63 | double GetRoundWithError( double value, double error ); | |
64 | double GetRoundWithError( double value, double error, int pres ); | |
65 | double GetRoundWithPrecision( double value, int pres ); | |
66 | ||
67 | double GetRoundValueErrorPrecision( double value, double error, int pres ) const; | |
68 | ||
69 | ||
70 | AliLRCAnalysis(); | |
71 | AliLRCAnalysis(const AliLRCAnalysis& a); | |
72 | AliLRCAnalysis& operator= (const AliLRCAnalysis& a); | |
73 | virtual ~AliLRCAnalysis(); | |
74 | ||
75 | protected: | |
76 | TH1D* fPrAbs; //Work 1d histogramm in absolute var | |
77 | TH1D* fPrRel; //Work 1d histogramm in rellation var | |
78 | TH1D* fPrf; //Forward distribution | |
79 | TH1D* fPrb; //Backward distribution | |
80 | TFile* fileHist; // File with histrogramms | |
81 | double fdptb; //Work var for error calculation | |
82 | int fEntries; //Number of bins | |
83 | double HI2(TH1D * const h, double a, double b, double xmin, double xmax) const; | |
84 | double HI2(TH1D * const h, double a, double b) const; | |
85 | double Integral(TH2D* source, int nbin) const; | |
86 | ||
87 | //Creating profile from histogramm | |
88 | void CreateHist(char *name, char *nameAbs, char *nameRel, char *atitleF, char *atitleB,char *rtitleF, char *rtitleB,TH2D* sourceHist); | |
89 | void SetGraphics() const; | |
90 | void SetErrors(TH2D* source, const char *name); | |
91 | void SetErrors(TH2D* source, const char *name, double ptd, TH2D* nb); | |
92 | void SetErrors(TH2D* source, const char *name, double ptd, TProfile* nb); | |
93 | ||
94 | private: | |
95 | char* fSx; // Title of x axis | |
96 | char* fSy; // Title of y axis | |
97 | double fxFitMin; // FitMin minimum of fit baundary | |
98 | double fxFitMax; // FitMax maximum of fit baundary | |
99 | double farel; // ax = b the a relative | |
100 | double fbrel; // ax = b the b reletive | |
101 | double farelError; // a relative error | |
102 | double fbrelError; // b reletive error | |
103 | double fXi2rel; // chi square reletive | |
104 | double faabs; // ax = b the a absolut | |
105 | double fbabs; // ax = b the b absolut | |
106 | double faabsError; // a absolut error | |
107 | double fbabsError; // b absolut error | |
108 | double fXi2abs; // chi square absolut | |
109 | ||
110 | ClassDef(AliLRCAnalysis,0); // macro for rootcint | |
111 | }; | |
112 | ||
113 | #endif | |
114 |