1 #ifndef AliFlowAnalysisWithCumulants_H
2 #define AliFlowAnalysisWithCumulants_H
4 //*******************************
5 // flow analysis with cumulants *
6 // author: Ante Bilandzic *
7 // email: anteb@nikhef.nl *
8 //*******************************
10 #include "AliFlowCommonConstants.h"
11 #include "AliFlowCumuConstants.h"
18 class AliFlowEventSimple;
19 class AliFlowTrackSimple;
20 class AliFlowCommonHist;
21 class AliFlowCommonHistResults;
24 class AliFlowAnalysisWithCumulants {
26 AliFlowAnalysisWithCumulants();
27 AliFlowAnalysisWithCumulants(const AliFlowAnalysisWithCumulants&);
28 virtual ~AliFlowAnalysisWithCumulants();
30 AliFlowAnalysisWithCumulants& operator=(const AliFlowAnalysisWithCumulants&);
32 virtual void CreateOutputObjects();
33 virtual void Exec(AliFlowEventSimple* fEvent);
34 virtual void Terminate(Int_t fCount);
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
45 Int_t fnEvts;//number of events
46 Int_t fnPrim;//total multiplicity (no selection)
47 Double_t fAvM;//avarage SELECTED multiplicity
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)
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>
59 TString fHistFileName;//final output
60 TFile* fHistFile;//final output
62 AliFlowCommonHist* fCommonHists;//control histograms
63 AliFlowCommonHistResults *fCommonHistsRes2, *fCommonHistsRes4, *fCommonHistsRes6, *fCommonHistsRes8;//histograms with various order final results
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
72 ClassDef(AliFlowAnalysisWithCumulants, 0);