3 #ifndef DNDETANALYSIS_H
4 #define DNDETANALYSIS_H
6 // ------------------------------------------------------
8 // Class for dn/deta analysis
10 // ------------------------------------------------------
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?
21 #include "AlidNdEtaCorrection.h"
26 class AlidNdEtaCorrection;
29 class dNdEtaAnalysis : public TNamed
32 enum { kVertexBinning = 1+2 }; // the first is for the whole vertex range, the others divide the vertex range
35 dNdEtaAnalysis(Char_t* name, Char_t* title);
36 virtual ~dNdEtaAnalysis();
38 dNdEtaAnalysis(const dNdEtaAnalysis &c);
39 dNdEtaAnalysis &operator=(const dNdEtaAnalysis &c);
40 virtual void Copy(TObject &c) const;
42 void FillTrack(Float_t vtx, Float_t eta, Float_t pt);
43 void FillEvent(Float_t vtx, Float_t n);
45 void Finish(AlidNdEtaCorrection* correction, Float_t ptCut, AlidNdEtaCorrection::CorrectionType correctionType);
47 void DrawHistograms(Bool_t simple = kFALSE);
48 void LoadHistograms(const Char_t* dir = 0);
49 void SaveHistograms();
51 virtual Long64_t Merge(TCollection* list);
53 AliCorrection* GetData() { return fData; }
55 TH1F* GetPtHistogram() { return fPtDist; }
57 TH1F* GetdNdEtaHistogram(Int_t i = 0) { return fdNdEta[i]; }
58 TH1F* GetdNdEtaPtCutOffCorrectedHistogram(Int_t i = 0) { return fdNdEtaPtCutOffCorrected[i]; }
61 AliCorrection* fData; // we store the data in an AliCorrection
63 TH1F* fPtDist; // pt distribution
65 TH1F* fdNdEta[kVertexBinning]; // dndeta results for different vertex bins (0 = full range)
66 TH1F* fdNdEtaPtCutOffCorrected[kVertexBinning]; // dndeta results for different vertex bins (0 = full range), pt cut off corrected
68 ClassDef(dNdEtaAnalysis, 1)