]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/SPECTRA/AntiprotonToProton/AliProtonAbsorptionCorrection.h
PWG2/SPECTRA -> PWGLF/SPECTRA migration
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / AntiprotonToProton / AliProtonAbsorptionCorrection.h
diff --git a/PWGLF/SPECTRA/AntiprotonToProton/AliProtonAbsorptionCorrection.h b/PWGLF/SPECTRA/AntiprotonToProton/AliProtonAbsorptionCorrection.h
new file mode 100644 (file)
index 0000000..bc49a9f
--- /dev/null
@@ -0,0 +1,82 @@
+#ifndef ALIPROTONABSORPTIONCORRECTION_H\r
+#define ALIPROTONABSORPTIONCORRECTION_H\r
+\r
+//-------------------------------------------------------------------------\r
+//               Class AliProtonAbsorptionCorrection\r
+//   This is the class for the absorption corrections used for \r
+//   the baryon (proton) ratio analysis\r
+//\r
+//    Origin: Panos Christakoglou | Panos.Christakoglou@cern.ch\r
+//-------------------------------------------------------------------------\r
+\r
+#include "TObject.h"\r
+#include "TH1I.h"\r
+#include "AliCFContainer.h"\r
+#include "AliCFManager.h"\r
+\r
+class TF1;\r
+class TH2D;\r
+class TH1F;\r
+class TList;\r
+\r
+class AliPID;\r
+class AliCFDataGrid;\r
+class AliAODEvent;\r
+class AliAODtrack;\r
+class AliESDEvent;\r
+class AliESDtrack;\r
+class AliExternalTrackParam;\r
+class AliStack;\r
+class AliESDVertex;\r
+class AliProtonAnalysisBase;\r
+class AliMCEvent;\r
+\r
+class AliProtonAbsorptionCorrection : public TObject {\r
+ public:\r
+  enum {\r
+    kStepGenerated       = 0,\r
+    kStepReconstructible = 1,\r
+    kStepReconstructed   = 2,\r
+    kNSteps = 3\r
+  };\r
+\r
+  AliProtonAbsorptionCorrection();\r
+  virtual ~AliProtonAbsorptionCorrection();\r
+  \r
+  void SetBaseAnalysis(AliProtonAnalysisBase * const baseAnalysis) {\r
+    fProtonAnalysisBase = baseAnalysis;}\r
+  AliProtonAnalysisBase *GetProtonAnalysisBaseObject() const {\r
+    return fProtonAnalysisBase;}\r
+               \r
+  void InitAnalysisHistograms(Int_t nbinsY, Float_t fLowY, Float_t fHighY, \r
+                             Int_t nbinsPt, Float_t fLowPt, Float_t fHighPt);\r
+  void FillAbsorptionMaps(AliESDEvent *fESD, \r
+                         //const AliESDVertex *vertex,\r
+                         AliMCEvent *mcEvent);\r
+  void FillAbsorptionMaps(AliAODEvent *fAOD);\r
+               \r
+  AliCFContainer *GetProtonContainer() const {\r
+    return fCFManagerProtons->GetParticleContainer();}\r
+  AliCFContainer *GetAntiProtonContainer() const {\r
+    return fCFManagerAntiProtons->GetParticleContainer();}\r
+  \r
+ private:\r
+  AliProtonAbsorptionCorrection(const AliProtonAbsorptionCorrection&); // Not implemented\r
+  AliProtonAbsorptionCorrection& operator=(const AliProtonAbsorptionCorrection&); // Not implemented\r
+  \r
+  AliProtonAnalysisBase *fProtonAnalysisBase;//base analysis object\r
+  \r
+  Int_t fNBinsY; //number of bins in y or eta\r
+  Double_t fMinY, fMaxY; //min & max value of y or eta\r
+  Int_t fNBinsPt;  //number of bins in pT\r
+  Double_t fMinPt, fMaxPt; //min & max value of pT\r
+  \r
+  //Analysis containers\r
+  AliCFManager   *fCFManagerProtons;      // CF manager protons\r
+  AliCFManager   *fCFManagerAntiProtons;  // CF manager antiprotons\r
+    \r
+  ClassDef(AliProtonAbsorptionCorrection,1);\r
+};\r
+\r
+#endif\r
+\r