1 #ifndef ALIANALYSISTASKPHIBAYES_H
2 #define ALIANALYSISTASKPHIBayes_H
6 #include <TClonesArray.h>
9 #include "AliPIDCombined.h"
13 #include <AliAnalysisTaskSE.h>
14 #include <AliAODEvent.h>
15 #include "AliPIDperfContainer.h"
19 class AliESDtrackCuts;
21 class AliAnalysisTaskPhiBayes : public AliAnalysisTaskSE {
23 AliAnalysisTaskPhiBayes();
24 AliAnalysisTaskPhiBayes(const char *name);
26 virtual ~AliAnalysisTaskPhiBayes();
28 virtual void UserCreateOutputObjects();
29 virtual void UserExec(Option_t *option);
30 virtual void Terminate(Option_t *);
32 Double_t GetVtxCut() { return fVtxCut; }
33 Double_t GetEtaCut() { return fEtaCut; }
34 Double_t GetMinPt() { return fMinPt; }
36 virtual void SetVtxCut(Double_t vtxCut){fVtxCut = vtxCut;}
37 virtual void SetEtaCut(Double_t etaCut){fEtaCut = etaCut;}
38 virtual void SetMinPt(Double_t value) {fMinPt = value;}
40 virtual void SetMC(Bool_t flag = kTRUE){fIsMC = flag;};
41 virtual void SetQA(Bool_t flag = kTRUE){fQAsw = flag;};
43 void SetTPCclusterN(Int_t ncl){fNcluster=ncl;};
45 static const Int_t nPtBin = 13; //! # pt phi bins
47 void SetFilterBit(Int_t fb){fFilterBit=fb;};
48 Int_t GetFilterBit() const {return fFilterBit;};
51 AliAnalysisTaskPhiBayes(const AliAnalysisTaskPhiBayes &old);
52 AliAnalysisTaskPhiBayes& operator=(const AliAnalysisTaskPhiBayes &source);
54 virtual Float_t GetVertex(AliAODEvent* aod) const;
55 virtual void Analyze(AliAODEvent* aodEvent);
56 virtual Int_t IsChannelValid(Float_t etaAbs);
58 Double_t fVtxCut; // Vtx cut on z position in cm
59 Double_t fEtaCut; // Eta cut used to select particles
60 Double_t fMinPt; // Min pt - for histogram limits
62 Bool_t fIsMC; // if MC
63 Bool_t fQAsw; // if QA
65 static const Int_t nCentrBin = 9; //! # cenrality bins
71 Int_t fNcluster; // Numer of TPC cluster required
72 Int_t fFilterBit; // filter bit to be used
73 TList *fList; //! List for output objects
74 TList *fList2; //! List for output objects
75 TList *fList3; //! List for output objects
78 Float_t fCentrality; //! current centrality for the tree
79 Float_t fPsi; //! current Psi from TPC
81 Float_t fPtPhi; //! variable to fill the tree
82 Float_t fPhiPhi; //! variable to fill the tree
83 Float_t fEtaPhi; //! variable to fill the tree
84 Float_t fMassV0; //! variable to fill the tree
85 Float_t fPtKp; //! variable to fill the tree
86 Float_t fPhiKp; //! variable to fill the tree
87 Float_t fEtaKp; //! variable to fill the tree
88 Float_t fPtKn; //! variable to fill the tree
89 Float_t fPhiKn; //! variable to fill the tree
90 Float_t fEtaKn; //! variable to fill the tree
91 Int_t fPidKp; //! variable to fill the tree
92 Int_t fPidKn; //! variable to fill the tree
94 TH2F *hMatching[4]; //! matching (all, pi, k ,p)
95 TH2F *hTracking[4]; //! tracking (all, pi, k ,p)
97 TH2F *fTOFTPCsignal; //! histo with tof signal
98 TH1F *fCombsignal; //! histo with tof signal
100 static Float_t fPtPhiMin[nPtBin];// ptmin bin
101 static Float_t fPtPhiMax[nPtBin];// ptmax bin
104 TH2F *fPiTPC[nCentrBin];//! TPC dE/dx plot
105 TH2F *fKaTPC[nCentrBin];//! TPC dE/dx plot
106 TH2F *fPrTPC[nCentrBin];//! TPC dE/dx plot
107 TH2F *fElTPC[nCentrBin];//! TPC dE/dx plot
109 TH2F *fPiTOF[nCentrBin];//! TPC dE/dx plot
110 TH2F *fKaTOF[nCentrBin];//! TPC dE/dx plot
111 TH2F *fPrTOF[nCentrBin];//! TPC dE/dx plot
112 TH2F *fElTOF[nCentrBin];//! TPC dE/dx plot
114 AliESDtrackCuts *fCutsDaughter;
116 AliPIDCombined *fPIDCombined; //! PID combined object
117 AliPIDperfContainer* fContPid; //! results for positive
118 AliPIDperfContainer* fContPid2; //! results for negative
120 TH1F *fHmismTOF; //! TOF mismatch distribution
121 TH1D *fHchannelTOFdistr; //! TOF channel distance w.r.t. IP
123 ClassDef(AliAnalysisTaskPhiBayes, 1); //Analysis task for bayesian (K0s)