]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/FLOW/Base/AliFlowCommonHist.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / FLOW / Base / AliFlowCommonHist.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4 /* $Id:$ */
5
6 #ifndef ALIFLOWCOMMONHIST_H
7 #define ALIFLOWCOMMONHIST_H
8
9 // AliFlowCommonHist:
10 // Description: Class to organise common histograms for Flow Analysis
11 // authors: N.K A.B R.S
12
13              
14 class AliFlowEventSimple;
15 class AliFlowTrackSimple;
16 class TH1F;
17 class TH2F;
18 class TH1D;
19 class TProfile;
20 class TCollection;
21 class TList;
22 class TBrowser;
23
24 class AliFlowCommonHist: public TNamed {
25
26  public:
27
28   AliFlowCommonHist();
29   AliFlowCommonHist(const char *name,const char *title = "AliFlowCommonHist",Bool_t bookOnlyBasic = kFALSE);
30   virtual ~AliFlowCommonHist();
31   AliFlowCommonHist(const AliFlowCommonHist& aSetOfHists);
32
33   Bool_t  IsFolder() const {return kTRUE;};
34   void Browse(TBrowser *b);
35   //merge function
36   virtual Double_t  Merge(TCollection *aList);  
37   //method to print stats
38   void Print(Option_t* option = "") const;
39  
40   //fill method
41   Bool_t FillControlHistograms(AliFlowEventSimple* anEvent,TList *weightsList=NULL, Bool_t usePhiWeights=kFALSE, Bool_t usePtWeights=kFALSE, Bool_t useEtaWeights=kFALSE);
42   
43   //getters
44   Double_t GetEntriesInPtBinRP(Int_t iBin);   //gets entries from fHistPtRP
45   Double_t GetEntriesInPtBinPOI(Int_t iBin);  //gets entries from fHistPtPOI
46   Double_t GetEntriesInEtaBinRP(Int_t iBin);  //gets entries from fHistEtaRP
47   Double_t GetEntriesInEtaBinPOI(Int_t iBin); //gets entries from fHistEtaPOI
48   Double_t GetMeanPt(Int_t iBin);             //gets the mean pt for this bin from fHistProMeanPtperBin   
49
50   TH1F*     GetHistMultRP()          {return fHistMultRP; } ;  
51   TH1F*     GetHistMultPOI()         {return fHistMultPOI; } ; 
52   TH2F*     GetHistMultPOIvsRP()     {return fHistMultPOIvsRP; } ;
53   TH1F*     GetHistPtRP()            {return fHistPtRP; } ;  
54   TH1F*     GetHistPtPOI()           {return fHistPtPOI; } ;
55   TH1F*     GetHistPtSub0()          {return fHistPtSub0; } ;
56   TH1F*     GetHistPtSub1()          {return fHistPtSub1; } ;
57   TH1F*     GetHistPhiRP()           {return fHistPhiRP; } ;  
58   TH1F*     GetHistPhiPOI()          {return fHistPhiPOI; } ;  
59   TH1F*     GetHistPhiSub0()         {return fHistPhiSub0; } ; 
60   TH1F*     GetHistPhiSub1()         {return fHistPhiSub1; } ; 
61   TH1F*     GetHistEtaRP()           {return fHistEtaRP; } ;  
62   TH1F*     GetHistEtaPOI()          {return fHistEtaPOI;  } ;  
63   TH1F*     GetHistEtaSub0()         {return fHistEtaSub0;  } ; 
64   TH1F*     GetHistEtaSub1()         {return fHistEtaSub1;  } ; 
65   TH2F*     GetHistPhiEtaRP()        {return fHistPhiEtaRP;  } ; 
66   TH2F*     GetHistPhiEtaPOI()       {return fHistPhiEtaPOI;  } ; 
67   TProfile* GetHistProMeanPtperBin() {return fHistProMeanPtperBin; } ;
68   TH2F*     GetHistWeightvsPhi()     {return fHistWeightvsPhi; } ;
69   TH1F*     GetHistQ()               {return fHistQ; } ;  
70   TH1F*     GetHistAngleQ()          {return fHistAngleQ; }
71   TH1F*     GetHistAngleQSub0()      {return fHistAngleQSub0; }
72   TH1F*     GetHistAngleQSub1()      {return fHistAngleQSub1; }
73   TProfile* GetHarmonic()            {return fHarmonic; } ; 
74   TProfile* GetRefMultVsNoOfRPs()    {return fRefMultVsNoOfRPs; } ;
75   TH1F*     GetHistRefMult()         {return fHistRefMult; } ; 
76   TH2F*     GetHistMassPOI()         {return fHistMassPOI; }
77   TList*    GetHistList()            {return fHistList;} ;  
78
79    
80  private:
81
82   AliFlowCommonHist& operator=(const AliFlowCommonHist& aSetOfHists);
83
84   //define histograms here
85   //control histograms
86   Bool_t    fBookOnlyBasic;       // book and fill only control histos needed for all methods
87   TH1F*     fHistMultRP;          // multiplicity for RP selection
88   TH1F*     fHistMultPOI;         // multiplicity for POI selection
89   TH2F*     fHistMultPOIvsRP;     // multiplicity for POI versus RP
90   TH1F*     fHistPtRP;            // pt distribution for RP selection
91   TH1F*     fHistPtPOI;           // pt distribution for POI selection
92   TH1F*     fHistPtSub0;          // pt distribution for subevent 0
93   TH1F*     fHistPtSub1;          // pt distribution for subevent 1
94   TH1F*     fHistPhiRP;           // phi distribution for RP selection
95   TH1F*     fHistPhiPOI;          // phi distribution for POI selection
96   TH1F*     fHistPhiSub0;         // phi distribution for subevent 0
97   TH1F*     fHistPhiSub1;         // phi distribution for subevent 1
98   TH1F*     fHistEtaRP;           // eta distribution for RP selection
99   TH1F*     fHistEtaPOI;          // eta distribution for POI selection
100   TH1F*     fHistEtaSub0;         // eta distribution for subevent 0
101   TH1F*     fHistEtaSub1;         // eta distribution for subevent 1
102   TH2F*     fHistPhiEtaRP;        // eta vs phi for RP selection
103   TH2F*     fHistPhiEtaPOI;       // eta vs phi for POI selection
104   TProfile* fHistProMeanPtperBin; // mean pt for each pt bin (for POI selection)
105   TH2F*     fHistWeightvsPhi;     // particle weight vs particle phi
106   TH1F*     fHistQ;               // Qvector distribution
107   TH1F*     fHistAngleQ;          // distribution of angle of Q vector
108   TH1F*     fHistAngleQSub0;      // distribution of angle of subevent 0 Q vector
109   TH1F*     fHistAngleQSub1;      // distribution of angle of subevent 1 Q vector
110   TProfile* fHarmonic;            // harmonic 
111   TProfile* fRefMultVsNoOfRPs;    // <reference multiplicity> versus # of RPs
112   TH1F*     fHistRefMult;         // reference multiplicity distribution
113   TH2F*     fHistMassPOI;         // mass distribution for POI selection
114   
115   TList*    fHistList;            // list to hold all histograms  
116
117   ClassDef(AliFlowCommonHist,4)   // macro for rootcint
118 };
119 #endif
120