]>
Commit | Line | Data |
---|---|---|
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 | ||
8 | class TH1F; | |
9 | class TH1D; | |
10 | class TH2F; | |
11 | class TH3F; | |
12 | class THn; | |
13 | class TList; | |
14 | class TObjArray; | |
15 | class TObject; | |
16 | ||
17 | class AliAODEvent; | |
18 | class AliESDEvent; | |
19 | class AliESDtrackCuts; | |
20 | class AliEvtPoolManager; | |
21 | class AliMCEvent; | |
22 | class AliESDMuonTrack; | |
b673a083 | 23 | class AliAODTrack; |
7e990b20 | 24 | #include "AliAnalysisTaskSE.h" |
25 | ||
26 | ||
27 | class 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 | ||
fe76c976 | 87 | ClassDef(AliMuonEffMC, 4); |
7e990b20 | 88 | }; |
89 | ||
90 | #endif |