]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/Correlations/DPhi/MuonHadron/AliAnalysisTaskMuonHadronCorrelations.h
Next version of the muon-hadron correlations 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]; //!
07c2615a 77
6de71f1d 78 TH1D *fHistV0Multiplicity; //!
79 TH1D *fHistITSMultiplicity; //!
80 TH1D *fHistCentrality; //!
07c2615a 81
57a9cc15 82 TH2D *fHistSingleMuonsEtaVsPt[fNMaxBinsCentrality]; //!
83 TH2D *fHistSingleMuonsEtaVsRAbs[fNMaxBinsCentrality]; //!
84
07c2615a 85 TString fCentMethod;
86
6de71f1d 87 TList *fOutputList; //!
07c2615a 88
89 AliAnalysisTaskMuonHadronCorrelations(const AliAnalysisTaskMuonHadronCorrelations&);//not implimented
90 AliAnalysisTaskMuonHadronCorrelations& operator=(const AliAnalysisTaskMuonHadronCorrelations&);//not implimnted
91
92 ClassDef(AliAnalysisTaskMuonHadronCorrelations, 1) // example of analysis
93
94};
95
96//====================================================================================================================================================
97
98#endif