]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/vertexingHF/AliAnalysisTaskCheckHFMCProd.h
Merge branch master into TRDdev
[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 TH3F;
23 class TTree;
24 class TString;
25 class AliESDEvent;
26 class AliESDfriend;
27 class AliStack;
28 class AliESDtrackCuts;
29
30 #include "AliAnalysisTaskSE.h"
31
32 class AliAnalysisTaskCheckHFMCProd : public AliAnalysisTaskSE {
33
34  public:
35   
36   AliAnalysisTaskCheckHFMCProd();
37   virtual ~AliAnalysisTaskCheckHFMCProd();
38
39   virtual void   UserExec(Option_t *option);
40   virtual void   UserCreateOutputObjects();
41   virtual void   Terminate(Option_t *option);
42
43   Int_t CheckD0Decay(Int_t labD0, AliStack* stack) const;
44   Int_t CheckDplusDecay(Int_t labDplus, AliStack* stack) const;
45   Int_t CheckDsDecay(Int_t labDs, AliStack* stack) const;
46   Int_t CheckDstarDecay(Int_t labDstar, AliStack* stack) const;
47   Int_t CheckLcDecay(Int_t labLc, AliStack* stack) const;
48   void SetSearchUpToQuark(Bool_t opt){fSearchUpToQuark=opt;};
49
50
51   void SetReadMC(Bool_t opt) {fReadMC=opt;}
52   void SetpPb() {fSystem=2;}
53   void SetPbPb() {fSystem=1;}
54   void Setpp() {fSystem=0;}
55
56  private:
57
58   AliAnalysisTaskCheckHFMCProd(const AliAnalysisTaskCheckHFMCProd &source);
59   AliAnalysisTaskCheckHFMCProd& operator=(const AliAnalysisTaskCheckHFMCProd &source);
60   
61   TList* fOutput;          //! list of output histos
62   TH1F* fHistoNEvents;     //! histo with N of events  
63
64   TH1F* fHistoPhysPrim;     //! histo of n. of physical primaries in |eta|<0.5
65   TH1F* fHistoTracks;       //! histo with number of ESD tracks
66   TH1F* fHistoSelTracks;    //! histo with number of TPC+ITS refit ESD tracks
67   TH1F* fHistoTracklets;    //! histo with number of SPD tracklets
68   TH1F* fHistoTrackletsEta1;//! histo with number of SPD tracklets in |eta|<1
69   TH1F* fHistoPtPhysPrim;   //! histo of pt distribution of phys primaries
70   TH1F* fHistoEtaPhysPrim;  //! histo of eta distribution of physical primaries
71   
72   TH1F* fHistoSPD3DVtxX;     //! histo with distr. of x coord. of SPD3D vertex
73   TH1F* fHistoSPD3DVtxY;     //! histo with distr. of y coord. of SPD3D vertex
74   TH1F* fHistoSPD3DVtxZ;     //! histo with distr. of z coord. of SPD3D vertex
75
76   TH1F* fHistoSPDZVtxX;     //! histo with distr. of x coord. of SPDZ vertex
77   TH1F* fHistoSPDZVtxY;     //! histo with distr. of y coord. of SPDZ vertex
78   TH1F* fHistoSPDZVtxZ;     //! histo with distr. of z coord. of SPDZ vertex
79
80   TH1F* fHistoTRKVtxX;     //! histo with distr. of x coord. of TRK vertex
81   TH1F* fHistoTRKVtxY;     //! histo with distr. of y coord. of TRK vertex
82   TH1F* fHistoTRKVtxZ;     //! histo with distr. of z coord. of TRK vertex
83
84   TH2F* fHistoNcharmed;   //! histo of D mesons vs. dN/dy
85   TH2F* fHistoNbVsNc;     //! histo of n. b quarks vs. n c. quarks
86
87   TH2F*  fHistBYPtAllDecay[5];   //! histo of y vs. pt from prompt B0, B+, B*, Bs, Lb
88   TH2F*  fHistYPtAllDecay[5];   //! histo of y vs. pt from prompt D0, D+, D*, Ds, Lc, no selection on decay channel  
89   TH2F*  fHistYPtPromptAllDecay[5];   //! histo of y vs. pt from prompt D0, D+, D*, Ds, Lc, no selection on decay channel  
90   TH2F*  fHistYPtFeeddownAllDecay[5];   //! histo of y vs. pt from prompt D0, D+, D*, Ds, Lc, no selection on decay channel
91   TH2F*  fHistYPtPrompt[5];   //! histo of y vs. pt from prompt D0, D+, D*, Ds, Lc
92   TH2F*  fHistYPtFeeddown[5]; //! histo of y vs. pt from feeddown D0, D+, D*, Ds, Lc
93   TH2F* fHistYPtD0byDecChannel[2]; //! histo of y vs. pt for D0->Kpi and D0->Kpipipi
94   TH2F* fHistYPtDplusbyDecChannel[2]; //! histo of y vs. pt for D+->Kpipi and D+->K0*pi
95   TH2F* fHistYPtDsbyDecChannel[2]; //! histo of y vs. pt for Ds->phipi and Ds->K0*K
96   TH1F* fHistOriginPrompt;    //! histo of D production point (prompt)
97   TH1F* fHistOriginFeeddown;  //! histo of D production point (feeddown)
98   TH1F* fHistMotherID;        //! histo of mother ID
99   TH1F* fHistDSpecies;          //! histo of D hadron species
100   TH1F* fHistBSpecies;          //! histo of B hadron species
101   TH2F* fHistNcollHFtype;      //! histo of B hadron species
102   TH3F* fHistEtaPhiPtGenEle;   //! histo of generated electrons
103   TH3F* fHistEtaPhiPtGenPi;   //! histo of generated pions
104   TH3F* fHistEtaPhiPtGenK;   //! histo of generated kaons
105   TH3F* fHistEtaPhiPtGenPro;   //! histo of generated protons
106   TH3F* fHistEtaPhiPtRecEle;   //! histo of generated electrons
107   TH3F* fHistEtaPhiPtRecPi;   //! histo of generated pions
108   TH3F* fHistEtaPhiPtRecK;   //! histo of generated kaons
109   TH3F* fHistEtaPhiPtRecPro;   //! histo of generated protons
110   Bool_t fSearchUpToQuark; // c/b separation using quarks
111   Int_t fSystem;         // 0=pp, 1=PbPb, 2=pPb
112   AliESDtrackCuts *fESDtrackCuts; // track selection
113   Bool_t fReadMC;
114
115   ClassDef(AliAnalysisTaskCheckHFMCProd,6);
116 };
117
118
119 #endif