StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StEStructFluctuations.h
1 #ifndef __STESTRUCTFLUCTUATIONS__H
2 #define __STESTRUCTFLUCTUATIONS__H
3 
4 #include "multStruct.h"
5 
6 class TFile;
7 class TH1F;
8 class TH1D;
9 class TH2F;
10 
12 
13  protected:
14 
15  public:
16 
17  StEStructFluct( char *key, int totBins,
18  float EtaMin, float EtaMax,
19  float PtMin, float PtMax );
20  virtual ~StEStructFluct();
21 
22  void initArrays();
23  void deleteArrays();
24  void initHistograms();
25  void deleteHistograms();
26 
27  void fillHistograms();
28  void writeHistograms();
29  void writeQAHistograms();
30 
31  void AddToBin( int iBin,
32  double plus, double minus,
33  double pplus, double pminus,
34  double psqplus, double psqminus );
35  void fillOccupancies( double dPhi, double dEta,
36  double nPlus, double nMinus,
37  double pPlus, double pMinus );
38  void fillMults( double nPlus, double nMinus,
39  double pPlus, double pMinus );
40  void fillEtaZ( float z, float eta,
41  int maxFitPoints, int foundPoints, int nFitPoints,
42  int iF, int iL );
43  void fillPtHist( double pt, int sign );
44  void fillPhiHist( double phi, int sign );
45  void fillEtaHist( double eta, int sign );
46 
47  // For ease of I/O I put info into histograms.
48  // Accumulating into histograms is very slow, so I
49  // accumulate into arrays. Copy to histograms for
50  // writing at the end.
51  double *TotEvents[6];
52  double *NSum[16];
53  double *NDiff[2];
54  double *NPlus[5];
55  double *NMinus[5];
56  double *NPlusMinus[8];
57  double *PSum[21];
58  double *PDiff[16];
59  double *PPlus[11];
60  double *PMinus[11];
61  double *PPlusMinus[17];
62 
63  TH1D *hTotEvents[6];
64  TH1D *hNSum[16];
65  TH1D *hNDiff[2];
66  TH1D *hNPlus[5];
67  TH1D *hNMinus[5];
68  TH1D *hNPlusMinus[8];
69  TH1D *hPSum[21];
70  TH1D *hPDiff[16];
71  TH1D *hPPlus[11];
72  TH1D *hPMinus[11];
73  TH1D *hPPlusMinus[17];
74 
75 
76  TH2F *occNSum;
77  TH2F *occNPlus;
78  TH2F *occNMinus;
79  TH2F *occNDiff;
80  TH2F *occPSum;
81  TH2F *occPPlus;
82  TH2F *occPMinus;
83  TH2F *occPDiff;
84  TH2F *occPNSum;
85  TH2F *occPNPlus;
86  TH2F *occPNMinus;
87  TH2F *occPNDiff;
88 
89  TH2F *EtaZNTracks;
90  TH2F *EtaZNFitPoints;
91  TH2F *EtaZNMaxPoints;
92  TH2F *EtaZNFoundPoints;
93  TH2F *InnerRow;
94  TH2F *OuterRow;
95 
96  TH1F *multNSum;
97  TH1F *multNPlus;
98  TH1F *multNMinus;
99  TH1F *multNDiff;
100  TH1F *multPSum;
101  TH1F *multPPlus;
102  TH1F *multPMinus;
103  TH1F *multPDiff;
104 
105  TH1F *ptAll;
106  TH1F *ptPlus;
107  TH1F *ptMinus;
108  TH1F *phiPlus;
109  TH1F *phiMinus;
110  TH1F *etaPlus;
111  TH1F *etaMinus;
112 
113  // mKey is a unique string which we use to identify histograms that
114  // belong to this object. Important when reading histograms produced
115  // by this object.
116  char *mKey;
117  int mTotBins;
118  float mEtaMin, mEtaMax;
119  float mPtMin, mPtMax;
120 
121  ClassDef(StEStructFluct,1)
122 };
123 
124 #endif