]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FLOW/AliFlowAnalysisWithCumulants.h
In AliMUONReconstructor:
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowAnalysisWithCumulants.h
CommitLineData
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 20class TObjArray;
2188af53 21class TList;
22class TFile;
aaebd73d 23
2188af53 24class TH1;
aaebd73d 25class TProfile;
26class TProfile2D;
27class TProfile3D;
28
f1d945a1 29class AliFlowEventSimple;
30class AliFlowTrackSimple;
31class AliFlowCommonHist;
32class AliFlowCommonHistResults;
33class AliFlowVector;
34
2188af53 35//================================================================================================================
36
37class 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