1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
7 #ifndef ALIFLOWANALYSISWITHMCEVENTPLANE_H
8 #define ALIFLOWANALYSISWITHMCEVENTPLANE_H
10 #include "TVector2.h" //called explicitly
11 #include "AliFlowVector.h"
14 class AliFlowTrackSimple;
15 class AliFlowEventSimple;
16 class AliFlowCommonHist;
17 class AliFlowCommonHistResults;
30 // Description: Maker to analyze Flow from the generated MC reaction plane.
31 // This class is used to get the real value of the flow
32 // to compare the other methods to when analysing simulated events.
35 class AliFlowAnalysisWithMCEventPlane {
39 AliFlowAnalysisWithMCEventPlane(); //default constructor
40 virtual ~AliFlowAnalysisWithMCEventPlane(); //destructor
42 void WriteHistograms(TString* outputFileName);
43 void WriteHistograms(TString outputFileName);
44 void Init(); //defines variables and histograms
45 void Make(AliFlowEventSimple* anEvent); //calculates variables and fills histograms
46 void GetOutputHistograms(TList *outputListHistos); //get pointers to all output histograms (called before Finish())
47 void Finish(); //saves histograms
49 void SetDebug(Bool_t kt) { this->fDebug = kt ; }
50 Bool_t GetDebug() const { return this->fDebug ; }
52 void SetEventNumber(Int_t n) { this->fEventNumber = n; }
53 Int_t GetEventNumber() const { return this->fEventNumber; }
56 TList* GetHistList() const { return this->fHistList ; }
57 AliFlowCommonHist* GetCommonHists() const { return this->fCommonHists; }
58 void SetCommonHists(AliFlowCommonHist* aCommonHist)
59 { this->fCommonHists = aCommonHist; }
60 AliFlowCommonHistResults* GetCommonHistsRes() const { return this->fCommonHistsRes; }
61 void SetCommonHistsRes(AliFlowCommonHistResults* aCommonHistResult)
62 { this->fCommonHistsRes = aCommonHistResult; }
65 TH1F* GetHistRP() {return this->fHistRP; }
66 void SetHistRP(TH1F* aHistRP) {this->fHistRP = aHistRP; }
68 TProfile* GetHistProIntFlow() {return this->fHistProIntFlow; }
69 void SetHistProIntFlow(TProfile* aHistProIntFlow)
70 {this->fHistProIntFlow = aHistProIntFlow; }
72 TProfile2D* GetHistProDiffFlowPtEtaRP() {return this->fHistProDiffFlowPtEtaRP; }
73 void SetHistProDiffFlowPtEtaRP(TProfile2D* aHistProDiffFlowPtEtaRP)
74 {this->fHistProDiffFlowPtEtaRP = aHistProDiffFlowPtEtaRP; }
76 TProfile* GetHistProDiffFlowPtRP() {return this->fHistProDiffFlowPtRP; }
77 void SetHistProDiffFlowPtRP(TProfile* aHistProDiffFlowPtRP)
78 {this->fHistProDiffFlowPtRP = aHistProDiffFlowPtRP; }
80 TProfile* GetHistProDiffFlowEtaRP() {return this->fHistProDiffFlowEtaRP; }
81 void SetHistProDiffFlowEtaRP(TProfile* aHistProDiffFlowEtaRP)
82 {this->fHistProDiffFlowEtaRP = aHistProDiffFlowEtaRP; }
84 TProfile2D* GetHistProDiffFlowPtEtaPOI() {return this->fHistProDiffFlowPtEtaPOI; }
85 void SetHistProDiffFlowPtEtaPOI(TProfile2D* aHistProDiffFlowPtEtaPOI)
86 {this->fHistProDiffFlowPtEtaPOI = aHistProDiffFlowPtEtaPOI; }
88 TProfile* GetHistProDiffFlowPtPOI() {return this->fHistProDiffFlowPtPOI; }
89 void SetHistProDiffFlowPtPOI(TProfile* aHistProDiffFlowPtPOI)
90 {this->fHistProDiffFlowPtPOI = aHistProDiffFlowPtPOI; }
92 TProfile* GetHistProDiffFlowEtaPOI() {return this->fHistProDiffFlowEtaPOI; }
93 void SetHistProDiffFlowEtaPOI(TProfile* aHistProDiffFlowEtaPOI)
94 {this->fHistProDiffFlowEtaPOI = aHistProDiffFlowEtaPOI; }
96 TH1D* GetHistSpreadOfFlow() {return this->fHistSpreadOfFlow; }
97 void SetHistSpreadOfFlow(TH1D* aHistSpreadOfFlow)
98 {this->fHistSpreadOfFlow = aHistSpreadOfFlow; }
102 AliFlowAnalysisWithMCEventPlane(const AliFlowAnalysisWithMCEventPlane& aAnalysis); //copy constructor
103 AliFlowAnalysisWithMCEventPlane& operator=(const AliFlowAnalysisWithMCEventPlane& aAnalysis); //assignment operator
107 TVector2* fQsum; // flow vector sum
108 Double_t fQ2sum; // flow vector sum squared
111 Int_t fEventNumber; // event counter
112 Bool_t fDebug ; //! flag for lyz analysis: more print statements
114 TList* fHistList; //list to hold all output histograms
116 AliFlowCommonHist* fCommonHists; //
117 AliFlowCommonHistResults* fCommonHistsRes; //
119 TH1F* fHistRP; // reaction plane
120 TProfile* fHistProIntFlow; // profile used to calculate the integrated flow of RP particles
121 TProfile2D* fHistProDiffFlowPtEtaRP; // profile used to calculate the differential flow (Pt,Eta) of RP particles
122 TProfile* fHistProDiffFlowPtRP; // profile used to calculate the differential flow (Pt) of RP particles
123 TProfile* fHistProDiffFlowEtaRP; // profile used to calculate the differential flow (Eta) of RP particles
124 TProfile2D* fHistProDiffFlowPtEtaPOI; // profile used to calculate the differential flow (Pt,Eta) of POI particles
125 TProfile* fHistProDiffFlowPtPOI; // profile used to calculate the differential flow (Pt) of POI particles
126 TProfile* fHistProDiffFlowEtaPOI; // profile used to calculate the differential flow (Eta) of POI particles
127 TH1D* fHistSpreadOfFlow; // histogram filled with NONAME integrated flow calculated e-b-e
129 ClassDef(AliFlowAnalysisWithMCEventPlane,1) // Analyse particle distribution versus MC reaction plane