end-of-line normalization
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / AntiprotonToProton / AliProtonAbsorptionCorrection.h
1 #ifndef ALIPROTONABSORPTIONCORRECTION_H
2 #define ALIPROTONABSORPTIONCORRECTION_H
3
4 //-------------------------------------------------------------------------
5 //               Class AliProtonAbsorptionCorrection
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 AliProtonAbsorptionCorrection : public TObject {
35  public:
36   enum {
37     kStepGenerated       = 0,
38     kStepReconstructible = 1,
39     kStepReconstructed   = 2,
40     kNSteps = 3
41   };
42
43   AliProtonAbsorptionCorrection();
44   virtual ~AliProtonAbsorptionCorrection();
45   
46   void SetBaseAnalysis(AliProtonAnalysisBase * const baseAnalysis) {
47     fProtonAnalysisBase = baseAnalysis;}
48   AliProtonAnalysisBase *GetProtonAnalysisBaseObject() const {
49     return fProtonAnalysisBase;}
50                 
51   void InitAnalysisHistograms(Int_t nbinsY, Float_t fLowY, Float_t fHighY, 
52                               Int_t nbinsPt, Float_t fLowPt, Float_t fHighPt);
53   void FillAbsorptionMaps(AliESDEvent *fESD, 
54                           //const AliESDVertex *vertex,
55                           AliMCEvent *mcEvent);
56   void FillAbsorptionMaps(AliAODEvent *fAOD);
57                 
58   AliCFContainer *GetProtonContainer() const {
59     return fCFManagerProtons->GetParticleContainer();}
60   AliCFContainer *GetAntiProtonContainer() const {
61     return fCFManagerAntiProtons->GetParticleContainer();}
62   
63  private:
64   AliProtonAbsorptionCorrection(const AliProtonAbsorptionCorrection&); // Not implemented
65   AliProtonAbsorptionCorrection& operator=(const AliProtonAbsorptionCorrection&); // Not implemented
66   
67   AliProtonAnalysisBase *fProtonAnalysisBase;//base analysis object
68   
69   Int_t fNBinsY; //number of bins in y or eta
70   Double_t fMinY, fMaxY; //min & max value of y or eta
71   Int_t fNBinsPt;  //number of bins in pT
72   Double_t fMinPt, fMaxPt; //min & max value of pT
73   
74   //Analysis containers
75   AliCFManager   *fCFManagerProtons;      // CF manager protons
76   AliCFManager   *fCFManagerAntiProtons;  // CF manager antiprotons
77     
78   ClassDef(AliProtonAbsorptionCorrection,1);
79 };
80
81 #endif
82