]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGPP/pid/AliAnalysisTaskPhiBayes.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGPP / pid / AliAnalysisTaskPhiBayes.h
CommitLineData
a8ad4709 1#ifndef ALIANALYSISTASKPHIBAYES_H
680919b7 2#define ALIANALYSISTASKPHIBAYES_H
a8ad4709 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
18class TH1F;
19class TH2F;
20class AliESDtrackCuts;
21
22class 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