1 #ifndef AliAnalysisTaskMuonHadronCorrelations_H
2 #define AliAnalysisTaskMuonHadronCorrelations_H
4 #include "AliAnalysisTaskSE.h"
6 #include "AliAODEvent.h"
7 #include "AliAODTrack.h"
10 #include "TClonesArray.h"
13 class AliEventPoolManager;
15 //====================================================================================================================================================
17 class AliAnalysisTaskMuonHadronCorrelations : public AliAnalysisTaskSE {
21 enum {kSingleEvent, kMixedEvent};
23 AliAnalysisTaskMuonHadronCorrelations();
24 AliAnalysisTaskMuonHadronCorrelations(const Char_t *name);
25 virtual ~AliAnalysisTaskMuonHadronCorrelations();
27 virtual void UserCreateOutputObjects();
28 virtual void UserExec(Option_t *option);
29 virtual void Terminate(Option_t *);
31 // ------------- Cuts -----------------
33 void SetFilterBitCentralBarrel(Int_t filter) { fFilterBitCentralBarrel = filter; }
34 void SetMaxEtaCentralBarrel(Double_t eta) { fMaxEtaCentralBarrel = eta; }
35 void SetMinEtaCentralBarrel(Double_t eta) { fMinEtaCentralBarrel = eta; }
36 void SetTriggerMatchLevelMuon(Short_t level) { fTriggerMatchLevelMuon = level; }
37 // void SetMaxChi2Muon(Double_t chi2Max) { fMaxChi2Muon = chi2Max; }
38 void SetRAbsRangeMuon (Double_t rAbsMin,Double_t rAbsMax) { fMinRAbsMuon = rAbsMin; fMaxRAbsMuon = rAbsMax; }
40 // ------------- Analysis -------------
42 Float_t GetV0Multiplicity();
43 Double_t GetITSMultiplicity();
44 Bool_t IsTriggerFired();
45 TObjArray* GetAcceptedTracksCentralBarrel(AliAODEvent *aodEvent);
46 TObjArray* GetAcceptedTracksMuonArm(AliAODEvent *aodEvent, Int_t centBin);
47 void SetPtBinning(Int_t nBins, Double_t *limits);
48 void SetCentBinning(Int_t nBins, Double_t *limits);
49 void SetEtaBinning(Int_t nBins, Double_t *limits);
50 void SetCentMethod(const Char_t *method) { fCentMethod = method; }
51 void FillHistograms(Int_t centrality, Int_t option);
56 static const Int_t fNMaxBinsCentrality = 20;
57 static const Int_t fNMaxBinsPt = 10;
58 static const Int_t fNMaxBinsEta = 10;
60 AliAODEvent *fAOD; //!
61 AliEventPoolManager *fPoolMgr; //! event pool manager
62 AliAODTrack *fTrackCB; //!
63 AliAODTrack *fTrackMA; //!
65 Int_t fFilterBitCentralBarrel;
66 Double_t fMaxEtaCentralBarrel;
67 Double_t fMinEtaCentralBarrel;
69 Double_t fMaxChi2Muon, fMinRAbsMuon, fMaxRAbsMuon;
70 Short_t fTriggerMatchLevelMuon;
72 Int_t fNbinsCent, fNbinsPt;
78 TH1D *fHistDeltaPhi[fNMaxBinsCentrality][fNMaxBinsPt][fNMaxBinsPt]; //!
79 TH1D *fHistDeltaPhiMix[fNMaxBinsCentrality][fNMaxBinsPt][fNMaxBinsPt]; //!
80 TH2D *fHistEtaDeltaPhi[fNMaxBinsCentrality][fNMaxBinsPt][fNMaxBinsPt]; //!
81 TH2D *fHistEtaDeltaPhiMix[fNMaxBinsCentrality][fNMaxBinsPt][fNMaxBinsPt]; //!
82 TH2D *fHistNTracksCB_vs_NTracksMA[fNMaxBinsCentrality]; //!
83 TH2D *fHistNTracksCB_vs_NTracksMAmixed[fNMaxBinsCentrality]; //!
84 TH2D *fHistTracksEtaMAvsEtaCB[fNMaxBinsCentrality]; //!
85 TH2D *fHistTracksEtaMAvsEtaCBmixed[fNMaxBinsCentrality]; //!
86 TH1D *fHistSingleMuonsPt[fNMaxBinsCentrality]; //!
87 TH1D *fHistSingleMuonsPtmixed[fNMaxBinsCentrality]; //!
88 TH2D *fHistSingleMuonsEtaPt[fNMaxBinsCentrality]; //!
89 TH2D *fHistSingleMuonsEtaPtmixed[fNMaxBinsCentrality]; //!
91 TH1D *fHistV0Multiplicity; //!
92 TH1D *fHistITSMultiplicity; //!
93 TH1D *fHistCentrality; //!
94 TH1D *fHistEvStat; //!
96 TH1D *fHistSingleMuonsTrigMatch[fNMaxBinsCentrality]; //!
97 TH1D *fHistSingleMuonsChi2[fNMaxBinsCentrality]; //!
98 TH2D *fHistSingleMuonsEtaVsPt[fNMaxBinsCentrality]; //!
99 TH2D *fHistSingleMuonsEtaVsRAbs[fNMaxBinsCentrality]; //!
103 TList *fOutputList; //!
105 AliAnalysisTaskMuonHadronCorrelations(const AliAnalysisTaskMuonHadronCorrelations&);//not implimented
106 AliAnalysisTaskMuonHadronCorrelations& operator=(const AliAnalysisTaskMuonHadronCorrelations&);//not implimnted
108 ClassDef(AliAnalysisTaskMuonHadronCorrelations, 2) // example of analysis
112 //====================================================================================================================================================