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