Further update of the mu-h correlation task.
[u/mrichter/AliRoot.git] / PWGCF / Correlations / DPhi / MuonHadron / AliAnalysisTaskMuonHadronCorrelations.h
CommitLineData
07c2615a 1#ifndef AliAnalysisTaskMuonHadronCorrelations_H
2#define AliAnalysisTaskMuonHadronCorrelations_H
3
4#include "AliAnalysisTaskSE.h"
5#include "TString.h"
6#include "AliAODEvent.h"
7#include "AliAODTrack.h"
8#include "TAxis.h"
9#include "TH1D.h"
10#include "TClonesArray.h"
11#include "TH2D.h"
12
6de71f1d 13class AliEventPoolManager;
14
07c2615a 15//====================================================================================================================================================
16
17class AliAnalysisTaskMuonHadronCorrelations : public AliAnalysisTaskSE {
18
19 public:
20
21 enum {kSingleEvent, kMixedEvent};
22
23 AliAnalysisTaskMuonHadronCorrelations();
24 AliAnalysisTaskMuonHadronCorrelations(const Char_t *name);
25 virtual ~AliAnalysisTaskMuonHadronCorrelations();
26
27 virtual void UserCreateOutputObjects();
28 virtual void UserExec(Option_t *option);
29 virtual void Terminate(Option_t *);
30
31 // ------------- Cuts -----------------
32
33 void SetFilterBitCentralBarrel(Int_t filter) { fFilterBitCentralBarrel = filter; }
34 void SetMaxEtaCentralBarrel(Double_t eta) { fMaxEtaCentralBarrel = eta; }
35 void SetTriggerMatchLevelMuon(Short_t level) { fTriggerMatchLevelMuon = level; }
36 // void SetMaxChi2Muon(Double_t chi2Max) { fMaxChi2Muon = chi2Max; }
37 void SetRAbsRangeMuon (Double_t rAbsMin,Double_t rAbsMax) { fMinRAbsMuon = rAbsMin; fMaxRAbsMuon = rAbsMax; }
38
07c2615a 39 // ------------- Analysis -------------
40
41 Float_t GetV0Multiplicity();
42 Double_t GetITSMultiplicity();
43 Bool_t IsTriggerFired();
6de71f1d 44 TObjArray* GetAcceptedTracksCentralBarrel(AliAODEvent *aodEvent);
57a9cc15 45 TObjArray* GetAcceptedTracksMuonArm(AliAODEvent *aodEvent, Int_t centBin);
07c2615a 46 void SetPtBinning(Int_t nBins, Double_t *limits);
47 void SetCentBinning(Int_t nBins, Double_t *limits);
07c2615a 48 void SetCentMethod(const Char_t *method) { fCentMethod = method; }
49 void FillHistograms(Int_t centrality, Int_t option);
50 Int_t GetCentBin();
07c2615a 51
52 private:
53
54 static const Int_t fNMaxBinsCentrality = 20;
55 static const Int_t fNMaxBinsPt = 10;
56
6de71f1d 57 AliAODEvent *fAOD; //!
58 AliEventPoolManager *fPoolMgr; //! event pool manager
59 AliAODTrack *fTrackCB; //!
60 AliAODTrack *fTrackMA; //!
07c2615a 61
62 Int_t fFilterBitCentralBarrel;
63 Double_t fMaxEtaCentralBarrel;
64
65 Double_t fMaxChi2Muon, fMinRAbsMuon, fMaxRAbsMuon;
66 Short_t fTriggerMatchLevelMuon;
67
07c2615a 68 Int_t fNbinsCent, fNbinsPt;
69
6de71f1d 70 TAxis *fCentAxis;
71 TAxis *fPtAxis;
07c2615a 72
6de71f1d 73 TH1D *fHistDeltaPhi[fNMaxBinsCentrality][fNMaxBinsPt][fNMaxBinsPt]; //!
74 TH1D *fHistDeltaPhiMix[fNMaxBinsCentrality][fNMaxBinsPt][fNMaxBinsPt]; //!
75 TH2D *fHistNTracksCB_vs_NTracksMA[fNMaxBinsCentrality]; //!
57a9cc15 76 TH2D *fHistNTracksCB_vs_NTracksMAmixed[fNMaxBinsCentrality]; //!
9c92a0e1 77 TH1D *fHistSingleMuonsPt[fNMaxBinsCentrality]; //!
78 TH1D *fHistSingleMuonsPtmixed[fNMaxBinsCentrality]; //!
07c2615a 79
6de71f1d 80 TH1D *fHistV0Multiplicity; //!
81 TH1D *fHistITSMultiplicity; //!
82 TH1D *fHistCentrality; //!
9c92a0e1 83 TH1D *fHistEvStat; //!
07c2615a 84
57a9cc15 85 TH2D *fHistSingleMuonsEtaVsPt[fNMaxBinsCentrality]; //!
86 TH2D *fHistSingleMuonsEtaVsRAbs[fNMaxBinsCentrality]; //!
87
07c2615a 88 TString fCentMethod;
89
6de71f1d 90 TList *fOutputList; //!
07c2615a 91
92 AliAnalysisTaskMuonHadronCorrelations(const AliAnalysisTaskMuonHadronCorrelations&);//not implimented
93 AliAnalysisTaskMuonHadronCorrelations& operator=(const AliAnalysisTaskMuonHadronCorrelations&);//not implimnted
94
95 ClassDef(AliAnalysisTaskMuonHadronCorrelations, 1) // example of analysis
96
97};
98
99//====================================================================================================================================================
100
101#endif