StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StHiAnalysis.h
1 /***************************************************************************
2  *
3  * $Id: StHiAnalysis.h,v 1.4 2002/06/13 01:14:25 jklay Exp $
4  *
5  * Author: Bum Choi, UT Austin, Apr 2002
6  *
7  ***************************************************************************
8  *
9  * Description: Class to perform highpt Analysis on highpt uDSTs
10  *
11  *
12  ***************************************************************************
13  *
14  * $Log: StHiAnalysis.h,v $
15  * Revision 1.4 2002/06/13 01:14:25 jklay
16  * Combined Spectra histos into analysis
17  *
18  * Revision 1.1 2002/04/02 20:05:18 jklay
19  * Bums analysis tools for highpt uDSTs
20  *
21  *
22  **************************************************************************/
23 #ifndef StHiAnalysis_H
24 #define StHiAnalysis_H
25 
26 #include "StHiBaseAnalysis.h"
27 
29  public:
30  StHiAnalysis(const char* inputDir="./",
31  const char* outRootName="hianalysis.hist.root");
32  virtual ~StHiAnalysis();
33 
34  private:
35 
36  void initHistograms();
37  void fillEventHistograms();
38  void finishHistograms();
39 
40  void trackLoop();
41 
42  //***************************************************************
43  // histograms
44  //
45 
46  //Event level histograms
47  TH3D* h3VertexXYZ;
48  TH2D* h2ZDCSumVsCTB;
49 
50  TH2D* h2NGoodGlobalsVsNch;
51  TH1D* h1FlowCent;
52 
53  TH1D* h1NEvent;
54  TH1D* h1EtaCut;
55 
56 //Track level histograms
57  TH1D* h1FitPts;
58 
59  //Before cut on specified variable, but all cut on |eta|<0.5
60  TH2D* h2DcaGlVsSector;
61  TH2D* h2DcaXYGlVsSector;
62  TH2D* h2FitPtsVsSector;
63  TH2D* h2MaxPtsVsSector;
64  TH2D* h2AllPtsVsSector;
65 
66  //After all track cuts
67  TH1D* h1YieldVsSector;
68  TH2D* h2PrPtVsSector;
69  TH2D* h2GlPtVsSector;
70  TH2D* h2ResPrPtVsSector;
71  TH2D* h2ResGlPtVsSector;
72 
73  // 0 is plus, 1 is minus 2 is plus+minus
74  struct PlusMinus{
75  TH3D* h3PhiPrDcaXYGlPtPr; // look at phi counts
76  TH3D* h3PhiGlDcaXYGlPtGl;
77 
78  TH3D* h3DcaGlDcaXYGlPtPr; // look at dca's for different pt bins
79  TH3D* h3DcaGlDcaXYGlPtGl;
80 
81  // --backgrounds
82  TH2D* h2SDcaGlPtPrRebin;
83  TH2D* h2DcaXYGlPtPrRebin;
84  TH2D* h2DcaGlPtPrRebin;
85  // --
86 
87  TH3D* h3PhiPrFitPtsPtPr; // phi,fit pts,pt
88  TH3D* h3VtxZFitPtsPtPr; // vtx z, fit pts, pt
89  TH3D* h3VtxZFitPtsEtaPr; // vtx z, fit pts, eta
90 
91  TH3D* h3PhiPrAllPtsPtPr; // phi, all pts, pt
92  TH3D* h3PhiPrMaxPtsPtPr; // phi, all pts, pt
93 
94  TH3D* h3FlowCentFitPtsPtPr; // flow cent, fit pts, pt
95 
96  //TH2D* h2ZDCCentralityPtPr; // pt yields and centrality
97  TH2D* h2CentralityPtPr;
98  TH3D* h3VtxZEtaPrPtPr; // reality check of the eta vs vertex
99  TH3D* h3VtxZEtaGlPtGl;
100 
101 //Hey, this is everything we need to do the spectra analysis!
102  TH1D* h1RawPtGlVarBin0; //
103  TH1D* h1RawPtGlVarBin1; //
104  TH1D* h1RawPtPrVarBin0; //
105  TH1D* h1RawPtPrVarBin1; //
106 
107  TH1D* h1OneOverPtGlVarBin0; //
108  TH1D* h1OneOverPtGlVarBin1; //
109  TH1D* h1OneOverPtPrVarBin0; //
110  TH1D* h1OneOverPtPrVarBin1; //
111 
112  TH1D* h1WeightedMeanPtGlVarBin0; // h1Raw/h1OneOverPt
113  TH1D* h1WeightedMeanPtGlVarBin1; //
114  TH1D* h1WeightedMeanPtPrVarBin0; //
115  TH1D* h1WeightedMeanPtPrVarBin1; //
116  };
117 
118  //0 is East 1 is West 2 is Both
119  struct EastWest{
120  PlusMinus pm[3];
121  };
122 
123  EastWest ew[3];
124 
125 //Note: East and West, where track and vtx Z are on same side can be obtained by
126 // setting the vertex Z cut to one side or the other and comparing the East from VtxZ<0 with
127 // West from VtxZ>0 runs.
128 
129  TH3D* h3ResPtPrGlPtPrDcaXYGl;
130  TH3D* h3ResPtPrGlPtGlDcaXYGl;
131 
132 
133  ClassDef(StHiAnalysis,1)
134 };
135 
136 #endif