]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/EBYE/LRC/AliLRCAnalysis.h
Fixing conventions (Andrey Ivanov)
[u/mrichter/AliRoot.git] / PWG2 / EBYE / LRC / AliLRCAnalysis.h
CommitLineData
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
27class TFile;
28class AliLRCFit;
29class TProfile;
30class TH1D;
31class TH2D;
32class TPaveText;
33class TF1;
34class math;
35class TStyle;
36
37class 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