X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PWG0%2FdNdEta%2FdNdEtaAnalysis.h;h=6eea884152e6f653b4385e10359404c6826af8c0;hb=4c080b2895ba3d35af85e610cb113204c769cfb8;hp=3ac557357fd3808f3220e6f862962a9299e6cd6e;hpb=16e24ca35b53c1e6ddbb759d9d8c077c542a160b;p=u%2Fmrichter%2FAliRoot.git diff --git a/PWG0/dNdEta/dNdEtaAnalysis.h b/PWG0/dNdEta/dNdEtaAnalysis.h index 3ac557357fd..6eea884152e 100644 --- a/PWG0/dNdEta/dNdEtaAnalysis.h +++ b/PWG0/dNdEta/dNdEtaAnalysis.h @@ -16,50 +16,67 @@ // - add functionality to set the bin sizes // - figure out correct way to treat the errors // - add functionality to make dn/deta for different mult classes? -// - implement destructor #include +#include "AlidNdEtaCorrection.h" +#include "AliPWG0Helper.h" +#include -class TH2F; -class TH1D; +class TH1F; class TCollection; -class dNdEtaCorrection; + +class AliCorrection; class dNdEtaAnalysis : public TNamed { public: - enum { kVertexBinning = 1+4 }; // the first is for the whole vertex range, the others divide the vertex range + enum { kVertexBinning = 1+2 }; // the first is for the whole vertex range, the others divide the vertex range - dNdEtaAnalysis(Char_t* name, Char_t* title); + dNdEtaAnalysis(); + dNdEtaAnalysis(const Char_t* name, const Char_t* title, AliPWG0Helper::AnalysisMode analysisMode = (AliPWG0Helper::AnalysisMode) (AliPWG0Helper::kTPC | AliPWG0Helper::kFieldOn)); virtual ~dNdEtaAnalysis(); dNdEtaAnalysis(const dNdEtaAnalysis &c); dNdEtaAnalysis &operator=(const dNdEtaAnalysis &c); virtual void Copy(TObject &c) const; - void FillTrack(Float_t vtx, Float_t eta); - void FillEvent(Float_t vtx); + void FillTrack(Float_t vtx, Float_t eta, Float_t pt); + void FillEvent(Float_t vtx, Float_t n); + void FillTriggeredEvent(Float_t n); - void Finish(dNdEtaCorrection* correction); + void Finish(AlidNdEtaCorrection* correction, Float_t ptCut, AlidNdEtaCorrection::CorrectionType correctionType, const char* tag = ""); - void DrawHistograms(); - void LoadHistograms(); + void DrawHistograms(Bool_t simple = kFALSE); + void LoadHistograms(const Char_t* dir = 0); void SaveHistograms(); virtual Long64_t Merge(TCollection* list); - TH2F* GetEtaVsVtxHistogram() { return fEtaVsVtx; } - TH2F* GetEtaVsVtxUncorrectedHistogram() { return fEtaVsVtxUncorrected; } - TH1D* GetVtxHistogram() { return fVtx; } - TH1D* GetdNdEtaHistogram(Int_t i = 0) { return fdNdEta[i]; } + AliCorrection* GetData() const { return fData; } + + TH1F* GetPtHistogram() const { return fPtDist; } + + TH1F* GetdNdEtaHistogram(Int_t i = 0) const { return fdNdEta[i]; } + TH1F* GetdNdEtaPtCutOffCorrectedHistogram(Int_t i = 0) const { return fdNdEtaPtCutOffCorrected[i]; } + + void SetAnalysisMode(AliPWG0Helper::AnalysisMode mode) { fAnalysisMode = mode; } + AliPWG0Helper::AnalysisMode GetAnalysisMode() { return fAnalysisMode; } protected: - TH2F* fEtaVsVtx; // histogram Eta vs vtx (track count) - TH2F* fEtaVsVtxUncorrected; // uncorrected histograms Eta vs vtx (track count) - TH1D* fVtx; // vtx histogram (event count) - TH1D* fdNdEta[kVertexBinning];// dndeta results for different vertex bins (0 = full range) + Float_t GetVtxMin(Float_t eta); + + AliCorrection* fData; // we store the data in an AliCorrection + TH1F* fMult; // (raw) multiplicity distribution of triggered events + + TH1F* fPtDist; // pt distribution + + TH1F* fdNdEta[kVertexBinning]; // dndeta results for different vertex bins (0 = full range) + TH1F* fdNdEtaPtCutOffCorrected[kVertexBinning]; // dndeta results for different vertex bins (0 = full range), pt cut off corrected + + AliPWG0Helper::AnalysisMode fAnalysisMode; // detector (combination) used for the analysis + TString fTag; // tag saved that describes the applied correction - ClassDef(dNdEtaAnalysis, 0) + ClassDef(dNdEtaAnalysis, 2) }; #endif