ROOT logo
/* 
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. 
 * See cxx source for full Copyright notice 
 * $Id$ 
 */

/*************************************
 *   AliFlowCommonHistResults:       *
 *   class to organize the common    *
 *   histograms for Flow Analysis    * 
 *                                   * 
 * authors: Naomi van der Kolk       *
 *           (kolk@nikhef.nl)        *  
 *          Raimond Snellings        *
 *           (snelling@nikhef.nl)    * 
 *          Ante Bilandzic           *
 *           (anteb@nikhef.nl)       * 
 * **********************************/
 
#ifndef ALIFLOWCOMMONHISTRESULTS_H
#define ALIFLOWCOMMONHISTRESULTS_H

class TH1F;
class TH1D;
class TCollection;
class TList;
class TBrowser;

class AliFlowCommonHistResults : public TNamed {

 public:
  AliFlowCommonHistResults();                                                                              // default constructor
  AliFlowCommonHistResults(const char *name, const char *title = "AliFlowCommonHist", Int_t harmonic = 2); // constructor
  virtual ~AliFlowCommonHistResults();                                                                     // destructor

  Bool_t IsFolder() const {return kTRUE;};
  void Browse(TBrowser *b); 

  // Make fill methods for reference flow here: (TBI: rename eventually to FillReferenceFlow)
  Bool_t FillIntegratedFlow(Double_t aV, Double_t anError); // fill fHistIntFlow
  Bool_t FillChi(Double_t aChi);                            // fill fHistChi

  // Make fill methods for differential and integrated flow here:
  Bool_t FillIntegratedFlowRP(Double_t aV, Double_t anError);                   // fill fHistIntFlowRP
  Bool_t FillDifferentialFlowPtRP(Int_t aBin, Double_t av, Double_t anError);   // fill fHistDiffFlowPtRP
  Bool_t FillDifferentialFlowEtaRP(Int_t aBin, Double_t av, Double_t anError);  // fill fHistDiffFlowEtaRP 
  Bool_t FillIntegratedFlowPOI(Double_t aV, Double_t anError);                  // fill fHistIntFlowPOI
  Bool_t FillDifferentialFlowPtPOI(Int_t aBin, Double_t av, Double_t anError);  // fill fHistDiffFlowPtPOI
  Bool_t FillDifferentialFlowEtaPOI(Int_t aBin, Double_t av, Double_t anError); // fill fHistDiffFlowEtaPOI   
             
  // Getters:
  // Reference flow:
  TH1D* GetHistChi(){return fHistChi;};
  TH1D* GetHistIntFlow(){return fHistIntFlow;};    
  // RP = Reference Particles:  
  TH1D* GetHistIntFlowRP(){return fHistIntFlowRP;}; 
  TH1D* GetHistDiffFlowPtRP(){return fHistDiffFlowPtRP;}; 
  TH1D* GetHistDiffFlowEtaRP(){return fHistDiffFlowEtaRP;}; 
  // POI = Particles Of Interest:
  TH1D* GetHistIntFlowPOI(){return fHistIntFlowPOI;};
  TH1D* GetHistDiffFlowPtPOI(){return fHistDiffFlowPtPOI;}; 
  TH1D* GetHistDiffFlowEtaPOI(){return fHistDiffFlowEtaPOI;}; 
  
  TList* GetHistList(){return fHistList;};  

  virtual Double_t Merge(TCollection *aList); // merge function
  void Print(Option_t* option = "") const;    // method to print stats

 private:
  AliFlowCommonHistResults(const AliFlowCommonHistResults& aSetOfResultHists);            // copy constructor
  AliFlowCommonHistResults& operator=(const AliFlowCommonHistResults& aSetOfResultHists); // assignment operator
  // Reference flow:
  TH1D* fHistIntFlow; // reference flow
  TH1D* fHistChi;     // resolution
  // RP = Reference Particles:  
  TH1D* fHistIntFlowRP;     // integrated flow of RPs
  TH1D* fHistDiffFlowPtRP;  // differential flow (Pt) of RPs
  TH1D* fHistDiffFlowEtaRP; // differential flow (Eta) of RPs
  // POI = Particles Of Interest:
  TH1D* fHistIntFlowPOI;     // integrated flow of POIs
  TH1D* fHistDiffFlowPtPOI;  // differential flow (Pt) of POIs
  TH1D* fHistDiffFlowEtaPOI; // differential flow (Eta) of POIs    
  
