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