1 // MUON tracking efficiency + (mother hadron) : (daughter muon) kinematic relation
2 // Author : Saehanseul Oh
20 class AliESDtrackCuts;
21 class AliEvtPoolManager;
23 class AliESDMuonTrack;
25 #include "AliAnalysisTaskSE.h"
28 class AliMuonEffMC : public AliAnalysisTaskSE {
31 AliMuonEffMC(const char *name);
32 virtual ~AliMuonEffMC();
34 void UserCreateOutputObjects();
35 void UserExec(Option_t *option);
36 void Terminate(Option_t *);
38 void SetMcAna(Bool_t IsMc) { fIsMc = IsMc; }
39 void SetMDProcess(Bool_t kMDProcess) { fMDProcess = kMDProcess; }
40 void SetCentEstimator(TString Cent) { fCentralityEstimator = Cent;}
41 void SetNEtaBins(Int_t NEtaBins) { fNEtaBins = NEtaBins; }
42 void SetNpTBins(Int_t NpTBins) { fNpTBins = NpTBins; }
43 void SetNCentBins(Int_t NCentBins) { fNCentBins = NCentBins; }
44 void SetNZvtxBins(Int_t NZvtxBins) { fNZvtxBins = NZvtxBins; }
45 void SetNPhiBins(Int_t NPhiBins) { fNPhiBins = NPhiBins; }
46 void MDProcess(Int_t motherpdg, Double_t mcpt, Double_t mcphi, Double_t mceta, Double_t trackpt, Double_t trackphi, Double_t tracketa, Double_t motherpt, Double_t motherphi, Double_t mothereta, Double_t dcavalue);
47 Double_t deltaphi(Double_t phi);
50 Bool_t VertexOk(TObject* obj) const;
51 Bool_t IsGoodMUONtrack(AliESDMuonTrack &track);
52 Bool_t IsGoodMUONtrack(AliAODTrack &track);
55 AliESDEvent *fESD; //! ESD object
56 AliAODEvent *fAOD; //! AOD object
57 AliMCEvent *fMC; //! MC object
58 AliStack *fStack; //! MC stack
59 Double_t fCentrality; //! Of current event
60 Double_t fZVertex; //! Of current event
61 TList *fOutputList; //! Output list
62 TH1D *fHEventStat; //! statistics histo
63 TH2F *fHEvt; //! Cent, vtx
66 Bool_t fMDProcess; // (mother hadron) : (daughter muon) QA
68 TString fCentralityEstimator;//
69 Int_t fNEtaBins; // number of eta bins
70 Int_t fNpTBins; // number of p_T bins
71 Int_t fNCentBins; // number of centrality bins
72 Int_t fNZvtxBins; // number of Z-vertex bins
73 Int_t fNPhiBins; // number of phi bins
75 THn *fHMuonParGen; //! truth muon track eta, p_T, Centrality, Z-vertex, phi
76 THn *fHMuonDetGen; //! detector level muon track generated eta, p_T, Centrality, Z-vertex, phi
77 THn *fHMuonDetRec; //! reconstructed muon track eta, p_T, Centrality, Z-vertex, phi
78 THn *fHEtcDetRec; //! particle reconstructed at MUON detector, but not muon
80 TH2F *fHMuMotherGenPt[4]; //! particle-level muon p_T vs. mother p_T
81 TH2F *fHMuMotherRecPt[4]; //! detector-level muon p_T vs. mother p_T
82 TH2F *fHMuMotherGenPhi[4];//! particle-level muon phi vs. mother phi
83 TH2F *fHMuMotherRecPhi[4];//! detector-level muon phi vs. mother phi
84 TH2F *fHMuMotherGenEta[4];//! particle-level muon eta vs. mother eta
85 TH2F *fHMuMotherRecEta[4];//! detector-level muon eta vs. mother eta
86 TH1F *fHMuDCA[4]; //! muon DCA
88 TH1F *fHMuMohterPhiDifGen[4][3]; //!
89 TH1F *fHMuMohterPhiDifRec[4][3]; //!
90 TH1F *fHMuMohterEtaDifGen[4][3]; //!
91 TH1F *fHMuMohterEtaDifRec[4][3]; //!
102 AliMuonEffMC(const AliMuonEffMC&); // not implemented
103 AliMuonEffMC &operator=(const AliMuonEffMC&); // not implemented
105 ClassDef(AliMuonEffMC, 5);