1 #ifndef ALIANALYSISTASKVNV0_H
2 #define ALIANALYSISTASKVNV0_H
6 #include <TClonesArray.h>
12 #include <AliAnalysisTaskSE.h>
13 #include <AliAODEvent.h>
14 #include "AliFlowBayesianPID.h"
15 #include "AliFlowVZEROResults.h"
16 #include "AliFlowVZEROQA.h"
20 class AliAnalysisTaskVnV0 : public AliAnalysisTaskSE {
22 AliAnalysisTaskVnV0();
23 AliAnalysisTaskVnV0(const char *name);
25 virtual ~AliAnalysisTaskVnV0();
27 virtual void UserCreateOutputObjects();
28 virtual void UserExec(Option_t *option);
29 virtual void Terminate(Option_t *);
31 Double_t GetVtxCut() { return fVtxCut; }
32 Double_t GetEtaCut() { return fEtaCut; }
33 Double_t GetMinPt() { return fMinPt; }
35 virtual void SetVtxCut(Double_t vtxCut){fVtxCut = vtxCut;}
36 virtual void SetEtaCut(Double_t etaCut){fEtaCut = etaCut;}
37 virtual void SetMinPt(Double_t value) {fMinPt = value;}
38 virtual void SetV2(Bool_t val){fV2 = val;};
39 virtual void SetV3(Bool_t val){fV3 = val;};
41 virtual void SetMC(Bool_t flag = kTRUE){fIsMC = flag;};
42 virtual void SetQA(Bool_t flag = kTRUE){fQAsw = flag;};
44 void OpenInfoCalbration(Int_t run);
47 AliAnalysisTaskVnV0(const AliAnalysisTaskVnV0 &old);
48 AliAnalysisTaskVnV0& operator=(const AliAnalysisTaskVnV0 &source);
50 virtual Float_t GetVertex(AliAODEvent* aod) const;
51 virtual void Analyze(AliAODEvent* aodEvent, Float_t v0Centr);
53 Double_t fVtxCut; // Vtx cut on z position in cm
54 Double_t fEtaCut; // Eta cut used to select particles
55 Double_t fMinPt; // Min pt - for histogram limits
57 Bool_t fV2; // switch to set the armonics
58 Bool_t fV3; // switch to set the armonics
59 Bool_t fIsMC; // if MC
60 Bool_t fQAsw; // if QA
62 static const Int_t nCentrBin = 9; //! # cenrality bins
68 Int_t fRun; //! current run checked to load VZERO calibrations
70 TList *fList; //! List for output objects
71 TList *fList2; //! List for output objects
72 TList *fList3; //! List for output objects
73 TList *fList4; //! List for output objects
76 TProfile *fMultV0; //! object containing VZERO calibration information
77 Float_t fV0Cpol; //! loaded by OADB
78 Float_t fV0Apol; //! loaded by OADB
79 Float_t fMeanQ[nCentrBin][2][2]; //! and recentering
80 Float_t fWidthQ[nCentrBin][2][2]; //! ...
81 Float_t fMeanQv3[nCentrBin][2][2]; //! also for v3
82 Float_t fWidthQv3[nCentrBin][2][2]; //! ...
84 TProfile *fHResTPCv0A2; //! TProfile for subevent resolution (output)
85 TProfile *fHResTPCv0C2; //! TProfile for subevent resolution (output)
86 TProfile *fHResv0Cv0A2; //! TProfile for subevent resolution (output)
87 TProfile *fHResTPCv0A3; //! also for v3
88 TProfile *fHResTPCv0C3; //! also for v3
89 TProfile *fHResv0Cv0A3; //! also for v3
91 TH2F *fPhiRPv0A; //! EP distribution vs. centrality (v2)
92 TH2F *fPhiRPv0C; //! EP distribution vs. centrality (v2)
93 TH2F *fPhiRPv0Av3; //! EP distribution vs. centrality (v3)
94 TH2F *fPhiRPv0Cv3; //! EP distribution vs. centrality (v3)
96 AliFlowVZEROQA *fQA; //! QA histos (v2)
97 AliFlowVZEROQA *fQA2; //! QA histos (v2)
98 AliFlowVZEROQA *fQAv3; //! QA histos (v3)
99 AliFlowVZEROQA *fQA2v3; //! QA histos (v3)
101 AliFlowBayesianPID *fPID; //! PID class for the Bayesian probabilities
103 TTree *fTree; //! tree to debug EP (if needed)
105 Float_t fCentrality; //! current centrality for the tree
106 Float_t evPlAngV0ACor2; //! subevent EPs (v2)
107 Float_t evPlAngV0CCor2; //! subevent EPs (v2)
108 Float_t evPlAng2; //! subevent EPs (v2)
109 Float_t evPlAngV0ACor3; //! subevent EPs (v3)
110 Float_t evPlAngV0CCor3; //! subevent EPs (v3)
111 Float_t evPlAng3; //! subevent EPs (v3)
113 AliFlowVZEROResults *fContAllChargesV0A; //! results
114 AliFlowVZEROResults *fContAllChargesV0C; //! results
115 AliFlowVZEROResults *fContAllChargesV0Av3; //! results
116 AliFlowVZEROResults *fContAllChargesV0Cv3; //! results
117 AliFlowVZEROResults *fContAllChargesMC; //! results
118 AliFlowVZEROResults *fContAllChargesMCv3; //! results
121 ClassDef(AliAnalysisTaskVnV0, 4); //Analysis task v2 and v3 analysis on AOD