]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/Correlations/DPhi/MuonHadron/AliAnalysisTaskMuonHadronCorrelations.h
TriggerPID: Updates from Debojit
[u/mrichter/AliRoot.git] / PWGCF / Correlations / DPhi / MuonHadron / AliAnalysisTaskMuonHadronCorrelations.h
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
13 class AliEventPoolManager;
14
15 //====================================================================================================================================================
16
17 class  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 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; }
39
40   // ------------- Analysis -------------
41
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);
52   Int_t GetCentBin();
53
54  private:
55
56   static const Int_t fNMaxBinsCentrality = 20;
57   static const Int_t fNMaxBinsPt = 10;
58   static const Int_t fNMaxBinsEta = 10;
59
60   AliAODEvent *fAOD; //!
61   AliEventPoolManager *fPoolMgr; //! event pool manager
62   AliAODTrack *fTrackCB; //!
63   AliAODTrack *fTrackMA; //!
64   
65   Int_t fFilterBitCentralBarrel;
66   Double_t fMaxEtaCentralBarrel;
67   Double_t fMinEtaCentralBarrel;
68
69   Double_t fMaxChi2Muon, fMinRAbsMuon, fMaxRAbsMuon;
70   Short_t fTriggerMatchLevelMuon;
71
72   Int_t fNbinsCent, fNbinsPt;
73   
74   TAxis *fCentAxis;
75   TAxis *fPtAxis;
76   TAxis *fEtaAxis;
77
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]; //!
90
91   TH1D *fHistV0Multiplicity; //!
92   TH1D *fHistITSMultiplicity; //!
93   TH1D *fHistCentrality; //!
94   TH1D *fHistEvStat; //!
95
96   TH1D *fHistSingleMuonsTrigMatch[fNMaxBinsCentrality]; //!
97   TH1D *fHistSingleMuonsChi2[fNMaxBinsCentrality]; //!
98   TH2D *fHistSingleMuonsEtaVsPt[fNMaxBinsCentrality]; //!
99   TH2D *fHistSingleMuonsEtaVsRAbs[fNMaxBinsCentrality]; //!
100
101   TString fCentMethod;
102
103   TList *fOutputList; //!
104
105   AliAnalysisTaskMuonHadronCorrelations(const AliAnalysisTaskMuonHadronCorrelations&);//not implimented
106   AliAnalysisTaskMuonHadronCorrelations& operator=(const AliAnalysisTaskMuonHadronCorrelations&);//not implimnted
107   
108   ClassDef(AliAnalysisTaskMuonHadronCorrelations, 2)  // example of analysis
109
110 };
111
112 //====================================================================================================================================================
113
114 #endif