]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FLOW/AliFlowAnalysisWithCumulants.h
added copy ctor and assignment
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowAnalysisWithCumulants.h
1 #ifndef AliFlowAnalysisWithCumulants_H
2 #define AliFlowAnalysisWithCumulants_H
3
4 //******************************* 
5 // flow analysis with cumulants *   
6 // author: Ante Bilandzic       * 
7 // email: anteb@nikhef.nl       *
8 //******************************* 
9
10 #include "AliFlowCommonConstants.h"
11 #include "AliFlowCumuConstants.h"
12
13 class TH1;
14 class TObjArray;
15 class TList;
16 class TFile;
17
18 class AliFlowEventSimple;
19 class AliFlowTrackSimple;
20 class AliFlowCommonHist;
21 class AliFlowCommonHistResults;
22 class AliFlowVector;
23
24 class AliFlowAnalysisWithCumulants {
25  public:
26   AliFlowAnalysisWithCumulants();
27   AliFlowAnalysisWithCumulants(const AliFlowAnalysisWithCumulants&);
28   virtual ~AliFlowAnalysisWithCumulants();
29   
30   AliFlowAnalysisWithCumulants& operator=(const AliFlowAnalysisWithCumulants&);
31   
32   virtual void CreateOutputObjects();
33   virtual void Exec(AliFlowEventSimple* fEvent);
34   virtual void Terminate(Int_t fCount);
35
36  private:
37   AliFlowEventSimple* fEvent;//event     
38   AliFlowTrackSimple* fTrack;//track
39   static const Int_t fgkQmax=AliFlowCumuConstants::kQmax;//needed for numerics
40   static const Int_t fgkPmax=AliFlowCumuConstants::kPmax;//needed for numerics  
41   static const Int_t fgkFlow=AliFlowCumuConstants::kFlow;//integrated flow coefficient to be calculated
42   static const Int_t fgkMltpl=AliFlowCumuConstants::kMltpl;//the multiple in p=m*n (diff. flow) 
43   static const Int_t fgknBins=100;//number of pt bins
44       
45   Int_t fnEvts;//number of events
46   Int_t fnPrim;//total multiplicity (no selection)
47   Double_t fAvM;//avarage SELECTED multiplicity
48
49   Double_t fR0;//needed for numerics
50   Double_t fPtMax;//maximum pt
51   Double_t fPtMin;//minimum pt
52   Double_t fBinWidth;//width of pt bin (in GeV)
53       
54   Double_t fAvQx;//<Q_x>
55   Double_t fAvQy;//<Q_y>
56   Double_t fAvQ2x;//<(Q_x)^2>
57   Double_t fAvQ2y;//<(Q_y)^2>
58  
59   TString      fHistFileName;//final output     
60   TFile*       fHistFile;//final output           
61   
62   AliFlowCommonHist* fCommonHists;//control histograms
63   AliFlowCommonHistResults *fCommonHistsRes2, *fCommonHistsRes4, *fCommonHistsRes6, *fCommonHistsRes8;//histograms with various order final results 
64   
65   Double_t fAvG[fgkPmax][fgkQmax];//avarage of the generating function used for integrated flow
66   Int_t fBinEventEntries[fgknBins];//counts how many events have at least 1 particle in particular bin
67   Int_t fBinNoOfParticles[fgknBins];//number of particles per bin
68   Double_t fBinMeanPt[fgknBins];//mean pt per bin
69   Double_t fBinEventDRe[fgknBins][fgkPmax][fgkQmax];//real part of the generating function used for differential flow
70   Double_t fBinEventDIm[fgknBins][fgkPmax][fgkQmax];//imaginary part of the generating function used for differential flow
71   
72   ClassDef(AliFlowAnalysisWithCumulants, 0);
73 };
74 #endif
75
76
77