]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/vertexingHF/AliAnalysisTaskCheckHFMCProd.h
updated for photonic electron efficiency
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliAnalysisTaskCheckHFMCProd.h
1 #ifndef ALIANALYSISTASKCHECKHFMCPROD
2 #define ALIANALYSISTASKCHECKHFMCPROD
3
4 /* Copyright(c) 1998-2012, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */ 
8
9 //*************************************************************************
10 // Class AliAnalysisTaskCheckHFMCProd
11 // AliAnalysisTask to check MC production at ESD+Kine level
12 // 
13 //
14 // Author: F. Prino, prino@to.infn.it
15 //          
16 //*************************************************************************
17
18 class TList;
19 class TNtuple;
20 class TH1F;
21 class TH2F;
22 class TTree;
23 class TString;
24 class AliESDEvent;
25 class AliESDfriend;
26 class AliStack;
27
28 #include "AliAnalysisTaskSE.h"
29
30 class AliAnalysisTaskCheckHFMCProd : public AliAnalysisTaskSE {
31
32  public:
33   
34   AliAnalysisTaskCheckHFMCProd();
35   virtual ~AliAnalysisTaskCheckHFMCProd();
36
37   virtual void   UserExec(Option_t *option);
38   virtual void   UserCreateOutputObjects();
39   virtual void   Terminate(Option_t *option);
40
41   Int_t CheckD0Decay(Int_t labD0, AliStack* stack) const;
42   Int_t CheckDplusDecay(Int_t labDplus, AliStack* stack) const;
43   Int_t CheckDsDecay(Int_t labDs, AliStack* stack) const;
44   Int_t CheckDstarDecay(Int_t labDstar, AliStack* stack) const;
45   Int_t CheckLcDecay(Int_t labLc, AliStack* stack) const;
46
47   void SetReadMC(Bool_t opt) {fReadMC=opt;}
48   void SetPbPb() {fPbPb=kTRUE;}
49   void Setpp() {fPbPb=kFALSE;}
50
51  private:
52
53   AliAnalysisTaskCheckHFMCProd(const AliAnalysisTaskCheckHFMCProd &source);
54   AliAnalysisTaskCheckHFMCProd& operator=(const AliAnalysisTaskCheckHFMCProd &source);
55   
56   TList* fOutput;          //! list of output histos
57   TH1F* fHistoNEvents;     //! histo with N of events  
58   
59   TH1F* fHistoTracks;      //! histo with number of ESD tracks
60   TH1F* fHistoSelTracks;   //! histo with number of TPC+ITS refit ESD tracks
61   TH1F* fHistoTracklets;   //! histo with number of SPD tracklets
62   
63   TH1F* fHistoSPD3DVtxX;     //! histo with distr. of x coord. of SPD3D vertex
64   TH1F* fHistoSPD3DVtxY;     //! histo with distr. of y coord. of SPD3D vertex
65   TH1F* fHistoSPD3DVtxZ;     //! histo with distr. of z coord. of SPD3D vertex
66
67   TH1F* fHistoSPDZVtxX;     //! histo with distr. of x coord. of SPDZ vertex
68   TH1F* fHistoSPDZVtxY;     //! histo with distr. of y coord. of SPDZ vertex
69   TH1F* fHistoSPDZVtxZ;     //! histo with distr. of z coord. of SPDZ vertex
70
71   TH1F* fHistoTRKVtxX;     //! histo with distr. of x coord. of TRK vertex
72   TH1F* fHistoTRKVtxY;     //! histo with distr. of y coord. of TRK vertex
73   TH1F* fHistoTRKVtxZ;     //! histo with distr. of z coord. of TRK vertex
74
75   TH2F* fHistoNcharmed;   //! histo of D mesons vs. dN/dy
76   TH2F* fHistoNbVsNc;     //! histo of n. b quarks vs. n c. quarks
77
78   TH2F*  fHistYPtAllDecay[5];   //! histo of y vs. pt from prompt D0, D+, D*, Ds, Lc, no selection on decay channel  
79   TH2F*  fHistYPtPromptAllDecay[5];   //! histo of y vs. pt from prompt D0, D+, D*, Ds, Lc, no selection on decay channel  
80   TH2F*  fHistYPtFeeddownAllDecay[5];   //! histo of y vs. pt from prompt D0, D+, D*, Ds, Lc, no selection on decay channel
81   TH2F*  fHistYPtPrompt[5];   //! histo of y vs. pt from prompt D0, D+, D*, Ds, Lc
82   TH2F*  fHistYPtFeeddown[5]; //! histo of y vs. pt from feeddown D0, D+, D*, Ds, Lc
83   TH2F* fHistYPtD0byDecChannel[2]; //! histo of y vs. pt for D0->Kpi and D0->Kpipipi
84   TH2F* fHistYPtDplusbyDecChannel[2]; //! histo of y vs. pt for D+->Kpipi and D+->K0*pi
85   TH2F* fHistYPtDsbyDecChannel[2]; //! histo of y vs. pt for Ds->phipi and Ds->K0*K
86
87   Bool_t fPbPb;
88   Bool_t fReadMC;
89
90   ClassDef(AliAnalysisTaskCheckHFMCProd,1);  
91 };
92
93
94 #endif