Obsolete.
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowAnalysisWithQCumulants.h
CommitLineData
bc92c0cb 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 Q-cumulants *
9 * *
10 * author: Ante Bilandzic *
11 * (anteb@nikhef.nl) *
12 *********************************/
13
14#ifndef AliFlowAnalysisWithQCumulants_H
15#define AliFlowAnalysisWithQCumulants_H
16
17#include "AliFlowCommonConstants.h"
18
19class TObjArray;
20class TList;
21class TFile;
22
23class TH1;
24class TProfile;
25class TProfile2D;
26class TProfile3D;
27
28class AliFlowEventSimple;
29class AliFlowTrackSimple;
30class AliFlowCommonHist;
31class AliFlowCommonHistResults;
32class AliFlowVector;
33
34//================================================================================================================
35
36class AliFlowAnalysisWithQCumulants{
37 public:
38 AliFlowAnalysisWithQCumulants();
39 virtual ~AliFlowAnalysisWithQCumulants();
40
41 virtual void CreateOutputObjects();
42 virtual void Make(AliFlowEventSimple* anEvent);
43 virtual void Finish();
1315fe58 44 virtual void WriteHistograms(TString* outputFileName);
8842fb2b 45
46//----------------------------------------------------------------------------------------------------------------
47// setters and getters
48//----------------------------------------------------------------------------------------------------------------
1315fe58 49 TList* GetHistList() const {return this->fHistList;} //output histogram list
bc92c0cb 50
8842fb2b 51 void SetIntFlowResults(TH1D* ifr) {this->fIntFlowResultsQC = ifr;};
52 TH1D* GetIntFlowResults() const {return this->fIntFlowResultsQC;};
53
54 void SetDiffFlowResults2nd(TH1D* diff2nd) {this->fDiffFlowResults2ndOrderQC = diff2nd;};
55 TH1D* GetDiffFlowResults2nd() const {return this->fDiffFlowResults2ndOrderQC;};
56
57 void SetDiffFlowResults4th(TH1D* diff4th) {this->fDiffFlowResults4thOrderQC = diff4th;};
58 TH1D* GetDiffFlowResults4th() const {return this->fDiffFlowResults4thOrderQC;};
59
60 void SetCovariances(TH1D* cov) {this->fCovariances = cov;};
61 TH1D* GetCovariances() const {return this->fCovariances;};
62
63 void SetCommonHistsResults2nd(AliFlowCommonHistResults* chr2nd) {this->fCommonHistsResults2nd = chr2nd;};
64 AliFlowCommonHistResults* GetCommonHistsResults2nd() const {return this->fCommonHistsResults2nd;};
65
66 void SetCommonHistsResults4th(AliFlowCommonHistResults* chr4th) {this->fCommonHistsResults4th = chr4th;};
67 AliFlowCommonHistResults* GetCommonHistsResults4th() const {return this->fCommonHistsResults4th;};
68
69 void SetCommonHistsResults6th(AliFlowCommonHistResults* chr6th) {this->fCommonHistsResults6th = chr6th;};
70 AliFlowCommonHistResults* GetCommonHistsResults6th() const {return this->fCommonHistsResults6th;};
71
72 void SetCommonHistsResults8th(AliFlowCommonHistResults* chr8th) {this->fCommonHistsResults8th = chr8th;};
73 AliFlowCommonHistResults* GetCommonHistsResults8th() const {return this->fCommonHistsResults8th;};
74
75 void SetAverageMultiplicity(TProfile* am) {this->fAvMultIntFlowQC = am;};
76 TProfile* GetAverageMultiplicity() const {return this->fAvMultIntFlowQC;};
77
78 void SetQCorrelations(TProfile* QCorr) {this->fQCorrelations = QCorr;};
79 TProfile* GetQCorrelations() const {return this->fQCorrelations;};
80
81 void SetQProduct(TProfile* qp) {this->fQProduct = qp;};
82 TProfile* GetQProduct() const {return this->fQProduct;};
83
84 void SetQVectorComponents(TProfile* qvc) {this->fQvectorComponents = qvc;};
85 TProfile* GetQVectorComponents() const {return this->fQvectorComponents;};
86
87 void SetTwo_1n1nPerBin(TProfile* pb2_1n1n) {this->f2_1n1n = pb2_1n1n;};
88 TProfile* GetTwo_1n1nPerBin() const {return this->f2_1n1n;};
89
90 void SetTwo_2n2nPerBin(TProfile* pb2_2n2n) {this->f2_2n2n = pb2_2n2n;};
91 TProfile* GetTwo_2n2nPerBin() const {return this->f2_2n2n;};
92
93 void SetThree_2n1n1nPerBin(TProfile* pb3_2n1n1n) {this->f3_2n1n1n = pb3_2n1n1n;};
94 TProfile* GetThree_2n1n1nPerBin() const {return this->f3_2n1n1n;};
95
96 void SetThree_1n1n2nPerBin(TProfile* pb3_1n1n2n) {this->f3_1n1n2n = pb3_1n1n2n;};
97 TProfile* GetThree_1n1n2nPerBin() const {return this->f3_1n1n2n;};
98
99 void SetFour_1n1n1n1nPerBin(TProfile* pb4_1n1n1n1n) {this->f4_1n1n1n1n = pb4_1n1n1n1n;};
100 TProfile* GetFour_1n1n1n1nPerBin() const {return this->f4_1n1n1n1n;};
101
102 void SetDirectCorrelations(TProfile* dc) {this->fDirectCorrelations = dc;};
103 TProfile* GetDirectCorrelations() const {return this->fDirectCorrelations;};
104//----------------------------------------------------------------------------------------------------------------
105
bc92c0cb 106 private:
107 AliFlowAnalysisWithQCumulants(const AliFlowAnalysisWithQCumulants& afawQc);
108 AliFlowAnalysisWithQCumulants& operator=(const AliFlowAnalysisWithQCumulants& afawQc);
8842fb2b 109
110 AliFlowTrackSimple* fTrack; //track
111 TList* fHistList; //list to hold all output histograms
112 TProfile* fAvMultIntFlowQC; //average selected multiplicity (for int. flow)
bc92c0cb 113
8842fb2b 114 TProfile* fQvectorComponents; //averages of Q-vector components (1st bin: <Q_x>, 2nd bin: <Q_y>, ...)
bc92c0cb 115
8842fb2b 116 TH1D* fIntFlowResultsQC; //integrated flow results from Q-cumulants
117 TH1D* fDiffFlowResults2ndOrderQC; //differential flow results from 2nd order Q-cumulant
118 TH1D* fDiffFlowResults4thOrderQC; //differential flow results from 4th order Q-cumulant
119 TH1D* fCovariances; //final results for covariances: 1st bin: <2*4>-<2>*<4>, 2nd bin: <2*6>-<2>*<6>, ...
120
121 TProfile* fQCorrelations; //multi-particle correlations calculated from Q-vectors
122 TProfile* fQProduct; //average of products: 1st bin: <2*4>, 2nd bin: <2*6>, ...
123
124 TProfile* fDirectCorrelations; //multi-particle correlations calculated with nested loop
125
126 TProfile* fReq1n; //real part of q-vector evaluated in harmonic n for each pt-bin
127 TProfile* fImq1n; //imaginary part of q-vector evaluated in harmonic n for each pt-bin
128 TProfile* fReq2n; //real part of q-vector evaluated in harmonic 2n for each pt-bin
129 TProfile* fImq2n; //imaginary part of q-vector evaluated in harmonic 2n for each pt-bin
130
131 TProfile* f2_1n1n; //<<2'>>_{n|n} per pt-bin
132 TProfile* f2_2n2n; //<<2'>>_{2n|2n} per pt-bin
133 TProfile* f3_2n1n1n; //<<3'>>_{2n|n,n} per pt-bin
134 TProfile* f3_1n1n2n; //<<3'>>_{n,n|2n} per pt-bin
135 TProfile* f4_1n1n1n1n; //<<4'>>_{n,n|n,n} per pt-bin
bc92c0cb 136
1315fe58 137 AliFlowCommonHist* fCommonHists; //common control histograms
bc92c0cb 138
1315fe58 139 AliFlowCommonHistResults* fCommonHistsResults2nd; //final results for 2nd order int. and diff. flow stored in the common histograms
140 AliFlowCommonHistResults* fCommonHistsResults4th; //final results for 4th order int. and diff. flow stored in the common histograms
141 AliFlowCommonHistResults* fCommonHistsResults6th; //final results for 6th order int. and diff. flow stored in the common histograms
142 AliFlowCommonHistResults* fCommonHistsResults8th; //final results for 8th order int. and diff. flow stored in the common histograms
1315fe58 143
8842fb2b 144 TH1D* f2Distribution; //distribution of <2>_{n|n}
145 TH1D* f4Distribution; //distribution of <4>_{n,n|n,n}
146 TH1D* f6Distribution; //distribution of <6>_{n,n,n|n,n,n}
147
148 Int_t fnBinsPt; //number of pt bins
149
150 Double_t fPtMin; //minimum pt
151 Double_t fPtMax; //maximum pt
152
bc92c0cb 153 ClassDef(AliFlowAnalysisWithQCumulants, 0);
154};
155
156//================================================================================================================
157
158#endif
159
160
161
162
163