]>
Commit | Line | Data |
---|---|---|
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" |
745d6088 | 23 | #include <TString.h> |
75ec0f41 | 24 | |
74fd10b3 | 25 | class TH1F; |
7029240a | 26 | class TCollection; |
74fd10b3 | 27 | |
74fd10b3 | 28 | class AliCorrection; |
75ec0f41 | 29 | |
7029240a | 30 | class dNdEtaAnalysis : public TNamed |
ceb5d1b5 | 31 | { |
75ec0f41 | 32 | public: |
74fd10b3 | 33 | enum { kVertexBinning = 1+2 }; // the first is for the whole vertex range, the others divide the vertex range |
7029240a | 34 | |
1afae8ff | 35 | dNdEtaAnalysis(); |
a7f69e56 | 36 | dNdEtaAnalysis(const Char_t* name, const Char_t* title, AliPWG0Helper::AnalysisMode analysisMode = (AliPWG0Helper::AnalysisMode) (AliPWG0Helper::kTPC | AliPWG0Helper::kFieldOn)); |
16e24ca3 | 37 | virtual ~dNdEtaAnalysis(); |
38 | ||
39 | dNdEtaAnalysis(const dNdEtaAnalysis &c); | |
40 | dNdEtaAnalysis &operator=(const dNdEtaAnalysis &c); | |
41 | virtual void Copy(TObject &c) const; | |
75ec0f41 | 42 | |
74fd10b3 | 43 | void FillTrack(Float_t vtx, Float_t eta, Float_t pt); |
44 | void FillEvent(Float_t vtx, Float_t n); | |
7307d52c | 45 | void FillTriggeredEvent(Float_t n); |
ceb5d1b5 | 46 | |
81be4ee8 | 47 | void Finish(AlidNdEtaCorrection* correction, Float_t ptCut, AlidNdEtaCorrection::CorrectionType correctionType, const char* tag = "", Int_t backgroundSubtraction = 0, TH1* combinatoricsCorrection = 0); |
ceb5d1b5 | 48 | |
74fd10b3 | 49 | void DrawHistograms(Bool_t simple = kFALSE); |
50 | void LoadHistograms(const Char_t* dir = 0); | |
75ec0f41 | 51 | void SaveHistograms(); |
ceb5d1b5 | 52 | |
7029240a | 53 | virtual Long64_t Merge(TCollection* list); |
54 | ||
a6e0ebfe | 55 | AliCorrection* GetData() const { return fData; } |
ceb5d1b5 | 56 | |
a6e0ebfe | 57 | TH1F* GetPtHistogram() const { return fPtDist; } |
45e97e28 | 58 | |
a6e0ebfe | 59 | TH1F* GetdNdEtaHistogram(Int_t i = 0) const { return fdNdEta[i]; } |
60 | TH1F* GetdNdEtaPtCutOffCorrectedHistogram(Int_t i = 0) const { return fdNdEtaPtCutOffCorrected[i]; } | |
74fd10b3 | 61 | |
51f6de65 | 62 | void SetAnalysisMode(AliPWG0Helper::AnalysisMode mode) { fAnalysisMode = mode; } |
69b09e3b | 63 | AliPWG0Helper::AnalysisMode GetAnalysisMode() { return fAnalysisMode; } |
51f6de65 | 64 | |
68fa248f | 65 | void SetVtxMin(Float_t vtxMin) {fvtxMin = vtxMin;} |
66 | void SetVtxMax(Float_t vtxMax) {fvtxMax = vtxMax;} | |
67 | ||
74fd10b3 | 68 | protected: |
567160d6 | 69 | Float_t GetVtxMin(Float_t eta); |
70 | ||
74fd10b3 | 71 | AliCorrection* fData; // we store the data in an AliCorrection |
7307d52c | 72 | TH1F* fMult; // (raw) multiplicity distribution of triggered events |
1afae8ff | 73 | |
74fd10b3 | 74 | TH1F* fPtDist; // pt distribution |
1afae8ff | 75 | |
7307d52c | 76 | TH1F* fdNdEta[kVertexBinning]; // dndeta results for different vertex bins (0 = full range) |
77 | TH1F* fdNdEtaPtCutOffCorrected[kVertexBinning]; // dndeta results for different vertex bins (0 = full range), pt cut off corrected | |
ceb5d1b5 | 78 | |
745d6088 | 79 | AliPWG0Helper::AnalysisMode fAnalysisMode; // detector (combination) used for the analysis |
80 | TString fTag; // tag saved that describes the applied correction | |
81 | ||
68fa248f | 82 | Float_t fvtxMin; // mininum vtx on which to integrate |
83 | Float_t fvtxMax; // maximum vtx on which to intgrate | |
84 | ||
85 | ClassDef(dNdEtaAnalysis, 3) | |
75ec0f41 | 86 | }; |
87 | ||
539b6cb4 | 88 | #endif |