Updates to Trains. create a job-script to help
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / IdentifiedHighPt / lib / AliHighPtDeDxData.h
1 #ifndef ALIHIGHPTDEDXDATA_H
2 #define ALIHIGHPTDEDXDATA_H
3
4 #include "AliHighPtDeDxBase.h"
5
6 class AliHighPtDeDxData : public AliHighPtDeDxBase {
7  public:
8   AliHighPtDeDxData(); // default constructor  
9   AliHighPtDeDxData(const char* name, const char* title); // named constructor  
10   virtual ~AliHighPtDeDxData(); // default destructor
11
12   //  virtual void Init(Int_t nPtBins, Double_t* ptBins);
13   //  virtual void FillTrackInfo(Float_t weight=1);
14   
15   TH2D* GetHistDeltaPiVsPt(Int_t pid, Int_t charge);
16   TH2D* GetHistDeltaPiVsPtMc(Int_t pid, Int_t charge);
17
18   void SetPionDeDxFunction(TF1* piFunc)     { fDeDxPi    = piFunc; }
19   void SetKaonDeDxFunction(TF1* kFunc)      { fDeDxK     = kFunc; }
20   void SetProtonDeDxFunction(TF1* pFunc)    { fDeDxP     = pFunc; }
21   void SetElectronDeDxFunction(TF1* eFunc)  { fDeDxE     = eFunc; }
22   void SetSigmaDeDxFunction(TF1* sigmaFunc) { fSigmaDeDx = sigmaFunc; }
23
24   void Init(Int_t nPtBins, Double_t* ptBins);
25   void FillTrackInfo(Float_t weight);
26
27  private:
28
29   TF1*   fDeDxPi;          //! dE/dx vs p for pions
30   TF1*   fDeDxK;           //! dE/dx vs p for kaons
31   TF1*   fDeDxP;           //! dE/dx vs p for protons
32   TF1*   fDeDxE;           //! dE/dx vs p for electrons
33   TF1*   fSigmaDeDx;       //! sigma dE/dx vs ncl
34
35   // histograms
36   TH2D* hDeltaPiVsPt;      // Delta pi vs pt (both q)
37   TH2D* hDeltaPiVsPtNeg;   // Delta pi vs pt (q < 0)
38   TH2D* hDeltaPiVsPtPos;   // Delta pi vs pt (q > 0)
39
40   TH2D* hDeltaPiVsPtPiGen;      // Delta pi vs pt (both q) - generated pions
41   TH2D* hDeltaPiVsPtPiGenNeg;   // Delta pi vs pt (q < 0)  - generated pions
42   TH2D* hDeltaPiVsPtPiGenPos;   // Delta pi vs pt (q > 0)  - generated pions
43
44   TH2D* hDeltaPiVsPtKGen;       // Delta pi vs pt (both q) - generated kaons
45   TH2D* hDeltaPiVsPtKGenNeg;    // Delta pi vs pt (q < 0)  - generated kaons
46   TH2D* hDeltaPiVsPtKGenPos;    // Delta pi vs pt (q > 0)  - generated kaons
47
48   TH2D* hDeltaPiVsPtPGen;       // Delta pi vs pt (both q) - generated protons
49   TH2D* hDeltaPiVsPtPGenNeg;    // Delta pi vs pt (q < 0)  - generated protons
50   TH2D* hDeltaPiVsPtPGenPos;    // Delta pi vs pt (q > 0)  - generated protons
51
52   TH2D* hDeltaPiVsPtEGen;       // Delta pi vs pt (both q) - generated electrons
53   TH2D* hDeltaPiVsPtEGenNeg;    // Delta pi vs pt (q < 0)  - generated electrons
54   TH2D* hDeltaPiVsPtEGenPos;    // Delta pi vs pt (q > 0)  - generated electrons
55
56   TH2D* hDeltaPiVsPtPiMc;     // Delta pi vs pt for MC pions
57   TH2D* hDeltaPiVsPtPiMcNeg;  // Delta pi vs pt for MC pions
58   TH2D* hDeltaPiVsPtPiMcPos;  // Delta pi vs pt for MC pions
59   TH2D* hDeltaPiVsPtKMc;      // Delta pi vs pt for MC Kaons
60   TH2D* hDeltaPiVsPtKMcNeg;   // Delta pi vs pt for MC Kaons
61   TH2D* hDeltaPiVsPtKMcPos;   // Delta pi vs pt for MC Kaons
62   TH2D* hDeltaPiVsPtPMc;      // Delta pi vs pt for MC protons
63   TH2D* hDeltaPiVsPtPMcNeg;   // Delta pi vs pt for MC protons
64   TH2D* hDeltaPiVsPtPMcPos;   // Delta pi vs pt for MC protons
65   TH1D* hPtPi;             // pt distribution for pions (from fits)
66   TH1D* hPtK;              // pt distribution for kaons (from fits)
67   TH1D* hPtP;              // pt distribution for protons (from fits)
68   TH3D* hPrimaryVsPidVsPt; // pt disrtibutions for efficiency
69   /* TH1D* hPtPiMc; */
70   /* TH1D* hPtKMc; */
71   /* TH1D* hPtPMc; */
72   
73   //  void Print(Option_t* option) const;
74   
75   ClassDef(AliHighPtDeDxData, 4)  // AliHighPtDeDxData information
76     };
77
78 #endif
79