]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/Correlations/DPhi/MuonHadron/AliAnalysisTaskMuonHadronCorrelations.h
Introducing p-A muon-hadron correlation analysis task (Antonio)
[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 //====================================================================================================================================================
14
15 class  AliAnalysisTaskMuonHadronCorrelations : public AliAnalysisTaskSE {
16
17  public:
18  
19   enum {kSingleEvent, kMixedEvent};
20
21   AliAnalysisTaskMuonHadronCorrelations();
22   AliAnalysisTaskMuonHadronCorrelations(const Char_t *name);
23   virtual ~AliAnalysisTaskMuonHadronCorrelations();
24
25   virtual void UserCreateOutputObjects();
26   virtual void UserExec(Option_t *option);
27   virtual void Terminate(Option_t *);
28
29   // ------------- Cuts -----------------
30
31   void SetFilterBitCentralBarrel(Int_t filter) { fFilterBitCentralBarrel = filter; }
32   void SetMaxEtaCentralBarrel(Double_t eta) { fMaxEtaCentralBarrel = eta; }
33   void SetTriggerMatchLevelMuon(Short_t level) { fTriggerMatchLevelMuon = level; }
34   //  void SetMaxChi2Muon(Double_t chi2Max) { fMaxChi2Muon = chi2Max; }
35   void SetRAbsRangeMuon (Double_t rAbsMin,Double_t rAbsMax) { fMinRAbsMuon = rAbsMin; fMaxRAbsMuon = rAbsMax; }
36
37   void SetTriggerWord(TString triggerWord) { fTriggerWord = triggerWord; fIsTriggerSet = kTRUE; }
38
39   // ------------- Analysis -------------
40
41   Float_t GetV0Multiplicity();
42   Double_t GetITSMultiplicity();
43   Bool_t IsTriggerFired();
44   TClonesArray* GetAcceptedTracksCentralBarrel(AliAODEvent *aodEvent);
45   TClonesArray* GetAcceptedTracksMuonArm(AliAODEvent *aodEvent);
46   void SetPtBinning(Int_t nBins, Double_t *limits);
47   void SetCentBinning(Int_t nBins, Double_t *limits);
48   void SetMultBinning(Int_t nBins, Double_t *limits);
49   void SetCentMethod(const Char_t *method) { fCentMethod = method; }
50   void FillHistograms(Int_t centrality, Int_t option);
51   Int_t GetCentBin();
52   Int_t GetMultBin();
53
54  private:
55
56   static const Int_t fNMaxBinsCentrality = 20;
57   static const Int_t fNMaxBinsPt = 10;
58
59   AliAODEvent *fAOD;
60   TClonesArray *fTracksCentralBarrel, *fTracksMuonArm;
61   AliAODTrack *fTrackCB, *fTrackMA;
62   
63   Int_t fFilterBitCentralBarrel;
64   Double_t fMaxEtaCentralBarrel;
65
66   Double_t fMaxChi2Muon, fMinRAbsMuon, fMaxRAbsMuon;
67   Short_t fTriggerMatchLevelMuon;
68
69   TString fTriggerWord;
70   Bool_t fIsTriggerSet;
71
72   Int_t fNbinsCent, fNbinsPt;
73   
74   TAxis *fCentAxis, *fMultAxis, *fPtAxis;
75
76   TH1D *fHistDeltaPhi[fNMaxBinsCentrality][fNMaxBinsPt][fNMaxBinsPt], *fHistDeltaPhiMix[fNMaxBinsCentrality][fNMaxBinsPt][fNMaxBinsPt];
77   TH2D *fHistNTracksCB_vs_NTracksMA[fNMaxBinsCentrality];
78
79   TH1D *fHistV0Multiplicity, *fHistITSMultiplicity;
80   TH1D *fHistCentrality;
81
82   TString fCentMethod;
83
84   Int_t fEvt;
85
86   TList *fOutputList;
87
88   AliAnalysisTaskMuonHadronCorrelations(const AliAnalysisTaskMuonHadronCorrelations&);//not implimented
89   AliAnalysisTaskMuonHadronCorrelations& operator=(const AliAnalysisTaskMuonHadronCorrelations&);//not implimnted
90   
91   ClassDef(AliAnalysisTaskMuonHadronCorrelations, 1)  // example of analysis
92
93 };
94
95 //====================================================================================================================================================
96
97 #endif