1 #ifndef ALIANALYSISTASKVNV0_H
2 #define ALIANALYSISTASKVNV0_H
6 #include <TClonesArray.h>
12 #include <AliAnalysisTaskSE.h>
13 #include <AliAODEvent.h>
14 #include <AliCFContainer.h>
15 #include "AliFlowBayesianPID.h"
16 #include "AliFlowVZEROResults.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 AliAODEvent* fAOD; //! AOD object
55 static const Int_t nCentrBin = 9; // # cenrality bins
60 Double_t fVtxCut; // Vtx cut on z position in cm
61 Double_t fEtaCut; // Eta cut used to select particles
62 Double_t fMinPt; // Min pt - for histogram limits
64 Int_t fRun; // current run checked to load VZERO calibrations
66 TList *fList,*fList2,*fList3,*fList4; // List for output objects
69 TProfile *fMultV0; // object containing VZERO calibration information
70 Float_t fV0Cpol,fV0Apol; // loaded by OADB
71 Float_t fMeanQ[nCentrBin][2][2]; // and recentering
72 Float_t fWidthQ[nCentrBin][2][2]; // ...
73 Float_t fMeanQv3[nCentrBin][2][2]; // also for v3
74 Float_t fWidthQv3[nCentrBin][2][2]; // ...
76 TProfile *fHResTPCv0A2,*fHResTPCv0C2,*fHResv0Cv0A2; // TProfile for subevent resolution (output)
77 TProfile *fHResTPCv0A3,*fHResTPCv0C3,*fHResv0Cv0A3; // also for v3
79 TH2F *fPhiRPv0A,*fPhiRPv0C; // EP distribution vs. centrality (v2)
80 TH2F *fPhiRPv0Av3,*fPhiRPv0Cv3; // EP distribution vs. centrality (v3)
82 AliCFContainer *fPhiTracks; // phi distribution of particles (if needed)
85 AliCFContainer *fQA,*fQA2; // QA container (v2)
86 AliCFContainer *fQAv3,*fQA2v3; // QA container (v3)
88 AliFlowBayesianPID *fPID; // PID class for the Bayesian probabilities
90 TTree *fTree; // tree to debug EP (if needed)
92 Float_t fCentrality; // current centrality for the tree
93 Float_t evPlAngV0ACor2,evPlAngV0CCor2,evPlAng2; // subevent EPs (v2)
94 Float_t evPlAngV0ACor3,evPlAngV0CCor3,evPlAng3; // subevent EPs (v3)
96 Bool_t fV2,fV3; // swith to set the armonics
98 AliFlowVZEROResults *fContAllChargesV0A,*fContAllChargesV0C,*fContAllChargesV0Av3,*fContAllChargesV0Cv3,*fContAllChargesMC,*fContAllChargesMCv3;
100 Bool_t fIsMC; // if MC
101 Bool_t fQAsw; // if QA
103 ClassDef(AliAnalysisTaskVnV0, 2); //Analysis task v2 and v3 analysis on AOD