]>
Commit | Line | Data |
---|---|---|
afa8df58 | 1 | #ifndef ALIANALYSISTASKVNV0_H |
2 | #define ALIANALYSISTASKVNV0_H | |
3 | ||
4 | // ROOT includes | |
5 | #include <TObject.h> | |
6 | #include <TClonesArray.h> | |
7 | #include "TTree.h" | |
8 | #include <TList.h> | |
9 | #include <TProfile.h> | |
10 | ||
11 | // AliRoot includes | |
12 | #include <AliAnalysisTaskSE.h> | |
13 | #include <AliAODEvent.h> | |
14 | #include <AliCFContainer.h> | |
15 | #include "AliFlowBayesianPID.h" | |
587d006a | 16 | #include "AliFlowVZEROResults.h" |
afa8df58 | 17 | |
18 | class TH2F; | |
19 | ||
20 | class AliAnalysisTaskVnV0 : public AliAnalysisTaskSE { | |
21 | public: | |
22 | AliAnalysisTaskVnV0(); | |
23 | AliAnalysisTaskVnV0(const char *name); | |
24 | ||
25 | virtual ~AliAnalysisTaskVnV0(); | |
26 | ||
27 | virtual void UserCreateOutputObjects(); | |
28 | virtual void UserExec(Option_t *option); | |
29 | virtual void Terminate(Option_t *); | |
30 | ||
31 | Double_t GetVtxCut() { return fVtxCut; } | |
32 | Double_t GetEtaCut() { return fEtaCut; } | |
33 | Double_t GetMinPt() { return fMinPt; } | |
34 | ||
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;}; | |
40 | ||
587d006a | 41 | virtual void SetMC(Bool_t flag = kTRUE){fIsMC = flag;}; |
42 | virtual void SetQA(Bool_t flag = kTRUE){fQAsw = flag;}; | |
43 | ||
afa8df58 | 44 | void OpenInfoCalbration(Int_t run); |
45 | ||
46 | private: | |
587d006a | 47 | AliAnalysisTaskVnV0(const AliAnalysisTaskVnV0 &old); |
48 | AliAnalysisTaskVnV0& operator=(const AliAnalysisTaskVnV0 &source); | |
afa8df58 | 49 | |
50 | virtual Float_t GetVertex(AliAODEvent* aod) const; | |
51 | virtual void Analyze(AliAODEvent* aodEvent, Float_t v0Centr); | |
52 | ||
53 | AliAODEvent* fAOD; //! AOD object | |
54 | ||
55 | static const Int_t nCentrBin = 9; // # cenrality bins | |
56 | ||
57 | // | |
58 | // Cuts and options | |
59 | // | |
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 | |
63 | ||
64 | Int_t fRun; // current run checked to load VZERO calibrations | |
65 | ||
587d006a | 66 | TList *fList,*fList2,*fList3,*fList4; // List for output objects |
afa8df58 | 67 | // |
68 | // 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]; // ... | |
75 | ||
afa8df58 | 76 | TProfile *fHResTPCv0A2,*fHResTPCv0C2,*fHResv0Cv0A2; // TProfile for subevent resolution (output) |
77 | TProfile *fHResTPCv0A3,*fHResTPCv0C3,*fHResv0Cv0A3; // also for v3 | |
78 | ||
79 | TH2F *fPhiRPv0A,*fPhiRPv0C; // EP distribution vs. centrality (v2) | |
80 | TH2F *fPhiRPv0Av3,*fPhiRPv0Cv3; // EP distribution vs. centrality (v3) | |
81 | ||
82 | AliCFContainer *fPhiTracks; // phi distribution of particles (if needed) | |
83 | ||
84 | ||
85 | AliCFContainer *fQA,*fQA2; // QA container (v2) | |
86 | AliCFContainer *fQAv3,*fQA2v3; // QA container (v3) | |
87 | ||
88 | AliFlowBayesianPID *fPID; // PID class for the Bayesian probabilities | |
89 | ||
90 | TTree *fTree; // tree to debug EP (if needed) | |
91 | ||
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) | |
95 | ||
96 | Bool_t fV2,fV3; // swith to set the armonics | |
97 | ||
587d006a | 98 | AliFlowVZEROResults *fContAllChargesV0A,*fContAllChargesV0C,*fContAllChargesV0Av3,*fContAllChargesV0Cv3,*fContAllChargesMC,*fContAllChargesMCv3; |
99 | ||
100 | Bool_t fIsMC; // if MC | |
101 | Bool_t fQAsw; // if QA | |
102 | ||
103 | ClassDef(AliAnalysisTaskVnV0, 2); //Analysis task v2 and v3 analysis on AOD | |
afa8df58 | 104 | }; |
105 | ||
106 | #endif |