changes in Muon-Hadron correlation efficiency code (Saehanseul Oh <saehanseul.oh...
[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;
b673a083 23class AliAODTrack;
7e990b20 24#include "AliAnalysisTaskSE.h"
25
26
27class AliMuonEffMC : public AliAnalysisTaskSE {
28 public:
29 AliMuonEffMC();
30 AliMuonEffMC(const char *name);
31 virtual ~AliMuonEffMC();
32
33 void UserCreateOutputObjects();
34 void UserExec(Option_t *option);
35 void Terminate(Option_t *);
36
37 void SetMcAna(Bool_t IsMc) { fIsMc = IsMc; }
38 void SetMDProcess(Bool_t MDProcess) { fMDProcess = MDProcess; }
39 void SetCentEstimator(TString Cent) { fCentralityEstimator = Cent;}
40 void SetNEtaBins(Int_t NEtaBins) { fNEtaBins = NEtaBins; }
41 void SetNpTBins(Int_t NpTBins) { fNpTBins = NpTBins; }
42 void SetNCentBins(Int_t NCentBins) { fNCentBins = NCentBins; }
43 void SetNZvtxBins(Int_t NZvtxBins) { fNZvtxBins = NZvtxBins; }
44 void SetNPhiBins(Int_t NPhiBins) { fNPhiBins = NPhiBins; }
45
46 protected:
47 Bool_t VertexOk(TObject* obj) const;
48 Bool_t IsGoodMUONtrack(AliESDMuonTrack &track);
b673a083 49 Bool_t IsGoodMUONtrack(AliAODTrack &track);
7e990b20 50
51 private:
52 AliESDEvent *fESD; //! ESD object
53 AliAODEvent *fAOD; //! AOD object
54 AliMCEvent *fMC; //! MC object
55 Double_t fCentrality; //! Of current event
56 Double_t fZVertex; //! Of current event
57 TList *fOutputList; //! Output list
58 TH1D *fHEventStat; //! statistics histo
59 TH2F *fHEvt; //! Cent, vtx
60
b673a083 61 Bool_t fIsMc; //
62 Bool_t fMDProcess; // (mother hadron) : (daughter muon) QA
7e990b20 63
b673a083 64 TString fCentralityEstimator;//
65 Int_t fNEtaBins; // number of eta bins
66 Int_t fNpTBins; // number of p_T bins
67 Int_t fNCentBins; // number of centrality bins
68 Int_t fNZvtxBins; // number of Z-vertex bins
69 Int_t fNPhiBins; // number of phi bins
7e990b20 70
71 THn *fHMuonParGen; //! truth muon track eta, p_T, Centrality, Z-vertex, phi
72 THn *fHMuonDetGen; //! detector level muon track generated eta, p_T, Centrality, Z-vertex, phi
73 THn *fHMuonDetRec; //! reconstructed muon track eta, p_T, Centrality, Z-vertex, phi
74 THn *fHEtcDetRec; //! particle reconstructed at MUON detector, but not muon
75
76 TH2F *fHMuMotherGenPt[4]; //! particle-level muon p_T vs. mother p_T
77 TH2F *fHMuMotherRecPt[4]; //! detector-level muon p_T vs. mother p_T
78 TH2F *fHMuMotherGenPhi[4];//! particle-level muon phi vs. mother phi
79 TH2F *fHMuMotherRecPhi[4];//! detector-level muon phi vs. mother phi
80 TH2F *fHMuMotherGenEta[4];//! particle-level muon eta vs. mother eta
81 TH2F *fHMuMotherRecEta[4];//! detector-level muon eta vs. mother eta
82 TH1F *fHMuDCA[4]; //! muon DCA
83
84 AliMuonEffMC(const AliMuonEffMC&); // not implemented
85 AliMuonEffMC &operator=(const AliMuonEffMC&); // not implemented
86
53fc502b 87 ClassDef(AliMuonEffMC, 3);
7e990b20 88};
89
90#endif