  TList* fHistList; // list to hold all histograms

  ClassDef(AliFlowCommonHistResults,2) // macro for rootcint
};
 
#endif

 AliFlowCommonHistResults.h:1
 AliFlowCommonHistResults.h:2
 AliFlowCommonHistResults.h:3
 AliFlowCommonHistResults.h:4
 AliFlowCommonHistResults.h:5
 AliFlowCommonHistResults.h:6
 AliFlowCommonHistResults.h:7
 AliFlowCommonHistResults.h:8
 AliFlowCommonHistResults.h:9
 AliFlowCommonHistResults.h:10
 AliFlowCommonHistResults.h:11
 AliFlowCommonHistResults.h:12
 AliFlowCommonHistResults.h:13
 AliFlowCommonHistResults.h:14
 AliFlowCommonHistResults.h:15
 AliFlowCommonHistResults.h:16
 AliFlowCommonHistResults.h:17
 AliFlowCommonHistResults.h:18
 AliFlowCommonHistResults.h:19
 AliFlowCommonHistResults.h:20
 AliFlowCommonHistResults.h:21
 AliFlowCommonHistResults.h:22
 AliFlowCommonHistResults.h:23
 AliFlowCommonHistResults.h:24
 AliFlowCommonHistResults.h:25
 AliFlowCommonHistResults.h:26
 AliFlowCommonHistResults.h:27
 AliFlowCommonHistResults.h:28
 AliFlowCommonHistResults.h:29
 AliFlowCommonHistResults.h:30
 AliFlowCommonHistResults.h:31
 AliFlowCommonHistResults.h:32
 AliFlowCommonHistResults.h:33
 AliFlowCommonHistResults.h:34
 AliFlowCommonHistResults.h:35
 AliFlowCommonHistResults.h:36
 AliFlowCommonHistResults.h:37
 AliFlowCommonHistResults.h:38
 AliFlowCommonHistResults.h:39
 AliFlowCommonHistResults.h:40
 AliFlowCommonHistResults.h:41
 AliFlowCommonHistResults.h:42
 AliFlowCommonHistResults.h:43
 AliFlowCommonHistResults.h:44
 AliFlowCommonHistResults.h:45
 AliFlowCommonHistResults.h:46
 AliFlowCommonHistResults.h:47
 AliFlowCommonHistResults.h:48
 AliFlowCommonHistResults.h:49
 AliFlowCommonHistResults.h:50
 AliFlowCommonHistResults.h:51
 AliFlowCommonHistResults.h:52
 AliFlowCommonHistResults.h:53
 AliFlowCommonHistResults.h:54
 AliFlowCommonHistResults.h:55
 AliFlowCommonHistResults.h:56
 AliFlowCommonHistResults.h:57
 AliFlowCommonHistResults.h:58
 AliFlowCommonHistResults.h:59
 AliFlowCommonHistResults.h:60
 AliFlowCommonHistResults.h:61
 AliFlowCommonHistResults.h:62
 AliFlowCommonHistResults.h:63
 AliFlowCommonHistResults.h:64
 AliFlowCommonHistResults.h:65
 AliFlowCommonHistResults.h:66
 AliFlowCommonHistResults.h:67
 AliFlowCommonHistResults.h:68
 AliFlowCommonHistResults.h:69
 AliFlowCommonHistResults.h:70
 AliFlowCommonHistResults.h:71
 AliFlowCommonHistResults.h:72
 AliFlowCommonHistResults.h:73
 AliFlowCommonHistResults.h:74
 AliFlowCommonHistResults.h:75
 AliFlowCommonHistResults.h:76
 AliFlowCommonHistResults.h:77
 AliFlowCommonHistResults.h:78
 AliFlowCommonHistResults.h:79
 AliFlowCommonHistResults.h:80
 AliFlowCommonHistResults.h:81
 AliFlowCommonHistResults.h:82
 AliFlowCommonHistResults.h:83
 AliFlowCommonHistResults.h:84
 AliFlowCommonHistResults.h:85
 AliFlowCommonHistResults.h:86
 AliFlowCommonHistResults.h:87
 AliFlowCommonHistResults.h:88
 AliFlowCommonHistResults.h:89
 AliFlowCommonHistResults.h:90