]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG0/dNdEta/dNdEtaAnalysis.h
o) splitted analysis and correction of dneta
[u/mrichter/AliRoot.git] / PWG0 / dNdEta / dNdEtaAnalysis.h
1 /* $Id$ */
2
3 #ifndef DNDETANALYSIS_H
4 #define DNDETANALYSIS_H
5
6 // ------------------------------------------------------
7 //
8 // Class for dn/deta analysis
9 //
10 // ------------------------------------------------------
11 // 
12 // TODO:
13 // - more documentation
14 // - add debug statements
15 // - add more histograms
16 // - add functionality to set the bin sizes
17 // - figure out correct way to treat the errors
18 // - add functionality to make dn/deta for different mult classes?
19 // - implement destructor
20
21 #include <TNamed.h>
22
23 class TH2F;
24 class TH1D;
25 class TCollection;
26 class dNdEtaCorrection;
27
28 class dNdEtaAnalysis : public TNamed
29 {
30 public:
31   enum { kVertexBinning = 1+4 }; // the first is for the whole vertex range, the others divide the vertex range
32
33   dNdEtaAnalysis(Char_t* name, Char_t* title);
34
35   void FillTrack(Float_t vtx, Float_t eta);
36   void FillEvent(Float_t vtx);
37
38   void Finish(dNdEtaCorrection* correction);
39
40   void DrawHistograms();
41   void LoadHistograms();
42   void SaveHistograms();
43
44   virtual Long64_t Merge(TCollection* list);
45
46   TH2F* GetEtaVsVtxHistogram() { return hEtaVsVtx; }
47   TH2F* GetEtaVsVtxUncorrectedHistogram() { return hEtaVsVtxUncorrected; }
48   TH1D* GetVtxHistogram() { return hVtx; }
49   TH1D* GetdNdEtaHistogram(Int_t i = 0) { return hdNdEta[i]; }
50
51 protected:
52   TH2F* hEtaVsVtx;
53   TH2F* hEtaVsVtxUncorrected;
54   TH1D* hVtx;
55   TH1D* hdNdEta[kVertexBinning];
56
57   ClassDef(dNdEtaAnalysis,0)
58 };
59
60 #endif