StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StCentrality.h
1 
2 #ifndef __StCentrality_h__
3 #define __StCentrality_h__
4 
5 #include <vector>
6 #include "TString.h"
7 
8 //____________________________________________________________________________________________________
9 // Class StCentrality: Centrality class
10 // - Centrality: multiplicity cut, and corresponding centrality range
11 // - NBD: npp, k and x parameters
12 class StCentrality {
13  public:
18  StCentrality(const TString system = "AuAu_200GeV", const TString type="default");
19  virtual ~StCentrality();
20 
21  static void help() ;
22 
23  // Getters
24 
25  // mode
26  // 0 default
27  // 1 -5% total cross section
28  // 2 +5% total cross section
29  Double_t GetCentrality(const UInt_t multiplicity, const UInt_t mode=0) const ; // Get centrality
30 
31  Double_t GetNpp() const ;
32  Double_t GetK() const ;
33  Double_t GetX() const ;
34  Double_t GetEfficiency() const ;
35  Double_t GetTriggerBias() const ;
36 
37  Double_t GetReweighting(const UInt_t multiplicity) const ;
38 
39  private:
40  // Functions
41  Double_t GetNppError(const Double_t npp) const ;
42 
43  // Initialization
44  void Init_AuAu200GeV() ;
45  void Init_AuAu62GeV() ;
46  void Init_AuAu39GeV() ;
47  void Init_AuAu27GeV() ;
48  void Init_AuAu19GeV() ;
49  void Init_AuAu11GeV() ;
50  void Init_AuAu7GeV() ;
51  // void Init_SmSm200GeV() ; /// Initialization of Sm + Sm 200 GeV
52  void Init_dAu200GeV() ;
53 
54  // Need actual implementation
55  void Init_CuCu200GeV() ;
56  void Init_ZrZr200GeV() ;
57  void Init_UU200GeV() ;
58  void Init_PbPb2760GeV() ;
59 
60  // Data members
61  enum {
62  mNMode = 3
63  };
64 
65  const TString mType ;
66  Double_t mNpp ;
67  Double_t mK ;
68  Double_t mX ;
69  Double_t mEfficiency ;
70  Double_t mTriggerBias ;
71  Double_t mParReweighting[2];
72  std::vector<UInt_t> mMultiplicityCut[mNMode] ;
73  std::vector<Double_t> mCentralityMin[mNMode] ;
74  std::vector<Double_t> mCentralityMax[mNMode] ;
75 
76  ClassDef(StCentrality, 0)
77 };
78 
79 inline Double_t StCentrality::GetNpp() const { return mNpp ; }
80 inline Double_t StCentrality::GetK() const { return mK ; }
81 inline Double_t StCentrality::GetX() const { return mX ; }
82 inline Double_t StCentrality::GetEfficiency() const { return mEfficiency ; }
83 inline Double_t StCentrality::GetTriggerBias() const { return mTriggerBias ; }
84 
85 #endif
86 
virtual ~StCentrality()
Default constructor.
Double_t GetEfficiency() const
Get X.
Definition: StCentrality.h:82
static void help()
Default destructor.
StCentrality(const TString system="AuAu_200GeV", const TString type="default")
Double_t GetTriggerBias() const
Get efficiency.
Definition: StCentrality.h:83
Double_t GetReweighting(const UInt_t multiplicity) const
Get trigger bias.
Double_t GetX() const
Get K.
Definition: StCentrality.h:81
Double_t GetCentrality(const UInt_t multiplicity, const UInt_t mode=0) const
Print help messages.
Double_t GetK() const
Get Npp.
Definition: StCentrality.h:80