]>
Commit | Line | Data |
---|---|---|
2188af53 | 1 | /* |
2 | * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. | |
3 | * See cxx source for full Copyright notice | |
4 | * $Id$ | |
5 | */ | |
6 | ||
7 | /******************************** | |
8 | * flow analysis with cumulants * | |
9 | * * | |
10 | * author: Ante Bilandzic * | |
11 | * (anteb@nikhef.nl) * | |
12 | *******************************/ | |
13 | ||
f1d945a1 | 14 | #ifndef AliFlowAnalysisWithCumulants_H |
15 | #define AliFlowAnalysisWithCumulants_H | |
16 | ||
f1d945a1 | 17 | #include "AliFlowCommonConstants.h" |
18 | #include "AliFlowCumuConstants.h" | |
19 | ||
f1d945a1 | 20 | class TObjArray; |
2188af53 | 21 | class TList; |
22 | class TFile; | |
aaebd73d | 23 | |
2188af53 | 24 | class TH1; |
aaebd73d | 25 | class TProfile; |
26 | class TProfile2D; | |
27 | class TProfile3D; | |
28 | ||
f1d945a1 | 29 | class AliFlowEventSimple; |
30 | class AliFlowTrackSimple; | |
31 | class AliFlowCommonHist; | |
32 | class AliFlowCommonHistResults; | |
33 | class AliFlowVector; | |
34 | ||
2188af53 | 35 | //================================================================================================================ |
36 | ||
37 | class AliFlowAnalysisWithCumulants{ | |
f1d945a1 | 38 | public: |
39 | AliFlowAnalysisWithCumulants(); | |
2188af53 | 40 | virtual ~AliFlowAnalysisWithCumulants(); |
729ec982 | 41 | |
f1d945a1 | 42 | virtual void CreateOutputObjects(); |
dce74562 | 43 | virtual void Make(AliFlowEventSimple* anEvent); |
44 | virtual void Finish(); | |
1315fe58 | 45 | virtual void WriteHistograms(TString* outputFileName); |
aaebd73d | 46 | |
52021ae2 | 47 | //---------------------------------------------------------------------------------------------------------------- |
48 | // setters and getters | |
49 | //---------------------------------------------------------------------------------------------------------------- | |
2188af53 | 50 | TList* GetHistList() const {return this->fHistList;} //output histogram list |
52021ae2 | 51 | |
52 | void SetIntFlowResults(TH1D* ifr) {this->fIntFlowResultsGFC = ifr;}; | |
53 | TH1D* GetIntFlowResults() const {return this->fIntFlowResultsGFC;}; | |
54 | ||
55 | void SetDiffFlowResults2nd(TH1D* diff2nd) {this->fDiffFlowResults2ndOrderGFC = diff2nd;}; | |
56 | TH1D* GetDiffFlowResults2nd() const {return this->fDiffFlowResults2ndOrderGFC;}; | |
57 | ||
58 | void SetDiffFlowResults4th(TH1D* diff4th) {this->fDiffFlowResults4thOrderGFC = diff4th;}; | |
59 | TH1D* GetDiffFlowResults4th() const {return this->fDiffFlowResults4thOrderGFC;}; | |
60 | ||
61 | void SetDiffFlowResults6th(TH1D* diff6th) {this->fDiffFlowResults6thOrderGFC = diff6th;}; | |
62 | TH1D* GetDiffFlowResults6th() const {return this->fDiffFlowResults6thOrderGFC;}; | |
63 | ||
64 | void SetDiffFlowResults8th(TH1D* diff8th) {this->fDiffFlowResults8thOrderGFC = diff8th;}; | |
65 | TH1D* GetDiffFlowResults8th() const {return this->fDiffFlowResults8thOrderGFC;}; | |
66 | ||
67 | void SetCommonHistsResults2nd(AliFlowCommonHistResults* chr2nd) {this->fCommonHistsResults2nd = chr2nd;}; | |
68 | AliFlowCommonHistResults* GetCommonHistsResults2nd() const {return this->fCommonHistsResults2nd;}; | |
69 | ||
70 | void SetCommonHistsResults4th(AliFlowCommonHistResults* chr4th) {this->fCommonHistsResults4th = chr4th;}; | |
71 | AliFlowCommonHistResults* GetCommonHistsResults4th() const {return this->fCommonHistsResults4th;}; | |
72 | ||
73 | void SetCommonHistsResults6th(AliFlowCommonHistResults* chr6th) {this->fCommonHistsResults6th = chr6th;}; | |
74 | AliFlowCommonHistResults* GetCommonHistsResults6th() const {return this->fCommonHistsResults6th;}; | |
75 | ||
76 | void SetCommonHistsResults8th(AliFlowCommonHistResults* chr8th) {this->fCommonHistsResults8th = chr8th;}; | |
77 | AliFlowCommonHistResults* GetCommonHistsResults8th() const {return this->fCommonHistsResults8th;}; | |
78 | ||
79 | void SetIntFlowGenFun(TProfile2D* ifgf) {this->fIntFlowGenFun = ifgf;}; | |
80 | TProfile2D* GetIntFlowGenFun() const {return this->fIntFlowGenFun;}; | |
81 | ||
82 | void SetDiffFlowGenFunRe(TProfile3D* dfgfRe) {this->fDiffFlowGenFunRe = dfgfRe;}; | |
83 | TProfile3D* GetDiffFlowGenFunRe() const {return this->fDiffFlowGenFunRe;}; | |
84 | ||
85 | void SetDiffFlowGenFunIm(TProfile3D* dfgfIm) {this->fDiffFlowGenFunIm = dfgfIm;}; | |
86 | TProfile3D* GetDiffFlowGenFunIm() const {return this->fDiffFlowGenFunIm;}; | |
87 | ||
88 | void SetNumberOfParticlesPerPtBin(TProfile* nopppb) {this->fBinNoOfParticles = nopppb;}; | |
89 | TProfile* GetNumberOfParticlesPerPtBin() const {return this->fBinNoOfParticles;}; | |
90 | ||
91 | void SetAverageMultiplicity(TProfile* am) {this->fAvMultIntFlowGFC = am;}; | |
92 | TProfile* GetAverageMultiplicity() const {return this->fAvMultIntFlowGFC;}; | |
93 | ||
94 | void SetQVectorComponents(TProfile* sqvc) {this->fQVectorComponentsGFC = sqvc;}; | |
95 | TProfile* GetQVectorComponents() const {return this->fQVectorComponentsGFC;}; | |
96 | //---------------------------------------------------------------------------------------------------------------- | |
924fafb7 | 97 | |
2188af53 | 98 | private: |
99 | AliFlowAnalysisWithCumulants(const AliFlowAnalysisWithCumulants& afawc); | |
100 | AliFlowAnalysisWithCumulants& operator=(const AliFlowAnalysisWithCumulants& afawc); | |
101 | AliFlowTrackSimple* fTrack; //track | |
52021ae2 | 102 | static const Int_t fgkQmax = AliFlowCumuConstants::kQmax; //needed for numerics |
103 | static const Int_t fgkPmax = AliFlowCumuConstants::kPmax; //needed for numerics | |
104 | static const Int_t fgkFlow = AliFlowCumuConstants::kFlow; //integrated flow coefficient to be calculated | |
105 | static const Int_t fgkMltpl = AliFlowCumuConstants::kMltpl; //the multiple in p=m*n (diff. flow) | |
2188af53 | 106 | TList* fHistList; //list to hold all output histograms |
107 | ||
108 | Double_t fR0; //needed for numerics | |
109 | Double_t fPtMax; //maximum pt | |
110 | Double_t fPtMin; //minimum pt | |
111 | Double_t fBinWidth; //width of pt bin (in GeV) | |
52021ae2 | 112 | Int_t fgknBins; //number of pt bins |
f1d945a1 | 113 | |
2188af53 | 114 | Double_t fAvQx; //<Q_x> |
115 | Double_t fAvQy; //<Q_y> | |
116 | Double_t fAvQ2x; //<(Q_x)^2> | |
117 | Double_t fAvQ2y; //<(Q_y)^2> | |
118 | ||
52021ae2 | 119 | TProfile* fAvMultIntFlowGFC; //average selected multiplicity |
2188af53 | 120 | |
52021ae2 | 121 | TProfile* fQVectorComponentsGFC; //averages of Q-vector components (1st bin: <Q_x>, 2nd bin: <Q_y>, 3rd bin: <(Q_x)^2>, 4th bin: <(Q_y)^2>) |
2188af53 | 122 | |
52021ae2 | 123 | TH1D* fIntFlowResultsGFC; //integrated flow final results |
aaebd73d | 124 | |
52021ae2 | 125 | TH1D* fDiffFlowResults2ndOrderGFC; //differential flow final results (2nd order estimate) |
126 | TH1D* fDiffFlowResults4thOrderGFC; //differential flow final results (4th order estimate) | |
127 | TH1D* fDiffFlowResults6thOrderGFC; //differential flow final results (6th order estimate) | |
128 | TH1D* fDiffFlowResults8thOrderGFC; //differential flow final results (8th order estimate) | |
129 | ||
130 | AliFlowCommonHistResults* fCommonHistsResults2nd; //final results for 2nd order int. and diff. flow stored in the common histograms | |
131 | AliFlowCommonHistResults* fCommonHistsResults4th; //final results for 4th order int. and diff. flow stored in the common histograms | |
132 | AliFlowCommonHistResults* fCommonHistsResults6th; //final results for 6th order int. and diff. flow stored in the common histograms | |
133 | AliFlowCommonHistResults* fCommonHistsResults8th; //final results for 8th order int. and diff. flow stored in the common histograms | |
aaebd73d | 134 | |
2188af53 | 135 | TProfile2D* fIntFlowGenFun; //avarage of the generating function for integrated flow |
136 | TProfile3D* fDiffFlowGenFunRe; //avarage of the generating function for differential flow (real part) | |
137 | TProfile3D* fDiffFlowGenFunIm; //avarage of the generating function for differential flow (imaginary part) | |
52021ae2 | 138 | TProfile* fBinNoOfParticles; //number of particles per pt bin |
aaebd73d | 139 | |
52021ae2 | 140 | /* |
2188af53 | 141 | TProfile2D *fDiffFlowGenFunRe0,*fDiffFlowGenFunRe1,*fDiffFlowGenFunRe2,*fDiffFlowGenFunRe3;//differential flow |
142 | TProfile2D *fDiffFlowGenFunRe4,*fDiffFlowGenFunRe5,*fDiffFlowGenFunRe6,*fDiffFlowGenFunRe7;//differential flow | |
143 | TProfile2D *fDiffFlowGenFunIm0,*fDiffFlowGenFunIm1,*fDiffFlowGenFunIm2,*fDiffFlowGenFunIm3;//differential flow | |
144 | TProfile2D *fDiffFlowGenFunIm4,*fDiffFlowGenFunIm5,*fDiffFlowGenFunIm6,*fDiffFlowGenFunIm7;//differential flow | |
52021ae2 | 145 | */ |
2188af53 | 146 | |
147 | AliFlowCommonHist* fCommonHists; //common control histograms | |
2188af53 | 148 | |
f1d945a1 | 149 | ClassDef(AliFlowAnalysisWithCumulants, 0); |
150 | }; | |
2188af53 | 151 | |
152 | //================================================================================================================ | |
153 | ||
f1d945a1 | 154 | #endif |
155 | ||
156 | ||
aaebd73d | 157 | |
158 | ||
159 |