a311cef0c42754a82e3d1d2a6e81e2b64ddf4b13
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowCommon / AliCumulantsFunctions.h
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  * functions and equations needed * 
9  * for calculation of cumulants   *
10  * and final flow estimates       *
11  *                                *   
12  * author: Ante Bilandzic         * 
13  *          (anteb@nikhef.nl)     *
14  *********************************/ 
15
16 #ifndef ALICUMULANTSFUNCTIONS_H
17 #define ALICUMULANTSFUNCTIONS_H
18
19 #include "AliFlowCommonConstants.h"
20 #include "AliFlowCumuConstants.h"
21
22 class TH1;
23 class TProfile;
24 class TProfile2D;
25 class TProfile3D;
26
27 class TObjArray;
28 class TList;
29 class TFile;
30
31 class AliFlowCommonHistResults;
32
33 //================================================================================================================
34
35 class AliCumulantsFunctions{
36  public:
37   AliCumulantsFunctions();
38   virtual ~AliCumulantsFunctions();
39   //AliCumulantsFunctions(TProfile2D *intGenFun, TProfile3D *diffGenFunRe, TProfile3D *diffGenFunIm, TH1D *ifr, TH1D *dfr2, TH1D *dfr4, TH1D *dfr6, TH1D *dfr8, TProfile *avMult, TProfile *fQVector, TH1D *fQDistrib, TProfile2D *fdRe0, TProfile2D *fdRe1, TProfile2D *fdRe2, TProfile2D *fdRe3, TProfile2D *fdRe4, TProfile2D *fdRe5, TProfile2D *fdRe6, TProfile2D *fdRe7, TProfile2D *fdIm0, TProfile2D *fdIm1, TProfile2D *fdIm2, TProfile2D *fdIm3, TProfile2D *fdIm4, TProfile2D *fdIm5, TProfile2D *fdIm6, TProfile2D *fdIm7);
40   
41   AliCumulantsFunctions(TProfile2D *intGenFun, TProfile2D *intGenFun4, TProfile2D *intGenFun6, TProfile2D *intGenFun8, TProfile2D *intGenFun16, TProfile *avMult4, TProfile *avMult6, TProfile *avMult8, TProfile *avMult16, TProfile3D *diffPtRPGenFunRe, TProfile3D *diffPtRPGenFunIm, TProfile *ptBinRPNoOfParticles, TProfile3D *diffEtaRPGenFunRe, TProfile3D *diffEtaRPGenFunIm, TProfile *etaBinRPNoOfParticles, TProfile3D *diffPtPOIGenFunRe, TProfile3D *diffPtPOIGenFunIm, TProfile *ptBinPOINoOfParticles, TProfile3D *diffEtaPOIGenFunRe, TProfile3D *diffEtaPOIGenFunIm, TProfile *etaBinPOINoOfParticles, TH1D *ifr, TH1D *dfr2, TH1D *dfr4, TH1D *dfr6, TH1D *dfr8, TProfile *avMult, TProfile *qVector, AliFlowCommonHistResults *chr2nd, AliFlowCommonHistResults *chr4th, AliFlowCommonHistResults *chr6th, AliFlowCommonHistResults *chr8th, AliFlowCommonHist *ch);
42  
43   void Calculate();
44
45  private:
46   AliCumulantsFunctions(const AliCumulantsFunctions& fun);
47   AliCumulantsFunctions& operator=(const AliCumulantsFunctions& fun);
48   
49   TProfile2D *fIntGenFun;    //average value of generating function for int. flow
50   
51   TProfile2D *fIntGenFun4;   //average value of generating function for int. flow (only for other system of Eq.)
52   TProfile2D *fIntGenFun6;   //average value of generating function for int. flow (only for other system of Eq.)
53   TProfile2D *fIntGenFun8;   //average value of generating function for int. flow (only for other system of Eq.)
54   TProfile2D *fIntGenFun16;  //average value of generating function for int. flow (only for other system of Eq.)
55   
56   TProfile *fAvMult4;        //average selected multiplicity for int. flow (only for other system of Eq.)
57   TProfile *fAvMult6;        //average selected multiplicity for int. flow (only for other system of Eq.)
58   TProfile *fAvMult8;        //average selected multiplicity for int. flow (only for other system of Eq.)
59   TProfile *fAvMult16;       //average selected multiplicity for int. flow (only for other system of Eq.) 
60   
61   TProfile3D *fDiffPtRPGenFunRe;   //average value of generating function for diff. flow in pt (real part)
62   TProfile3D *fDiffPtRPGenFunIm;   //average value of generating function for diff. flow in pt (imaginary part)
63   TProfile *fPtBinRPNoOfParticles; //number of particles per pt bin
64   
65   TProfile3D *fDiffEtaRPGenFunRe;   //average value of generating function for diff. flow in eta (real part)
66   TProfile3D *fDiffEtaRPGenFunIm;   //average value of generating function for diff. flow in eta (imaginary part)
67   TProfile *fEtaBinRPNoOfParticles; //number of particles per eta bin
68  
69   TProfile3D *fDiffPtPOIGenFunRe;   //average value of generating function for diff. flow in pt (real part)
70   TProfile3D *fDiffPtPOIGenFunIm;   //average value of generating function for diff. flow in pt (imaginary part)
71   TProfile *fPtBinPOINoOfParticles; //number of particles per pt bin
72   
73   TProfile3D *fDiffEtaPOIGenFunRe;   //average value of generating function for diff. flow in eta (real part)
74   TProfile3D *fDiffEtaPOIGenFunIm;   //average value of generating function for diff. flow in eta (imaginary part)
75   TProfile *fEtaBinPOINoOfParticles; //number of particles per eta bin
76     
77   TH1D *fifr;                //integrated flow final results 
78   TH1D *fdfr2;               //differential flow final results
79   TH1D *fdfr4;               //differential flow final results
80   TH1D *fdfr6;               //differential flow final results
81   TH1D *fdfr8;               //differential flow final results 
82    
83   TProfile *fAvMult;         //average selected multiplicity for int. flow
84   TProfile *fQVector;        //average values of Q-vector components (1st bin: <Q_x>, 2nd bin: <Q_y>, 3rd bin: <(Q_x)^2>, 4th bin: <(Q_y)^2>) 
85   
86   AliFlowCommonHistResults *fchr2nd; //final results for 2nd order int. and diff. flow stored in the common histograms
87   AliFlowCommonHistResults *fchr4th; //final results for 4th order int. and diff. flow stored in the common histograms
88   AliFlowCommonHistResults *fchr6th; //final results for 6th order int. and diff. flow stored in the common histograms
89   AliFlowCommonHistResults *fchr8th; //final results for 8th order int. and diff. flow stored in the common histograms
90   
91   AliFlowCommonHist *fch; //common control histogram  
92   
93   /*
94   TProfile2D *fdRe0,*fdRe1,*fdRe2,*fdRe3,*fdRe4,*fdRe5,*fdRe6,*fdRe7;//differential flow 
95   TProfile2D *fdIm0,*fdIm1,*fdIm2,*fdIm3,*fdIm4,*fdIm5,*fdIm6,*fdIm7;//differential flow
96   */
97   
98   ClassDef(AliCumulantsFunctions, 0);
99 };
100
101 //================================================================================================================
102
103 #endif
104
105
106
107
108