StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StGlauberAnalysisMaker.h
1 /******************************************************************************
2  * $Id: StGlauberAnalysisMaker.h,v 1.3 2012/04/25 05:05:08 hmasui Exp $
3  * $Log: StGlauberAnalysisMaker.h,v $
4  * Revision 1.3 2012/04/25 05:05:08 hmasui
5  * Fix the multiplicity calculation in the analysis maker, use multiplicity from tree. Added higher harmonics. Unit weight for multiplicity related quantities. Use STAR logger.
6  *
7  * Revision 1.2 2010/11/21 02:27:56 hmasui
8  * Add re-weighting. Calculate multiplicity from Npart and Ncoll. Use STAR logger
9  *
10  ******************************************************************************/
11 //====================================================================================================
12 // StGlauberAnalysisMaker class
13 // Analyze outputs from Fast MC Glauber simulation by StFastGlauberMcMaker
14 //
15 // In order to make histograms from the output tree, you can do
16 // root4star -b
17 // [0] .L doAnalysisMaker.C
18 // [1] doAnalysisMaker("AuAu_200GeV", "file.list", "ana.root", "default")
19 // where first argument is the system+energy string,
20 // second argument is the input file list,
21 // third argument is the output file name
22 // and fourth argument is type. The available type can be found by
23 // StFastGlauberMcMaker::Print("type")
24 //
25 // The system+energy string should be like "%2s%2s_%dGeV",
26 // where the system name should contain 2+2 characters from
27 // each nucleus and energy should be integer (e.x. 7.7 -> 7)
28 //
29 // Reweighting correction can be applied by
30 // StGlauberAnalysisMaker::ReweightingOn()
31 //
32 // You can see the debugging messages by
33 // StGlauberAnalysisMaker::DebugOn()
34 // in case you need further checks of outputs
35 //
36 //====================================================================================================
37 
38 
39 #ifndef __StGlauberAnalysisMaker_h__
40 #define __StGlauberAnalysisMaker_h__
41 
42 class TBranch ;
43 class TFile ;
44 class TTree ;
45 class StCentralityMaker ;
48 class StGlauberTree ;
49 //#include <map>
50 #include "TString.h"
51 
52 //____________________________________________________________________________________________________
53 // Class StGlauberAnalysisMaker: Analyze initial conditions
55  public:
56  StGlauberAnalysisMaker(const TString type="default",
57  const TString system = "AuAu_200GeV", const TString outputFileName = "ana.root",
58  const TString tableDir = "./");
59  virtual ~StGlauberAnalysisMaker();
60 
61  Bool_t Make() ;
62  Bool_t RunFile(const TString inputFileName = "icmaker.root") ;
63  Bool_t Run(const TString inputFileList) ;
64  Bool_t Finish() ;
65 
66  void UnitWeightOn() ;
67  void ReweightingOn() ;
68  void DebugOn() ;
69 
70  private:
71  // Functions
72  Bool_t Init(const TString tableDir);
73 
74  // Data members
75  enum {
76  mNMaxType = 12 // Maximum number of types
77  };
78 
79  static const TString mTypeName[mNMaxType] ;
80  static const TString mDescription[mNMaxType] ;
81  // static const UInt_t mCentralityId[mNMaxType] ; /// Centrality id for corresponding type
82 
83  const TString mType ;
84  TFile* mOutputFile ;
85  TString mOutputFileName ;
86  Bool_t mUnitWeight ;
87  Bool_t mReweighting ;
88  UInt_t mDebug ;
89  UInt_t mNevents ;
90 
91  // std::map<const TString, const UInt_t> mCentralityIdMap ; /// Centrality id for each node
92 
93  StGlauberTree* mGlauberTree ;
94  StCentralityMaker* mCentralityMaker ;
95 
96  // Output histograms
97  StGlauberHistogramMaker* mImpactParameter ;
98  StGlauberHistogramMaker* mNpart ;
99  StGlauberHistogramMaker* mNcoll ;
100  StGlauberHistogramMaker* mMultiplicity ;
101  StGlauberHistogramMaker* mAreaRP ;
102  StGlauberHistogramMaker* mAreaPP ;
104  StGlauberCumulantHistogramMaker* mEccPP[3] ;
106  StGlauberCumulantHistogramMaker* mEccPPM[3] ;
107 
108  ClassDef(StGlauberAnalysisMaker, 0)
109 };
110 
111 #endif
112 
Bool_t Make()
Default destructor.
Bool_t Run(const TString inputFileList)
Loop over all events in one file.
Bool_t RunFile(const TString inputFileName="icmaker.root")
Make one event.
void UnitWeightOn()
Finish analysis.
void DebugOn()
Apply re-weighting correction.
Bool_t Finish()
Loop over all file lists.
virtual ~StGlauberAnalysisMaker()
Default constructor.
void ReweightingOn()
Use unit weight instead of multiplicity weight.