]>
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; | |
23 | #include "AliAnalysisTaskSE.h" | |
24 | ||
25 | ||
26 | class 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 |