StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StCentralityMaker.h
1 /******************************************************************************
2  * $Id: StCentralityMaker.h,v 1.4 2012/04/25 05:17:24 hmasui Exp $
3  * $Log: StCentralityMaker.h,v $
4  * Revision 1.4 2012/04/25 05:17:24 hmasui
5  * Remove SetModeNBD() and corresponding data member, merged into GetNegativeBinomial() function
6  *
7  * Revision 1.3 2010/11/20 19:01:32 hmasui
8  * Move mode flag for NBD to contrl npp and x from StFastGlauberMcMaker
9  *
10 ******************************************************************************/
11 
12 #ifndef __StCentralityMaker_h__
13 #define __StCentralityMaker_h__
14 
15 #include "Rtypes.h"
16 #include <vector>
17 class StCentrality ;
18 class StNegativeBinomial ;
19 
20 //____________________________________________________________________________________________________
21 // Class StCentralityMaker: Centrality maker
22 // - Have 3 different NBD parameters: default, low (npp, x), high (npp, x)
23 //
24 // - Access centrality class (StCentrality) by
25 // StCentrality* GetCentrality(const UInt_t id) const
26 // where id = 0, 1, 2
27 // id = 0: default centrality
28 // id = 1: low (npp, x)
29 // id = 2: high (npp, x)
30 //
31 // - Each centrality class (StCentrality) can provide 3 different centrality bins by
32 // StCentrality::GetCentrality(const UInt_t multiplicity, const UInt_t mode) const
33 // where mode = 0, 1 or 2
34 // mode = 0: default centrality
35 // mode = 1: -5% total cross section
36 // mode = 2: +5% total cross section
37 //
39  public:
41  StCentralityMaker(const Char_t* system);
42  virtual ~StCentralityMaker();
43 
44  // Get NBD
45  // Make sure the proper "mode" has been set by StCentralityMaker::SetModeNBD(const UInt_t mode) ;
46  // Default mode is 0
47  //
48  // mode description
49  // 0 default Npp
50  // 1 Small Npp, large x
51  // 2 Large Npp, small x
52  const StNegativeBinomial* GetNegativeBinomial(const UInt_t id = 0) const ;
53 
54  // Initialization for specific systems (see details in source)
55  void Init(const Char_t* system = "AuAu_200GeV") ;
56 
57  // Get centrality, use StCentrality::GetCentrality(const UInt_t multiplicity)
58  // to access the centrality values from multiplicity
59  StCentrality* GetCentrality(const UInt_t id = 0) const ;
60 
61  private:
62  // Functions
63 
65  void Init(const Double_t npp, const Double_t k, const Double_t x,
66  const Double_t efficiency=1.0, const Double_t triggerbias=1.0, const Bool_t useTpc=kTRUE) ;
67 
68  // Data members
69  std::vector<StNegativeBinomial*> mNBinomial ;
70  std::vector<StCentrality*> mCentrality ;
71 
72  ClassDef(StCentralityMaker, 0)
73 };
74 #endif
75 
void Init(const Char_t *system="AuAu_200GeV")
virtual ~StCentralityMaker()
Call init(const Char_t* system)
const StNegativeBinomial * GetNegativeBinomial(const UInt_t id=0) const
Default destructor.