]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG2/SPECTRA/AliProtonAnalysis.h
Proper normalization for the net-protons
[u/mrichter/AliRoot.git] / PWG2 / SPECTRA / AliProtonAnalysis.h
index 8c99e07aed198d7f99fc712eb30e258d09553ba2..4f94c77363aaa82108f6f8e64e943ccaf8e21e72 100644 (file)
@@ -77,6 +77,10 @@ class AliProtonAnalysis : public TObject {
 
   TH2D *GetProtonYPtHistogram() const {return fHistYPtProtons;}
   TH2D *GetAntiProtonYPtHistogram() const {return fHistYPtAntiProtons;}
+  TH2D *GetProtonYPtCorrectedHistogram() const {
+    return fHistYPtProtonsCorrected;}
+  TH2D *GetAntiProtonCorrectedYPtHistogram() const {
+    return fHistYPtAntiProtonsCorrected;}
   TH1D *GetProtonYHistogram();
   TH1D *GetAntiProtonYHistogram();
   TH1D *GetProtonPtHistogram();
@@ -85,35 +89,48 @@ class AliProtonAnalysis : public TObject {
   TH1D *GetAntiProtonCorrectedYHistogram();
   TH1D *GetProtonCorrectedPtHistogram();
   TH1D *GetAntiProtonCorrectedPtHistogram();
-  
+
   TH1F *GetEventStatistics() {return fHistEventStats;}
 
   TList *GetYRatioHistogramsInPtBins();
   TH1D *GetYRatioHistogram();
-  TH1D *GetYRatioCorrectedHistogram(TH2D *gCorrectionMapProtons,
-                                   TH2D *gCorrectionMapAntiProtons);
+  TH1D *GetYRatioCorrectedHistogram();
   TH1D *GetPtRatioHistogram();
-  TH1D *GetPtRatioCorrectedHistogram(TH2D *gCorrectionMapProtons,
-                                    TH2D *gCorrectionMapAntiProtons);
+  TH1D *GetPtRatioCorrectedHistogram();
   TH1D *GetYAsymmetryHistogram();
   TH1D *GetPtAsymmetryHistogram();
+  TH2D *GetProtonsAbsorptionMaps() {return fHistEfficiencyYPtProtons;}
+  TH2D *GetAntiProtonsAbsorptionMaps() {return fHistEfficiencyYPtAntiProtons;}
 
   TH1I *GetEventHistogram() const {return fHistEvents;}
 
-  Int_t   GetNumberOfAnalyzedEvents() {return (Int_t)fHistEvents->GetEntries();} 
+  Int_t   GetNumberOfAnalyzedEvents() {return (Int_t)fHistEventStats->GetBinContent(5);}
   Bool_t  PrintMean(TH1 *hist, Double_t edge);
   Bool_t  PrintYields(TH1 *hist, Double_t edge); 
 
   //interface to the correction framework
+  void Correct();
   void Correct(Int_t step);
   Bool_t ReadCorrectionContainer(const char* filename);
-  TList *GetCorrectionListProtons2D() const {return fCorrectionListProtons2D;} 
-  TList *GetEfficiencyListProtons1D() const {return fEfficiencyListProtons1D;} 
-  TList *GetCorrectionListProtons1D() const {return fCorrectionListProtons1D;} 
-  TList *GetCorrectionListAntiProtons2D() const {return fCorrectionListAntiProtons2D;} 
-  TList *GetEfficiencyListAntiProtons1D() const {return fEfficiencyListAntiProtons1D;} 
-  TList *GetCorrectionListAntiProtons1D() const {return fCorrectionListAntiProtons1D;} 
-  
+  void SetCorrectionMapForFeedDown(const char* filename);
+  TH2D *GetCorrectionMapForFeedDownProtons() {
+    return fHistYPtCorrectionForFeedDownProtons;}
+  TH2D *GetCorrectionMapForFeedDownAntiProtons() {
+    return fHistYPtCorrectionForFeedDownAntiProtons;}
+  void SetCorrectionMapForCuts(const char* filename);
+  TH2D *GetCorrectionMapForCutsProtons() {
+    return fHistYPtCorrectionForCutsProtons;}
+  TH2D *GetCorrectionMapForCutsAntiProtons() {
+    return fHistYPtCorrectionForCutsAntiProtons;}
+  void SetCorrectionMapForSecondaries(const char* filename);
+  TH2D *GetCorrectionMapForSecondaries() {
+    return fHistYPtCorrectionForSecondaries;}
+  void SetCorrectionMapForCrossSection(const char* filename);
+  TH2D *GetProtonsCorrectionMapForCrossSection() {
+    return fHistCorrectionForCrossSectionYPtProtons;}
+  TH2D *GetAntiProtonsCorrectionMapForCrossSection() {
+    return fHistCorrectionForCrossSectionYPtAntiProtons;}
+
   //iStep=0->MC - iStep=1->Acceptance - iStep=2->Reconstruction - iStep=3->PID
   TH1D  *GetUncorrectedProtonYHistogram(Int_t iStep) {return fProtonContainer->ShowProjection(0, iStep);}
   TH1D  *GetUncorrectedProtonPtHistogram(Int_t iStep) {return fProtonContainer->ShowProjection(1, iStep);}
@@ -137,6 +154,8 @@ class AliProtonAnalysis : public TObject {
   TH1I *fHistEvents; //event counter
   TH2D *fHistYPtProtons; //Y-Pt of Protons
   TH2D *fHistYPtAntiProtons; // Y-Pt of Antiprotons
+  TH2D *fHistYPtProtonsCorrected; //Y-Pt of Protons (corrected)
+  TH2D *fHistYPtAntiProtonsCorrected; // Y-Pt of Antiprotons (corrected)
   TH1F *fHistEventStats;//Event statistics
   TList *fYRatioInPtBinsList;//TList of the eta dependent ratios for each pT bin
 
@@ -151,6 +170,19 @@ class AliProtonAnalysis : public TObject {
   TList *fCorrectionListAntiProtons1D; //list for the 1d corrections 
   AliCFDataGrid *fCorrectProtons; //corrected data grid for protons
   AliCFDataGrid *fCorrectAntiProtons; //corrected data grid for antiprotons
+  TH2D *fHistEfficiencyYPtProtons;//efficiency 2D for the corrections - protons
+  TH2D *fHistEfficiencyYPtAntiProtons;//efficiency 2D for the corrections - antiprotons
+  TH2D *fHistCorrectionForCrossSectionYPtProtons;//correction for the proper cross-section - 2D protons
+  TH2D *fHistCorrectionForCrossSectionYPtAntiProtons;//correction for the proper cross-section - 2D antiprotons
+  Bool_t fHistCorrectionForCrossSectionFlag;//correct for cross-section
+  TH2D *fHistYPtCorrectionForCutsProtons;//correction factors for the cut efficiency (protons)
+  TH2D *fHistYPtCorrectionForCutsAntiProtons;//correction factors for the cut efficiency (antiprotons)
+  Bool_t fCorrectForCutsFlag;//correct for the cut efficiency
+  TH2D *fHistYPtCorrectionForFeedDownProtons;//correction factors for the feed-down contamination (protons)
+  TH2D *fHistYPtCorrectionForFeedDownAntiProtons;//correction factors for the feed-down contamination (antiprotons)
+  Bool_t fCorrectForFeedDownFlag;//correct for cut efficiency
+  TH2D *fHistYPtCorrectionForSecondaries;//correction factors for the background protons
+  Bool_t fCorrectForSecondariesFlag;//correct for secondaries
 
   //QA lists
   TList *fGlobalQAList; //global list