]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FLOW/AliFlowCommon/AliQCumulantsFunctions.h
weights, weights now ok to fourth order in POI
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowCommon / AliQCumulantsFunctions.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 Q-cumulants *
10  * and final flow estimates       *
11  *                                *   
12  * author:  Ante Bilandzic        * 
13  *           (anteb@nikhef.nl)    *
14  *********************************/ 
15
16 #ifndef ALIQCUMULANTSFUNCTIONS_H
17 #define ALIQCUMULANTSFUNCTIONS_H
18
19 #include "AliFlowCommonConstants.h"
20
21 class TH1;
22 class TProfile;
23 class TProfile2D;
24 class TProfile3D;
25
26 class TObjArray;
27 class TList;
28 class TFile;
29
30 class AliFlowCommonHistResults;
31
32 //================================================================================================================
33
34 class AliQCumulantsFunctions{
35  public:
36   AliQCumulantsFunctions();
37   virtual ~AliQCumulantsFunctions();
38   AliQCumulantsFunctions(TH1D *intRes, TH1D *diffRes2nd, TH1D *diffRes4th, TH1D *covar, TProfile *AvMult, TProfile *QVector, TProfile *QCorr, TProfile *QCorrW, TProfile *QProd, TProfile *Direct, TProfile *binPt2p1n1nRP, TProfile *binPt2p2n2nRP, TProfile *binPt3p2n1n1nRP, TProfile *binPt3p1n1n2nRP, TProfile *binPt4p1n1n1n1nRP, TProfile *binEta2p1n1nRP, TProfile *binEta2p2n2nRP, TProfile *binEta3p2n1n1nRP, TProfile *binEta3p1n1n2nRP, TProfile *binEta4p1n1n1n1nRP, TProfile *binPt2p1n1nPOI, TProfile *binPt2p2n2nPOI, TProfile *binPt3p2n1n1nPOI, TProfile *binPt3p1n1n2nPOI, TProfile *binPt4p1n1n1n1nPOI, TProfile *binEta2p1n1nPOI, TProfile *binEta2p2n2nPOI, TProfile *binEta3p2n1n1nPOI, TProfile *binEta3p1n1n2nPOI, TProfile *binEta4p1n1n1n1nPOI, TProfile *binWPt2p1n1nPOI, TProfile *binWPt2p2n2nPOI, TProfile *binWPt3p2n1n1nPOI, TProfile *binWPt3p1n1n2nPOI, TProfile *binWPt4p1n1n1n1nPOI, TProfile *binWEta2p1n1nPOI, TProfile *binWEta4p1n1n1n1nPOI,  TProfile *binWPt2p1n1nRP, TProfile *binWPt4p1n1n1n1nRP,  TProfile *binWEta2p1n1nRP, TProfile *binWEta4p1n1n1n1nRP, AliFlowCommonHist *ch2nd, AliFlowCommonHist *ch4th, AliFlowCommonHist *ch6th, AliFlowCommonHist *ch8th, AliFlowCommonHistResults *chr2nd, AliFlowCommonHistResults *chr4th, AliFlowCommonHistResults *chr6th, AliFlowCommonHistResults *chr8th);
39  
40   void Calculate();
41
42  private:
43   AliQCumulantsFunctions(const AliQCumulantsFunctions& Qfun);
44   AliQCumulantsFunctions& operator=(const AliQCumulantsFunctions& Qfun);
45   
46   TH1D     *fIntRes;          //results for integrated flow
47   TH1D     *fDiffRes2nd;      //results for differential flow (2nd order)
48   TH1D     *fDiffRes4th;      //results for differential flow (4th order)
49   TH1D     *fCovar;           //results for covariances (1st bin: <2*4>-<2>*<4>, 2nd bin: <2*6>-<2>*<6>, ...)  
50           
51   TProfile *fAvMult;          //avarage selected multiplicity for int. flow
52   TProfile *fQVector;         //avarage values of Q-vector components
53   TProfile *fQCorr;           //multi-particle correlations calculated from Q-vectors 
54   TProfile *fQCorrW;   //weighted multi-particle correlations calculated from Q-vectors 
55   TProfile *fQProd;           //average of products: 1st bin: <2*4>, 2nd bin: <2*6>, ...
56
57   TProfile *fDirect;          //direct correlations (correlations calculated with nested loopps)
58   
59   TProfile *fbinPt2p1n1nRP;     //<<2'>>_{n|n} per pt-bin
60   TProfile *fbinPt2p2n2nRP;     //<<2'>>_{2n|2n} per pt-bin
61   TProfile *fbinPt3p2n1n1nRP;   //<<3'>>_{2n,n|n} per pt-bin
62   TProfile *fbinPt3p1n1n2nRP;   //<<3'>>_{n,n|2n} per pt-bin
63   TProfile *fbinPt4p1n1n1n1nRP; //<<4'>>_{n,n|n,n} per pt-bin
64   
65   TProfile *fbinEta2p1n1nRP;     //<<2'>>_{n|n} per eta-bin
66   TProfile *fbinEta2p2n2nRP;     //<<2'>>_{2n|2n} per eta-bin
67   TProfile *fbinEta3p2n1n1nRP;   //<<3'>>_{2n,n|n} per eta-bin
68   TProfile *fbinEta3p1n1n2nRP;   //<<3'>>_{n,n|2n} per eta-bin
69   TProfile *fbinEta4p1n1n1n1nRP; //<<4'>>_{n,n|n,n} per eta-bin  
70   
71   TProfile *fbinPt2p1n1nPOI;     //<<2'>>_{n|n} per pt-bin
72   TProfile *fbinPt2p2n2nPOI;     //<<2'>>_{2n|2n} per pt-bin
73   TProfile *fbinPt3p2n1n1nPOI;   //<<3'>>_{2n,n|n} per pt-bin
74   TProfile *fbinPt3p1n1n2nPOI;   //<<3'>>_{n,n|2n} per pt-bin
75   TProfile *fbinPt4p1n1n1n1nPOI; //<<4'>>_{n,n|n,n} per pt-bin
76   
77   TProfile *fbinEta2p1n1nPOI;     //<<2'>>_{n|n} per eta-bin
78   TProfile *fbinEta2p2n2nPOI;     //<<2'>>_{2n|2n} per eta-bin
79   TProfile *fbinEta3p2n1n1nPOI;   //<<3'>>_{2n,n|n} per eta-bin
80   TProfile *fbinEta3p1n1n2nPOI;   //<<3'>>_{n,n|2n} per eta-bin
81   TProfile *fbinEta4p1n1n1n1nPOI; //<<4'>>_{n,n|n,n} per eta-bin  
82   
83   
84   
85   
86   
87   
88   TProfile *fbinWPt2p1n1nPOI;     //<<2'>>_{n|n} per pt-bin
89   TProfile *fbinWPt2p2n2nPOI;     //<<2'>>_{2n|2n} per pt-bin
90   TProfile *fbinWPt3p2n1n1nPOI;   //<<3'>>_{2n,n|n} per pt-bin
91   TProfile *fbinWPt3p1n1n2nPOI;   //<<3'>>_{n,n|2n} per pt-bin
92   TProfile *fbinWPt4p1n1n1n1nPOI; //<<4'>>_{n,n|n,n} per pt-bin
93   
94   TProfile *fbinWEta2p1n1nPOI;     //<<2'>>_{n|n} per pt-bin
95   TProfile *fbinWEta4p1n1n1n1nPOI; //<<4'>>_{n,n|n,n} per pt-bin
96   
97   TProfile *fbinWPt2p1n1nRP;     //<<2'>>_{n|n} per pt-bin
98   TProfile *fbinWPt4p1n1n1n1nRP; //<<4'>>_{n,n|n,n} per pt-bin
99   
100   TProfile *fbinWEta2p1n1nRP;     //<<2'>>_{n|n} per pt-bin
101   TProfile *fbinWEta4p1n1n1n1nRP; //<<4'>>_{n,n|n,n} per pt-bin
102   
103   
104   
105   
106   
107   
108   AliFlowCommonHist *fch2nd; //common control histograms (taking into account only the events with 2 and more particles) 
109   AliFlowCommonHist *fch4th; //common control histograms (taking into account only the events with 4 and more particles) 
110   AliFlowCommonHist *fch6th; //common control histograms (taking into account only the events with 6 and more particles) 
111   AliFlowCommonHist *fch8th; //common control histograms (taking into account only the events with 8 and more particles) 
112   
113   AliFlowCommonHistResults *fchr2nd; //final results for 2nd order int. and diff. flow stored in the common histograms
114   AliFlowCommonHistResults *fchr4th; //final results for 4th order int. and diff. flow stored in the common histograms
115   AliFlowCommonHistResults *fchr6th; //final results for 6th order int. and diff. flow stored in the common histograms
116   AliFlowCommonHistResults *fchr8th; //final results for 8th order int. and diff. flow stored in the common histograms
117               
118   ClassDef(AliQCumulantsFunctions, 0);
119 };
120
121 //================================================================================================================
122
123 #endif
124
125
126
127
128