StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StHiStuff.h
1 /***************************************************************************
2  *
3  * $Id: StHiStuff.h,v 1.3 2004/01/26 23:00:11 perev Exp $
4  *
5  * Author: Bum Choi, UT Austin, Apr 2002
6  *
7  ***************************************************************************
8  *
9  * Description: Class for making highpt Analysis histograms from highpt
10  * uDST's
11  *
12  ***************************************************************************
13  *
14  * $Log: StHiStuff.h,v $
15  * Revision 1.3 2004/01/26 23:00:11 perev
16  * Add init of statick member
17  *
18  * Revision 1.2 2002/05/31 21:58:30 jklay
19  * Updated analysis code to use new cut class
20  *
21  * Revision 1.1 2002/04/02 20:05:19 jklay
22  * Bums analysis tools for highpt uDSTs
23  *
24  *
25  **************************************************************************/
26 #ifndef StHiStuff_H
27 #define StHiStuff_H
28 
29 
30 #include "StHiBaseAnalysis.h"
31 
32 class StHiStuff : public StHiBaseAnalysis{
33  public:
34  StHiStuff(const char* inputDir="./",
35  const char* outRootName="hianalysis.hist.root");
36  virtual ~StHiStuff();
37 
38  protected:
39 
40  void initHistograms();
41  Int_t initMore();
42  void fillEventHistograms();
43  void finishHistograms();
44 
45  Bool_t acceptEvent(StHiMicroEvent*);
46 
47  void trackLoop();
48 
49  Int_t findSector(Float_t phi, Int_t firstSector);
50 
51  static Float_t mMinPt;
52 
53  //###### histograms
54 
55  struct PlusMinus{
56 
57  TH3D* h3PhiGlDcaXYGlVertexZ;
58  TH3D* h3PhiPrDcaXYGlVertexZ;
59 
60  // reality check
61 
62  TH1D* h1PhiGlReality;
63 
64  TH3D* h3PhiPrDcaXYGlPtPr;
65  TH3D* h3PhiGlDcaXYGlPtGl;
66 
67  TH3D* h3SectorDcaXYGlPtPr;
68  TH3D* h3SectorDcaXYGlPtGl;
69 
70  TH3D* h3SectorVertexZPtPr;
71  TH3D* h3SectorVertexZPtGl;
72 
73  TH3D* h3PhiPrVertexZPtPr; // integrate over pt
74  TH3D* h3PhiGlVertexZPtGl;
75 
76  TH3D* h3PhiPrEtaPrMidZ;
77  TH3D* h3PhiGlEtaPrMidZ;
78 
79  TH1D* h1PhiPrHighPtCut;
80  TH1D* h1PhiPrLowPtCut;
81 
82  // look at fit hits
83  TH3D* h3PhiPrNFitHitPtPr;
84  TH3D* h3PhiPrNAllHitPtPr;
85  TH3D* h3PhiPrFracHitPtPr;
86 
87  TH3D* h3PhiPrSmallNFitHitPtPr;
88  TH3D* h3PhiPrSmallNAllHitPtPr;
89  TH3D* h3PhiPrSmallFracHitPtPr;
90 
91  TH3D* h3PhiGlNFitHitPtPr;
92  TH3D* h3PhiGlNAllHitPtPr;
93  TH3D* h3PhiGlFracHitPtPr;
94 
95  //*** analysis cut
96 
97  TH3D* h3VtxZEtaPrPtPrCut;
98  TH3D* h3VtxZEtaGlPtGlCut;
99 
100  TH3D* h3ResPtDcaXYGlPtGlEastCut;
101  TH3D* h3ResPtDcaXYGlPtGlWestCut;
102 
103  TH3D* h3ResPtDcaXYGlPtPrEastCut;
104  TH3D* h3ResPtDcaXYGlPtPrWestCut;
105 
106  TH3D* h3PhiGlPtPrPtGlEastCut;
107  TH3D* h3PhiGlPtPrPtGlWestCut;
108 
109  TH2D* h2VtxZLastZ;
110 
111 
112  };
113 
114  struct EastWest {
115  PlusMinus pm[3];
116  };
117 
118  EastWest ew[3]; //0 is East, 1 is West, 2 is FullTPC
119 
120  ClassDef(StHiStuff,1)
121 };
122 
123 #endif