new Muon-Hadron correlation task in DHC (Constantin Loizides <cloizides@lbl.gov>...
[u/mrichter/AliRoot.git] / PWGCF / Correlations / DPhi / FourierDecomposition / AliMuonEffMC.h
CommitLineData
7e990b20 1// MUON tracking efficiency + (mother hadron) : (daughter muon) kinematic relation
2// Author : Saehanseul Oh
3
4
5#ifndef AliMuonEffMC_h
6#define AliMuonEffMC_h
7
8class TH1F;
9class TH1D;
10class TH2F;
11class TH3F;
12class THn;
13class TList;
14class TObjArray;
15class TObject;
16
17class AliAODEvent;
18class AliESDEvent;
19class AliESDtrackCuts;
20class AliEvtPoolManager;
21class AliMCEvent;
22class AliESDMuonTrack;
23#include "AliAnalysisTaskSE.h"
24
25
26class AliMuonEffMC : public AliAnalysisTaskSE {
27 public:
28 AliMuonEffMC();
29 AliMuonEffMC(const char *name);
30 virtual ~AliMuonEffMC();
31
32 void UserCreateOutputObjects();
33 void UserExec(Option_t *option);
34 void Terminate(Option_t *);
35
36 void SetMcAna(Bool_t IsMc) { fIsMc = IsMc; }
37 void SetMDProcess(Bool_t MDProcess) { fMDProcess = MDProcess; }
38 void SetCentEstimator(TString Cent) { fCentralityEstimator = Cent;}
39 void SetNEtaBins(Int_t NEtaBins) { fNEtaBins = NEtaBins; }
40 void SetNpTBins(Int_t NpTBins) { fNpTBins = NpTBins; }
41 void SetNCentBins(Int_t NCentBins) { fNCentBins = NCentBins; }
42 void SetNZvtxBins(Int_t NZvtxBins) { fNZvtxBins = NZvtxBins; }
43 void SetNPhiBins(Int_t NPhiBins) { fNPhiBins = NPhiBins; }
44
45 protected:
46 Bool_t VertexOk(TObject* obj) const;
47 Bool_t IsGoodMUONtrack(AliESDMuonTrack &track);
48
49 private:
50 AliESDEvent *fESD; //! ESD object
51 AliAODEvent *fAOD; //! AOD object
52 AliMCEvent *fMC; //! MC object
53 Double_t fCentrality; //! Of current event
54 Double_t fZVertex; //! Of current event
55 TList *fOutputList; //! Output list
56 TH1D *fHEventStat; //! statistics histo
57 TH2F *fHEvt; //! Cent, vtx
58
59 Bool_t fIsMc; //!
60 Bool_t fMDProcess; //! (mother hadron) : (daughter muon) QA
61
62 TString fCentralityEstimator;//!
63 Int_t fNEtaBins; //! number of eta bins
64 Int_t fNpTBins; //! number of p_T bins
65 Int_t fNCentBins; //! number of centrality bins
66 Int_t fNZvtxBins; //! number of Z-vertex bins
67 Int_t fNPhiBins; //! number of phi bins
68
69 THn *fHMuonParGen; //! truth muon track eta, p_T, Centrality, Z-vertex, phi
70 THn *fHMuonDetGen; //! detector level muon track generated eta, p_T, Centrality, Z-vertex, phi
71 THn *fHMuonDetRec; //! reconstructed muon track eta, p_T, Centrality, Z-vertex, phi
72 THn *fHEtcDetRec; //! particle reconstructed at MUON detector, but not muon
73
74 TH2F *fHMuMotherGenPt[4]; //! particle-level muon p_T vs. mother p_T
75 TH2F *fHMuMotherRecPt[4]; //! detector-level muon p_T vs. mother p_T
76 TH2F *fHMuMotherGenPhi[4];//! particle-level muon phi vs. mother phi
77 TH2F *fHMuMotherRecPhi[4];//! detector-level muon phi vs. mother phi
78 TH2F *fHMuMotherGenEta[4];//! particle-level muon eta vs. mother eta
79 TH2F *fHMuMotherRecEta[4];//! detector-level muon eta vs. mother eta
80 TH1F *fHMuDCA[4]; //! muon DCA
81
82 AliMuonEffMC(const AliMuonEffMC&); // not implemented
83 AliMuonEffMC &operator=(const AliMuonEffMC&); // not implemented
84
85 ClassDef(AliMuonEffMC, 1);
86};
87
88#endif