Updates to Trains. create a job-script to help
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / IdentifiedHighPt / lib / AliHighPtDeDxMc.h
1 #ifndef ALIHIGHPTDEDXMC_H
2 #define ALIHIGHPTDEDXMC_H
3
4 #include "AliHighPtDeDxBase.h"
5
6 class AliHighPtDeDxMc : public AliHighPtDeDxBase {
7  public:
8   AliHighPtDeDxMc(); // default constructor  
9   AliHighPtDeDxMc(const char* name, const char* title); // named constructor  
10   virtual ~AliHighPtDeDxMc(); // default destructor
11   
12   TH1D* GetPtSpectrum(); 
13
14   virtual void SetTrackChargeMc(Int_t value)  { fTrackChargeMc = value; }
15   virtual void SetTrackEtaMc(Double_t value)  { fTrackEtaMc = value; }
16   virtual void SetTrackPtMc(Double_t value)   { fTrackPtMc = value; } 
17   
18   virtual void Init(Int_t nPtBins, Double_t* ptBins);
19   virtual Bool_t TrackAcceptedMc();
20   virtual void FillEventInfo();
21   virtual void FillTrackInfoMc(Float_t weight=1);
22   
23   TH1D* GetHistNeventsMc()     { return hNeventsMc; };
24   TH1D* GetHistNeventsMcTrig() { return hNeventsMcTrig; };
25   TH1D* GetHistPtMc(Int_t pid, Int_t charge);
26   TProfile* GetHistMeanPtMc()  { return hMeanPtMc; };
27
28  protected:
29   // Actual values for the event and track
30   Int_t    fTrackChargeMc;       //! charge (+1 or -1)
31   Double_t fTrackEtaMc;          //! eta
32   Double_t fTrackPtMc;           //! pt
33
34  private:
35   void NormalizePt(TH1* hist);
36
37   // histograms
38   TH1D*     hVtxStatusMc;      // vtx status (all triggers) 
39   TH1D*     hNeventsMc;        // Nevents (all triggers) - based on MC vtx 
40   TH1D*     hNeventsMcTrig;    // Nevents (all triggers) - based on MC vtx + trig
41   TH1D*     hPtMc;             // pt input distribution
42   TH1D*     hPtMcNeg;          // pt input distribution (q<0)
43   TH1D*     hPtMcPos;          // pt input distribution (q>0)
44   TH1D*     hPtPiMc;           // pt input distribution
45   TH1D*     hPtPiMcNeg;        // pt input distribution (q<0)
46   TH1D*     hPtPiMcPos;        // pt input distribution (q>0)
47   TH1D*     hPtKMc;            // pt input distribution
48   TH1D*     hPtKMcNeg;         // pt input distribution (q<0)
49   TH1D*     hPtKMcPos;         // pt input distribution (q>0)
50   TH1D*     hPtPMc;            // pt input distribution
51   TH1D*     hPtPMcNeg;         // pt input distribution (q<0)
52   TH1D*     hPtPMcPos;         // pt input distribution (q>0)
53   TProfile* hMeanPtMc;         // mean pt input distribution
54     
55   ClassDef(AliHighPtDeDxMc, 4)  // AliHighPtDeDxMc information
56     };
57
58 #endif
59