Fixed Coding Conventions for class AliACORDERawReader (Mario Sitta)
[u/mrichter/AliRoot.git] / PWG0 / dNdEta / dNdEtaAnalysis.h
CommitLineData
dc740de4 1/* $Id$ */
2
539b6cb4 3#ifndef DNDETANALYSIS_H
4#define DNDETANALYSIS_H
5
75ec0f41 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
7029240a 20#include <TNamed.h>
74fd10b3 21#include "AlidNdEtaCorrection.h"
770a1f1d 22#include "AliPWG0Helper.h"
75ec0f41 23
74fd10b3 24class TH1F;
7029240a 25class TCollection;
74fd10b3 26
74fd10b3 27class AliCorrection;
75ec0f41 28
7029240a 29class dNdEtaAnalysis : public TNamed
ceb5d1b5 30{
75ec0f41 31public:
74fd10b3 32 enum { kVertexBinning = 1+2 }; // the first is for the whole vertex range, the others divide the vertex range
7029240a 33
1afae8ff 34 dNdEtaAnalysis();
770a1f1d 35 dNdEtaAnalysis(Char_t* name, Char_t* title, AliPWG0Helper::AnalysisMode analysisMode = AliPWG0Helper::kTPC);
16e24ca3 36 virtual ~dNdEtaAnalysis();
37
38 dNdEtaAnalysis(const dNdEtaAnalysis &c);
39 dNdEtaAnalysis &operator=(const dNdEtaAnalysis &c);
40 virtual void Copy(TObject &c) const;
75ec0f41 41
74fd10b3 42 void FillTrack(Float_t vtx, Float_t eta, Float_t pt);
43 void FillEvent(Float_t vtx, Float_t n);
ceb5d1b5 44
3dfa46a4 45 void Finish(AlidNdEtaCorrection* correction, Float_t ptCut, AlidNdEtaCorrection::CorrectionType correctionType, Int_t multCut = 0);
ceb5d1b5 46
74fd10b3 47 void DrawHistograms(Bool_t simple = kFALSE);
48 void LoadHistograms(const Char_t* dir = 0);
75ec0f41 49 void SaveHistograms();
ceb5d1b5 50
7029240a 51 virtual Long64_t Merge(TCollection* list);
52
74fd10b3 53 AliCorrection* GetData() { return fData; }
ceb5d1b5 54
74fd10b3 55 TH1F* GetPtHistogram() { return fPtDist; }
45e97e28 56
74fd10b3 57 TH1F* GetdNdEtaHistogram(Int_t i = 0) { return fdNdEta[i]; }
58 TH1F* GetdNdEtaPtCutOffCorrectedHistogram(Int_t i = 0) { return fdNdEtaPtCutOffCorrected[i]; }
59
60protected:
61 AliCorrection* fData; // we store the data in an AliCorrection
1afae8ff 62
74fd10b3 63 TH1F* fPtDist; // pt distribution
1afae8ff 64
3dfa46a4 65 TH1F* fdNdEtaNotEventCorrected[kVertexBinning]; // dndeta results for different vertex bins (0 = full range)
66 TH1F* fdNdEta[kVertexBinning]; // dndeta results for different vertex bins (0 = full range), mult cut off corrected
67 TH1F* fdNdEtaPtCutOffCorrected[kVertexBinning]; // dndeta results for different vertex bins (0 = full range), mult + pt cut off corrected
ceb5d1b5 68
406eb63e 69 ClassDef(dNdEtaAnalysis, 1)
75ec0f41 70};
71
539b6cb4 72#endif