]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FLOW/AliFlowLYZHist2.h
new methods and possiility to run all methods in same run
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowLYZHist2.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 AliFlowLYZHist2_H
7 #define AliFlowLYZHist2_H
8
9 #include "TProfile.h"   //no forward declaration possible because of inline functions
10
11 class TComplex;
12 class TProfile2D;
13 class TCollection;
14 class TList;
15 class TBrowser;
16
17 // Description: Class to organise histograms for Flow
18 //              by the LeeYangZeros method in the second run.
19 //              Also contains methods to get values from the histograms
20 //              which are called in AliFlowLeeYandZerosMaker::Finish().
21
22
23 class AliFlowLYZHist2: public TNamed  {
24
25  public:
26
27   AliFlowLYZHist2();                                //default constructor
28   AliFlowLYZHist2(Int_t theta, const char *name = "AliFlowLYZHist2" ,const char *title = "AliFlowLYZHist2");                     //constructor
29   virtual  ~AliFlowLYZHist2();                      //destructor
30   
31   Bool_t  IsFolder() const {return kTRUE;};
32   void Browse(TBrowser *b); 
33
34   void     Fill(Double_t d1,Double_t d2, TComplex c);   //fill the histograms
35   Int_t    GetNbinsX()                
36     {Int_t iMaxEtaBins = fHistProReNumer->GetNbinsX();  return iMaxEtaBins;}     
37   Int_t    GetNbinsXPt()              
38     {Int_t iMaxPtBins = fHistProReNumerPt->GetNbinsX(); return iMaxPtBins;}
39   Double_t GetBinCenter(Int_t i)   
40     {Double_t dEta = fHistProReNumer->GetXaxis()->GetBinCenter(i);  return dEta;}
41   Double_t GetBinCenterPt(Int_t i) 
42     {Double_t dPt = fHistProReNumerPt->GetXaxis()->GetBinCenter(i); return dPt;}
43   TComplex GetNumerEta(Int_t i);                   //get numerator for diff. flow (eta)
44   TComplex GetNumerPt(Int_t i);                    //get numerator for diff. flow (pt)
45
46   TProfile*   GetHistProReNumer()   {return this->fHistProReNumer;}         
47   TProfile*   GetHistProImNumer()   {return this->fHistProImNumer;}        
48   TProfile*   GetHistProReNumerPt() {return this->fHistProReNumerPt;} 
49   TProfile*   GetHistProImNumerPt() {return this->fHistProImNumerPt;} 
50   TProfile2D* GetHistProReNumer2D() {return this->fHistProReNumer2D;}       
51   TProfile2D* GetHistProImNumer2D() {return this->fHistProImNumer2D;}
52   TList*      GetHistList()         {return this->fHistList;}   
53   
54   virtual Double_t Merge(TCollection *aList);  //merge function
55   void Print(Option_t* option = "") const;     //method to print stats
56
57  private:
58  
59   AliFlowLYZHist2(const AliFlowLYZHist2& aAnalysis);             //copy constructor
60   AliFlowLYZHist2& operator=(const AliFlowLYZHist2& aAnalysis);  //assignment operator
61   
62   TProfile*   fHistProReNumer;         //holds Re of Numerator(eta)
63   TProfile*   fHistProImNumer;         //holds Im of Numerator(eta)
64   TProfile*   fHistProReNumerPt;       //holds Re of Numerator(pt)
65   TProfile*   fHistProImNumerPt;       //holds Im of Numerator(pt)
66   TProfile2D* fHistProReNumer2D;       //holds Re of Numerator
67   TProfile2D* fHistProImNumer2D;       //holds Im of Numerator
68   TList*      fHistList;               //list to hold all histograms  
69
70   ClassDef(AliFlowLYZHist2,1)          // macro for rootcint
71     };
72  
73      
74 #endif