]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/SPECTRA/AliProtonAnalysis.h
missing ifs
[u/mrichter/AliRoot.git] / PWG2 / SPECTRA / AliProtonAnalysis.h
CommitLineData
734d2c12 1#ifndef ALIPROTONANALYSIS_H
2#define ALIPROTONANALYSIS_H
3
4/* See cxx source for full Copyright notice */
5
6
7/* $Id$ */
8
9//-------------------------------------------------------------------------
10// Class AliProtonAnalysis
11// This is the class for the baryon (proton) analysis
12//
dd3fa486 13// Origin: Panos Christakoglou | Panos.Christakoglou@cern.ch
734d2c12 14//-------------------------------------------------------------------------
15
251e4034 16#include "TObject.h"
3f6d0c08 17#include "TH1I.h"
734d2c12 18
aafecd8b 19class TF1;
251e4034 20class TH2D;
21class TH1F;
9cd594db 22class TList;
3f6d0c08 23
9cd594db 24#include "AliPID.h"
24421eb6 25#include "AliCFContainer.h"
251e4034 26class AliCFDataGrid;
ee4ca40d 27class AliAODEvent;
28class AliAODtrack;
734d2c12 29class AliESDEvent;
30class AliESDtrack;
2b748670 31class AliExternalTrackParam;
e4358d7f 32class AliStack;
6667f3a7 33class AliESDVertex;
0ab648ea 34class AliProtonAnalysisBase;
734d2c12 35
36class AliProtonAnalysis : public TObject {
37 public:
38 AliProtonAnalysis();
39 AliProtonAnalysis(Int_t nbinsY, Float_t fLowY, Float_t fHighY,
40 Int_t nbinsPt, Float_t fLowPt, Float_t fHighPt);
41 virtual ~AliProtonAnalysis();
2b748670 42
0ab648ea 43 void SetBaseAnalysis(AliProtonAnalysisBase *baseAnalysis) {
44 fProtonAnalysisBase = baseAnalysis;}
45 AliProtonAnalysisBase *GetProtonAnalysisBaseObject() {
46 return fProtonAnalysisBase;}
dd3fa486 47
ef1a8dbd 48 void InitAnalysisHistograms(Int_t nbinsY, Float_t fLowY, Float_t fHighY,
49 Int_t nbinsPt, Float_t fLowPt, Float_t fHighPt);
2b748670 50 Bool_t ReadFromFile(const char* filename);
6667f3a7 51 void Analyze(AliESDEvent *fESD,
52 const AliESDVertex *vertex);
ef1a8dbd 53 void Analyze(AliAODEvent *fAOD);
3e23254a 54 void Analyze(AliStack *stack, Bool_t iInclusive);
734d2c12 55
9cd594db 56 AliCFContainer *GetProtonContainer() const {return fProtonContainer;}
57 AliCFContainer *GetAntiProtonContainer() const {return fAntiProtonContainer;}
251e4034 58
9cd594db 59 TH2D *GetProtonYPtHistogram() const {return fHistYPtProtons;}
60 TH2D *GetAntiProtonYPtHistogram() const {return fHistYPtAntiProtons;}
734d2c12 61 TH1D *GetProtonYHistogram();
62 TH1D *GetAntiProtonYHistogram();
63 TH1D *GetProtonPtHistogram();
64 TH1D *GetAntiProtonPtHistogram();
251e4034 65 TH1D *GetProtonCorrectedYHistogram();
66 TH1D *GetAntiProtonCorrectedYHistogram();
67 TH1D *GetProtonCorrectedPtHistogram();
68 TH1D *GetAntiProtonCorrectedPtHistogram();
24421eb6 69
734d2c12 70 TH1D *GetYRatioHistogram();
3e23254a 71 TH1D *GetYRatioCorrectedHistogram(TH2D *gCorrectionMapProtons,
72 TH2D *gCorrectionMapAntiProtons);
734d2c12 73 TH1D *GetPtRatioHistogram();
3e23254a 74 TH1D *GetPtRatioCorrectedHistogram(TH2D *gCorrectionMapProtons,
75 TH2D *gCorrectionMapAntiProtons);
734d2c12 76 TH1D *GetYAsymmetryHistogram();
77 TH1D *GetPtAsymmetryHistogram();
3f6d0c08 78
9cd594db 79 TH1I *GetEventHistogram() const {return fHistEvents;}
41beb956 80
3f6d0c08 81 Int_t GetNumberOfAnalyzedEvents() {return (Int_t)fHistEvents->GetEntries();}
82 Bool_t PrintMean(TH1 *hist, Double_t edge);
83 Bool_t PrintYields(TH1 *hist, Double_t edge);
84
39f2a708 85 //interface to the correction framework
251e4034 86 void Correct(Int_t step);
39f2a708 87 Bool_t ReadCorrectionContainer(const char* filename);
9cd594db 88 TList *GetCorrectionListProtons2D() const {return fCorrectionListProtons2D;}
89 TList *GetEfficiencyListProtons1D() const {return fEfficiencyListProtons1D;}
90 TList *GetCorrectionListProtons1D() const {return fCorrectionListProtons1D;}
91 TList *GetCorrectionListAntiProtons2D() const {return fCorrectionListAntiProtons2D;}
92 TList *GetEfficiencyListAntiProtons1D() const {return fEfficiencyListAntiProtons1D;}
93 TList *GetCorrectionListAntiProtons1D() const {return fCorrectionListAntiProtons1D;}
24421eb6 94
95 //iStep=0->MC - iStep=1->Acceptance - iStep=2->Reconstruction - iStep=3->PID
96 TH1D *GetUncorrectedProtonYHistogram(Int_t iStep) {return fProtonContainer->ShowProjection(0, iStep);}
97 TH1D *GetUncorrectedProtonPtHistogram(Int_t iStep) {return fProtonContainer->ShowProjection(1, iStep);}
98 TH1D *GetUncorrectedAntiProtonYHistogram(Int_t iStep) {return fAntiProtonContainer->ShowProjection(0, iStep);}
99 TH1D *GetUncorrectedAntiProtonPtHistogram(Int_t iStep) {return fAntiProtonContainer->ShowProjection(1, iStep);}
39f2a708 100
734d2c12 101 private:
8b8b0b7a 102 AliProtonAnalysis(const AliProtonAnalysis&); // Not implemented
103 AliProtonAnalysis& operator=(const AliProtonAnalysis&); // Not implemented
734d2c12 104
0ab648ea 105 AliProtonAnalysisBase *fProtonAnalysisBase;//base analysis object
dd3fa486 106
0ab648ea 107 Int_t fNBinsY; //number of bins in y or eta
108 Double_t fMinY, fMaxY; //min & max value of y or eta
734d2c12 109 Int_t fNBinsPt; //number of bins in pT
0ab648ea 110 Double_t fMinPt, fMaxPt; //min & max value of pT
734d2c12 111
251e4034 112 //Analysis containers
113 AliCFContainer *fProtonContainer; //container for protons
114 AliCFContainer *fAntiProtonContainer; //container for antiprotons
3f6d0c08 115 TH1I *fHistEvents; //event counter
251e4034 116 TH2D *fHistYPtProtons; //Y-Pt of Protons
117 TH2D *fHistYPtAntiProtons; // Y-Pt of Antiprotons
39f2a708 118
119 //Corrections
251e4034 120 TList *fEffGridListProtons; //list for the efficiency grid - protons
cdb3530f 121 TList *fCorrectionListProtons2D; //list for the 2d corrections
122 TList *fEfficiencyListProtons1D; //list for the 1d efficiencies
123 TList *fCorrectionListProtons1D; //list for the 1d corrections
251e4034 124 TList *fEffGridListAntiProtons; //list for the efficiency grid - antiprotons
cdb3530f 125 TList *fCorrectionListAntiProtons2D; //list for the 2d corrections
126 TList *fEfficiencyListAntiProtons1D; //list for the 1d efficiencies
127 TList *fCorrectionListAntiProtons1D; //list for the 1d corrections
251e4034 128 AliCFDataGrid *fCorrectProtons; //corrected data grid for protons
129 AliCFDataGrid *fCorrectAntiProtons; //corrected data grid for antiprotons
130
e7df5638 131 ClassDef(AliProtonAnalysis,1);
734d2c12 132};
133
134#endif