new methods and possiility to run all methods in same run
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowAnalysisWithQCumulants.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  * 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
19 class TObjArray;
20 class TList;
21 class TFile;
22
23 class TH1;
24 class TProfile;
25 class TProfile2D;
26 class TProfile3D;
27
28 class AliFlowEventSimple;
29 class AliFlowTrackSimple;
30 class AliFlowCommonHist;
31 class AliFlowCommonHistResults;
32 class AliFlowVector;
33
34 //================================================================================================================
35
36 class AliFlowAnalysisWithQCumulants{
37  public:
38   AliFlowAnalysisWithQCumulants();
39   virtual ~AliFlowAnalysisWithQCumulants(); 
40   
41   virtual void CreateOutputObjects();
42   virtual void Make(AliFlowEventSimple* anEvent);
43   virtual void Finish();
44   
45   TList* GetHistList() const {return this->fHistList;}      //output histogram list
46  
47  private:
48   AliFlowAnalysisWithQCumulants(const AliFlowAnalysisWithQCumulants& afawQc);
49   AliFlowAnalysisWithQCumulants& operator=(const AliFlowAnalysisWithQCumulants& afawQc);
50   AliFlowTrackSimple* fTrack;             //track
51   TList*              fHistList;          //list to hold all output histograms
52   TProfile*           fAvMultIntFlow;     //avarage selected multiplicity
53  
54   TProfile*           fQvectorComponents; //avarages of Q-vector components (1st bin: <Q_x>, 2nd bin: <Q_y>, 3rd bin: <(Q_x)^2>, 4th bin: <(Q_y)^2>, 5th bin: <|Q|^2>)
55             
56   TH1D*               fIntFlowResults;                 //integrated flow results from Q-cumulants
57   TH1D*               fDiffFlowResults2ndOrder;        //differential flow results from 2nd order Q-cumulant
58   TH1D*               fDiffFlowResults4thOrder;        //differential flow results from 4th order Q-cumulant
59   
60   TProfile*           fQCorrelations;                  //multi-particle correlations calculated from Q-vectors 
61   TProfile*           fQCovariance;                    //covariance of multi-particle correlations 
62   TProfile*           fDirectCorrelations;             //multi-particle correlations calculated with nested loops
63    
64   
65   TProfile*           fReD;
66   TProfile*           fImD;
67   
68   TProfile*           fReq1n;                           //real part of q-vector evaluated in harmonic n for each pt-bin
69   TProfile*           fImq1n;                           //imaginary part of q-vector evaluated in harmonic n for each pt-bin
70   TProfile*           fReq2n;                           //real part of q-vector evaluated in harmonic 2n for each pt-bin
71   TProfile*           fImq2n;                           //imaginary part of q-vector evaluated in harmonic 2n for each pt-bin
72
73   TProfile*           f2_1n1n;                          //<2'>_{n|n} per pt-bin
74   TProfile*           f2_2n2n;                          //<2'>_{2n|2n} per pt-bin
75   TProfile*           f3_2n1n1n;                        //<3'>_{2n|n,n} per pt-bin
76   TProfile*           f3_1n1n2n;                        //<3'>_{n,n|2n} per pt-bin
77   TProfile*           f4_1n1n1n1n;                      //<4'>_{n,n|n,n} per pt-bin
78   
79   TProfile*           fQCorrelationsPerBin;
80  
81   AliFlowCommonHist*  fCommonHists;                    //common control histograms
82   
83   
84   Int_t abTempDeleteMe; 
85   
86         
87   ClassDef(AliFlowAnalysisWithQCumulants, 0);
88 };
89
90 //================================================================================================================
91
92 #endif
93
94
95
96
97