AliPhysics  aaf9c62 (aaf9c62)
AliFlowCommonHist.h
Go to the documentation of this file.
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 
29  AliFlowCommonHist(const char *name,const char *title = "AliFlowCommonHist",Bool_t bookOnlyBasic = kFALSE, Int_t harmonic = 2);
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; } ;
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; } ;
69  TH1F* GetHistQ() {return fHistQ; } ;
70  TH1F* GetHistAngleQ() {return fHistAngleQ; }
73  TProfile* GetHarmonic() {return fHarmonic; } ;
74  TProfile* GetRefMultVsNoOfRPs() {return fRefMultVsNoOfRPs; } ;
75  TH1F* GetHistRefMult() {return fHistRefMult; } ;
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  // Flow harmonic for 'internal' use (it's also an int, what a coincidence).
118  // This cannot be set in the cc object as that's a singleton
119  // we can also not rely on the 'GetHarmonic' member of this class itself, because
120  // there is a-priori no reason to assume that it's set, and it has no default value
121  Int_t fHarmonicInt; // flow harmonic (2 by default)
122 
123  ClassDef(AliFlowCommonHist,5) // macro for rootcint
124 };
125 #endif
126 
double Double_t
Definition: External.C:58
Double_t GetEntriesInEtaBinPOI(Int_t iBin)
Definition: External.C:236
const char * title
Definition: MakeQAPdf.C:27
Double_t GetMeanPt(Int_t iBin)
TProfile * GetHistProMeanPtperBin()
Double_t GetEntriesInPtBinPOI(Int_t iBin)
AliFlowCommonHist & operator=(const AliFlowCommonHist &aSetOfHists)
TProfile * GetRefMultVsNoOfRPs()
virtual Double_t Merge(TCollection *aList)
void Browse(TBrowser *b)
Bool_t FillControlHistograms(AliFlowEventSimple *anEvent, TList *weightsList=NULL, Bool_t usePhiWeights=kFALSE, Bool_t usePtWeights=kFALSE, Bool_t useEtaWeights=kFALSE)
Bool_t IsFolder() const
int Int_t
Definition: External.C:63
Definition: External.C:212
void Print(Option_t *option="") const
Double_t GetEntriesInPtBinRP(Int_t iBin)
Double_t GetEntriesInEtaBinRP(Int_t iBin)
TProfile * fRefMultVsNoOfRPs
TProfile * fHistProMeanPtperBin
const char Option_t
Definition: External.C:48
bool Bool_t
Definition: External.C:53
TProfile * GetHarmonic()