StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StGlauberCumulantHistogramMaker.h
1 /******************************************************************************
2  * $Id: StGlauberCumulantHistogramMaker.h,v 1.2 2012/04/25 05:03:31 hmasui Exp $
3  * $Log: StGlauberCumulantHistogramMaker.h,v $
4  * Revision 1.2 2012/04/25 05:03:31 hmasui
5  * Use STAR logger
6  *
7 ******************************************************************************/
8 
9 #ifndef __StGlauberCumulantHistogramMaker_h__
10 #define __StGlauberCumulantHistogramMaker_h__
11 
12 #include <vector>
13 #include "StGlauberHistogramMaker.h"
14 
15 //____________________________________________________________________________________________________
16 // Class StGlauberCumulantHistogramMaker: Cumulant histogram maker, mainly for eccentricity
18  public:
19  // Fixed bin width, make histograms up to 6th order cumulant
20  StGlauberCumulantHistogramMaker(const TString name,
21  const TString title, const TString ytitle,
22  const Int_t ybin, const Double_t ymin, const Double_t ymax,
23  const Bool_t isUnitWeight=kTRUE);
24 
26 
27  void Init() ;
28  void Fill(const Double_t y, const Double_t weight) ;
29 
35  void Finish(const TString type) ;
36 
37  private:
38  // Functions
39  void Reset() ;
40 
41  UInt_t GetOrder(const UInt_t io) const ;
42  Double_t Get4thOrderCumulant(const Double_t c2, const Double_t c4) const ;
43  Double_t Get6thOrderCumulant(const Double_t c2, const Double_t c4, const Double_t c6) const ;
44 
45  Double_t GetNthOrderCumulantError(const Double_t order, const Double_t val, const Double_t err) const ;
46  Double_t Get2ndOrderCumulantError(const Double_t c2, const Double_t c2error) const ;
47  Double_t Get4thOrderCumulantError(const Double_t c2, const Double_t c4, const Double_t c2error, const Double_t c4error) const ;
48  Double_t Get6thOrderCumulantError(const Double_t c2, const Double_t c4, const Double_t c6,
49  const Double_t c2error, const Double_t c4error, const Double_t c6error) const ;
50 
51  Double_t GetCumulant(const UInt_t order, const Double_t* val) const ;
52  Double_t GetCumulantError(const UInt_t order, const Double_t* val, const Double_t* err) const ;
53 
54  // Data members
55  enum {
56  mNOrder = 3
57  };
58 
59  std::vector<TProfile*> mProfileCumulant[mNOrder] ;
60  std::vector<TH1*> mHistogram1DCumulant[mNOrder] ;
61 
63 };
64 #endif
65 
void Fill(const Double_t y, const Double_t weight)
Set X-axis variable.