]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/FLOW/Tasks/AliAnalysisTaskVnV0.h
From Francesco: Added AliAnalysisTaskVnV0 and macros
[u/mrichter/AliRoot.git] / PWG / FLOW / Tasks / AliAnalysisTaskVnV0.h
CommitLineData
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"
16
17class TH2F;
18
19class AliAnalysisTaskVnV0 : public AliAnalysisTaskSE {
20 public:
21 AliAnalysisTaskVnV0();
22 AliAnalysisTaskVnV0(const char *name);
23
24 virtual ~AliAnalysisTaskVnV0();
25
26 virtual void UserCreateOutputObjects();
27 virtual void UserExec(Option_t *option);
28 virtual void Terminate(Option_t *);
29
30 Double_t GetVtxCut() { return fVtxCut; }
31 Double_t GetEtaCut() { return fEtaCut; }
32 Double_t GetMinPt() { return fMinPt; }
33
34 virtual void SetVtxCut(Double_t vtxCut){fVtxCut = vtxCut;}
35 virtual void SetEtaCut(Double_t etaCut){fEtaCut = etaCut;}
36 virtual void SetMinPt(Double_t value) {fMinPt = value;}
37 virtual void SetV2(Bool_t val){fV2 = val;};
38 virtual void SetV3(Bool_t val){fV3 = val;};
39
40 void OpenInfoCalbration(Int_t run);
41
42 private:
43 AliAnalysisTaskVnV0(const AliAnalysisTaskVnV0 &);
44 AliAnalysisTaskVnV0 & operator=(const AliAnalysisTaskVnV0 &);
45
46 virtual Float_t GetVertex(AliAODEvent* aod) const;
47 virtual void Analyze(AliAODEvent* aodEvent, Float_t v0Centr);
48
49 AliAODEvent* fAOD; //! AOD object
50
51 static const Int_t nCentrBin = 9; // # cenrality bins
52
53 //
54 // Cuts and options
55 //
56 Double_t fVtxCut; // Vtx cut on z position in cm
57 Double_t fEtaCut; // Eta cut used to select particles
58 Double_t fMinPt; // Min pt - for histogram limits
59
60 Int_t fRun; // current run checked to load VZERO calibrations
61
62 TList *fList,*fList2; // List for output objects
63 //
64 // Output objects
65 TProfile *fMultV0; // object containing VZERO calibration information
66 Float_t fV0Cpol,fV0Apol; // loaded by OADB
67 Float_t fMeanQ[nCentrBin][2][2]; // and recentering
68 Float_t fWidthQ[nCentrBin][2][2]; // ...
69 Float_t fMeanQv3[nCentrBin][2][2]; // also for v3
70 Float_t fWidthQv3[nCentrBin][2][2]; // ...
71
72 AliCFContainer *fContAllChargesV0A; // containers for v2 (A nd C) and v3 (A and C)
73 AliCFContainer *fContAllChargesV0C; // ...
74 AliCFContainer *fContAllChargesV0Av3; // ...
75 AliCFContainer *fContAllChargesV0Cv3; // ...
76
77 TProfile *fHResTPCv0A2,*fHResTPCv0C2,*fHResv0Cv0A2; // TProfile for subevent resolution (output)
78 TProfile *fHResTPCv0A3,*fHResTPCv0C3,*fHResv0Cv0A3; // also for v3
79
80 TH2F *fPhiRPv0A,*fPhiRPv0C; // EP distribution vs. centrality (v2)
81 TH2F *fPhiRPv0Av3,*fPhiRPv0Cv3; // EP distribution vs. centrality (v3)
82
83 AliCFContainer *fPhiTracks; // phi distribution of particles (if needed)
84
85
86 AliCFContainer *fQA,*fQA2; // QA container (v2)
87 AliCFContainer *fQAv3,*fQA2v3; // QA container (v3)
88
89 AliFlowBayesianPID *fPID; // PID class for the Bayesian probabilities
90
91 TTree *fTree; // tree to debug EP (if needed)
92
93 Float_t fCentrality; // current centrality for the tree
94 Float_t evPlAngV0ACor2,evPlAngV0CCor2,evPlAng2; // subevent EPs (v2)
95 Float_t evPlAngV0ACor3,evPlAngV0CCor3,evPlAng3; // subevent EPs (v3)
96
97 Bool_t fV2,fV3; // swith to set the armonics
98
99 ClassDef(AliAnalysisTaskVnV0, 1); //Analysis task v2 and v3 analysis on AOD
100};
101
102#endif