]>
Commit | Line | Data |
---|---|---|
a8ad4709 | 1 | #ifndef ALIANALYSISTASKPHIBAYES_H |
2 | #define ALIANALYSISTASKPHIBayes_H | |
3 | ||
4 | // ROOT includes | |
5 | #include <TObject.h> | |
6 | #include <TClonesArray.h> | |
7 | #include <TList.h> | |
8 | #include <TProfile.h> | |
9 | #include "AliPIDCombined.h" | |
10 | #include "TF1.h" | |
11 | ||
12 | // AliRoot includes | |
13 | #include <AliAnalysisTaskSE.h> | |
14 | #include <AliAODEvent.h> | |
15 | #include "AliPIDperfContainer.h" | |
520899fb | 16 | #include "AliPIDperfCut.h" |
a8ad4709 | 17 | |
18 | class TH1F; | |
19 | class TH2F; | |
20 | class AliESDtrackCuts; | |
21 | ||
22 | class AliAnalysisTaskPhiBayes : public AliAnalysisTaskSE { | |
23 | public: | |
24 | AliAnalysisTaskPhiBayes(); | |
25 | AliAnalysisTaskPhiBayes(const char *name); | |
26 | ||
27 | virtual ~AliAnalysisTaskPhiBayes(); | |
28 | ||
29 | virtual void UserCreateOutputObjects(); | |
30 | virtual void UserExec(Option_t *option); | |
31 | virtual void Terminate(Option_t *); | |
32 | ||
33 | Double_t GetVtxCut() { return fVtxCut; } | |
34 | Double_t GetEtaCut() { return fEtaCut; } | |
35 | Double_t GetMinPt() { return fMinPt; } | |
36 | ||
37 | virtual void SetVtxCut(Double_t vtxCut){fVtxCut = vtxCut;} | |
38 | virtual void SetEtaCut(Double_t etaCut){fEtaCut = etaCut;} | |
39 | virtual void SetMinPt(Double_t value) {fMinPt = value;} | |
40 | ||
41 | virtual void SetMC(Bool_t flag = kTRUE){fIsMC = flag;}; | |
42 | virtual void SetQA(Bool_t flag = kTRUE){fQAsw = flag;}; | |
43 | ||
44 | void SetTPCclusterN(Int_t ncl){fNcluster=ncl;}; | |
45 | ||
8c1aafae | 46 | void SetCorrEP(Bool_t flag=kTRUE) {fToEP = flag;}; |
47 | ||
a8ad4709 | 48 | static const Int_t nPtBin = 13; //! # pt phi bins |
49 | ||
50 | void SetFilterBit(Int_t fb){fFilterBit=fb;}; | |
51 | Int_t GetFilterBit() const {return fFilterBit;}; | |
52 | ||
9c668341 | 53 | void SetTypeCollisions(Int_t type){fTypeCol = type;}; // 0=pp, 1=pPb, 2=PbPb |
54 | Int_t GetTypeCollisions() const {return fTypeCol;}; | |
55 | ||
520899fb | 56 | void SetPIDuserCut(AliPIDperfCut *usercut){fPIDuserCut = usercut;}; |
bc629e38 | 57 | void SetRefSpecies(Int_t species) {fSpeciesRef = species;} |
520899fb | 58 | |
a8ad4709 | 59 | private: |
60 | AliAnalysisTaskPhiBayes(const AliAnalysisTaskPhiBayes &old); | |
61 | AliAnalysisTaskPhiBayes& operator=(const AliAnalysisTaskPhiBayes &source); | |
62 | ||
63 | virtual Float_t GetVertex(AliAODEvent* aod) const; | |
64 | virtual void Analyze(AliAODEvent* aodEvent); | |
65 | virtual Int_t IsChannelValid(Float_t etaAbs); | |
66 | ||
67 | Double_t fVtxCut; // Vtx cut on z position in cm | |
68 | Double_t fEtaCut; // Eta cut used to select particles | |
69 | Double_t fMinPt; // Min pt - for histogram limits | |
70 | ||
71 | Bool_t fIsMC; // if MC | |
72 | Bool_t fQAsw; // if QA | |
73 | ||
74 | static const Int_t nCentrBin = 9; //! # cenrality bins | |
75 | ||
76 | // | |
77 | // Cuts and options | |
78 | // | |
79 | ||
80 | Int_t fNcluster; // Numer of TPC cluster required | |
81 | Int_t fFilterBit; // filter bit to be used | |
82 | TList *fList; //! List for output objects | |
83 | TList *fList2; //! List for output objects | |
84 | TList *fList3; //! List for output objects | |
85 | ||
86 | // | |
87 | Float_t fCentrality; //! current centrality for the tree | |
88 | Float_t fPsi; //! current Psi from TPC | |
89 | ||
90 | Float_t fPtPhi; //! variable to fill the tree | |
91 | Float_t fPhiPhi; //! variable to fill the tree | |
92 | Float_t fEtaPhi; //! variable to fill the tree | |
93 | Float_t fMassV0; //! variable to fill the tree | |
94 | Float_t fPtKp; //! variable to fill the tree | |
95 | Float_t fPhiKp; //! variable to fill the tree | |
96 | Float_t fEtaKp; //! variable to fill the tree | |
97 | Float_t fPtKn; //! variable to fill the tree | |
98 | Float_t fPhiKn; //! variable to fill the tree | |
99 | Float_t fEtaKn; //! variable to fill the tree | |
100 | Int_t fPidKp; //! variable to fill the tree | |
101 | Int_t fPidKn; //! variable to fill the tree | |
102 | ||
103 | TH2F *hMatching[4]; //! matching (all, pi, k ,p) | |
104 | TH2F *hTracking[4]; //! tracking (all, pi, k ,p) | |
105 | ||
106 | TH2F *fTOFTPCsignal; //! histo with tof signal | |
107 | TH1F *fCombsignal; //! histo with tof signal | |
108 | ||
109 | static Float_t fPtPhiMin[nPtBin];// ptmin bin | |
110 | static Float_t fPtPhiMax[nPtBin];// ptmax bin | |
111 | ||
112 | // QA plots | |
113 | TH2F *fPiTPC[nCentrBin];//! TPC dE/dx plot | |
114 | TH2F *fKaTPC[nCentrBin];//! TPC dE/dx plot | |
115 | TH2F *fPrTPC[nCentrBin];//! TPC dE/dx plot | |
116 | TH2F *fElTPC[nCentrBin];//! TPC dE/dx plot | |
117 | ||
118 | TH2F *fPiTOF[nCentrBin];//! TPC dE/dx plot | |
119 | TH2F *fKaTOF[nCentrBin];//! TPC dE/dx plot | |
120 | TH2F *fPrTOF[nCentrBin];//! TPC dE/dx plot | |
121 | TH2F *fElTOF[nCentrBin];//! TPC dE/dx plot | |
122 | ||
123 | AliESDtrackCuts *fCutsDaughter; | |
124 | ||
125 | AliPIDCombined *fPIDCombined; //! PID combined object | |
126 | AliPIDperfContainer* fContPid; //! results for positive | |
127 | AliPIDperfContainer* fContPid2; //! results for negative | |
520899fb | 128 | AliPIDperfContainer* fContUser; //! results for positive user cut |
129 | AliPIDperfContainer* fContUser2; //! results for negative user cut | |
a8ad4709 | 130 | |
131 | TH1F *fHmismTOF; //! TOF mismatch distribution | |
132 | TH1D *fHchannelTOFdistr; //! TOF channel distance w.r.t. IP | |
133 | ||
9c668341 | 134 | Int_t fTypeCol; // type of collision system (0=pp, 1=pPb, 2=PbPb) |
520899fb | 135 | AliPIDperfCut *fPIDuserCut; // pid user cut to be cheked |
9c668341 | 136 | |
8c1aafae | 137 | Bool_t fToEP; // correlate to TPC EP |
bc629e38 | 138 | Int_t fSpeciesRef; // reference species (default = 3, kaon) |
8c1aafae | 139 | |
bc629e38 | 140 | ClassDef(AliAnalysisTaskPhiBayes, 5); //Analysis task for bayesian (K0s) |
a8ad4709 | 141 | }; |
142 | ||
143 | #endif |