]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/AntiprotonToProton/AliProtonSpectraCorrection.h
end-of-line normalization
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / AntiprotonToProton / AliProtonSpectraCorrection.h
1 #ifndef ALIPROTONSPECTRACORRECTION_H
2 #define ALIPROTONSPECTRACORRECTION_H
3
4 //-------------------------------------------------------------------------
5 //               Class AliProtonSpectraCorrection
6 //   This is the class for the absorption corrections used for 
7 //   the baryon (proton) ratio analysis
8 //
9 //    Origin: Panos Christakoglou | Panos.Christakoglou@cern.ch
10 //-------------------------------------------------------------------------
11
12 #include "TObject.h"
13 #include "TH1I.h"
14 #include "AliCFContainer.h"
15 #include "AliCFManager.h"
16
17 class TF1;
18 class TH2D;
19 class TH1F;
20 class TList;
21
22 class AliPID;
23 class AliCFDataGrid;
24 class AliAODEvent;
25 class AliAODtrack;
26 class AliESDEvent;
27 class AliESDtrack;
28 class AliExternalTrackParam;
29 class AliStack;
30 class AliESDVertex;
31 class AliProtonAnalysisBase;
32 class AliMCEvent;
33
34 class AliProtonSpectraCorrection : public TObject {
35  public:
36   enum {
37     kStepGenerated       = 0,
38     kStepReconstructible = 1,
39     kStepReconstructed   = 2,
40     kStepIdentified      = 3,
41     kStepSelected        = 4,
42     kNSteps = 5
43   };
44
45   AliProtonSpectraCorrection();
46   virtual ~AliProtonSpectraCorrection();
47   
48   void SetBaseAnalysis(AliProtonAnalysisBase * const baseAnalysis) {
49     fProtonAnalysisBase = baseAnalysis;}
50   AliProtonAnalysisBase *GetProtonAnalysisBaseObject() const {
51     return fProtonAnalysisBase;}
52                 
53   void InitAnalysisHistograms(Int_t nbinsY, Float_t fLowY, Float_t fHighY, 
54                               Int_t nbinsPt, Float_t fLowPt, Float_t fHighPt);
55   void FillCorrectionMaps(AliESDEvent *fESD, 
56                           const AliESDVertex *vertex,
57                           AliMCEvent *mcEvent);
58   void FillCorrectionMaps(AliAODEvent *fAOD);
59                 
60   AliCFContainer *GetProtonContainer() const {
61     return fCFManagerProtons->GetParticleContainer();}
62   AliCFContainer *GetAntiProtonContainer() const {
63     return fCFManagerAntiProtons->GetParticleContainer();}
64   
65  private:
66   AliProtonSpectraCorrection(const AliProtonSpectraCorrection&); // Not implemented
67   AliProtonSpectraCorrection& operator=(const AliProtonSpectraCorrection&); // Not implemented
68   
69   AliProtonAnalysisBase *fProtonAnalysisBase;//base analysis object
70   
71   Int_t fNBinsY; //number of bins in y or eta
72   Double_t fMinY, fMaxY; //min & max value of y or eta
73   Int_t fNBinsPt;  //number of bins in pT
74   Double_t fMinPt, fMaxPt; //min & max value of pT
75   
76   //Analysis containers
77   AliCFManager   *fCFManagerProtons;      // CF manager protons
78   AliCFManager   *fCFManagerAntiProtons;  // CF manager antiprotons
79     
80   ClassDef(AliProtonSpectraCorrection,1);
81 };
82
83 #endif
84