]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG0/dNdEta/dNdEtaAnalysis.h
fixing warnings
[u/mrichter/AliRoot.git] / PWG0 / dNdEta / dNdEtaAnalysis.h
index bd4eba61f81404da07ab71e463899fc5535e1b37..027f13881da5f5129bfdf1f22fc3dda26e00afbc 100644 (file)
 // - add functionality to make dn/deta for different mult classes?
 
 #include <TNamed.h>
+#include "AlidNdEtaCorrection.h"
+#include "AliPWG0Helper.h"
+#include <TString.h>
 
-class TH3F;
-class TH1D;
+class TH1F;
 class TCollection;
-class AlidNdEtaCorrection;
+
+class AliCorrection;
 
 class dNdEtaAnalysis : public TNamed
 {
 public:
-  enum { kVertexBinning = 1+3 }; // 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();
-  dNdEtaAnalysis(Char_t* name, Char_t* title);
+  dNdEtaAnalysis(Char_t* name, Char_t* title, AliPWG0Helper::AnalysisMode analysisMode = AliPWG0Helper::kInvalid);
   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, Float_t pt, Float_t weight);
-  void FillEvent(Float_t vtx, Float_t weight);
+  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(AlidNdEtaCorrection* correction, Float_t ptCut);
+  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);
 
-  TH3F* GetHistogram() { return fData; }
-  TH3F* GetUncorrectedHistogram() { return fDataUncorrected; }
-  TH1D* GetVtxHistogram() { return fVtx; }
-  TH1D* GetdNdEtaHistogram(Int_t i = 0) { return fdNdEta[i]; }
+  AliCorrection* GetData() { return fData; }
+
+  TH1F* GetPtHistogram() { return fPtDist; }
+
+  TH1F* GetdNdEtaHistogram(Int_t i = 0) { return fdNdEta[i]; }
+  TH1F* GetdNdEtaPtCutOffCorrectedHistogram(Int_t i = 0) { return fdNdEtaPtCutOffCorrected[i]; }
 
 protected:
-  TH3F* fData;              // histogram Eta vs vtx (track count)
-  TH3F* fDataUncorrected;   // uncorrected histograms Eta vs vtx (track count)
+  AliCorrection* fData;     // we store the data in an AliCorrection
+  TH1F* fMult;              // (raw) multiplicity distribution of triggered events
 
-  TH1D* fVtx;                   // vtx histogram (event count)
+  TH1F* fPtDist; // pt distribution
 
-  TH1D* 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
 
-  TH1D* fdNdEta[kVertexBinning]; // dndeta results for different vertex bins (0 = full range)
-  TH1D* 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