#ifndef ALIANALYSISTASKVNV0_H
#define ALIANALYSISTASKVNV0_H
#include <TObject.h>
#include <TClonesArray.h>
#include "TTree.h"
#include <TList.h>
#include <TProfile.h>
#include <AliAnalysisTaskSE.h>
#include <AliAODEvent.h>
#include "AliFlowBayesianPID.h"
#include "AliFlowVZEROResults.h"
#include "AliFlowVZEROQA.h"
class TH2F;
class AliESDtrackCuts;
class TProfile2D;
class AliAnalysisTaskVnV0 : public AliAnalysisTaskSE {
public:
AliAnalysisTaskVnV0();
AliAnalysisTaskVnV0(const char *name);
virtual ~AliAnalysisTaskVnV0();
virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t *option);
virtual void Terminate(Option_t *);
Double_t GetVtxCut() { return fVtxCut; }
Double_t GetEtaCut() { return fEtaCut; }
Double_t GetMinPt() { return fMinPt; }
virtual void SetVtxCut(Double_t vtxCut){fVtxCut = vtxCut;}
virtual void SetEtaCut(Double_t etaCut){fEtaCut = etaCut;}
virtual void SetMinPt(Double_t value) {fMinPt = value;}
virtual void SetMinDistV0(Double_t value){fMinDistV0=value;}
virtual void SetMaxDistV0(Double_t value){fMaxDistV0=value;}
virtual void SetV2(Bool_t val){fV2 = val;};
virtual void SetV3(Bool_t val){fV3 = val;};
virtual void SetMC(Bool_t flag = kTRUE){fIsMC = flag;};
virtual void SetQA(Bool_t flag = kTRUE){fQAsw = flag;};
void OpenInfoCalbration(Int_t run);
void SetFillDCAinfo(Bool_t flag=kTRUE){fFillDCA = flag;};
void SetModulationDEDx(Bool_t flag=kTRUE){fModulationDEDx=flag;};
void SetAfter2011(Bool_t stat=kTRUE){fIsAfter2011=stat;};
Bool_t GetAfter2011() const {return fIsAfter2011;};
void SetTPCclusterN(Int_t ncl){fNcluster=ncl;};
static Bool_t IsPsiComputed(){return fgIsPsiComputed;};
static Float_t GetPsi2V0A(){return fgPsi2v0a;};
static Float_t GetPsi2V0C(){return fgPsi2v0c;};
static Float_t GetPsi2TPC(){return fgPsi2tpc;};
static Float_t GetPsi3V0A(){return fgPsi3v0a;};
static Float_t GetPsi3V0C(){return fgPsi3v0c;};
static Float_t GetPsi3TPC(){return fgPsi3tpc;};
static Float_t GetPsi2V0AMC(){return fgPsi2v0aMC;};
static Float_t GetPsi2V0CMC(){return fgPsi2v0cMC;};
static Float_t GetPsi2TPCMC(){return fgPsi2tpcMC;};
static Float_t GetPsi3V0AMC(){return fgPsi3v0aMC;};
static Float_t GetPsi3V0CMC(){return fgPsi3v0cMC;};
static Float_t GetPsi3TPCMC(){return fgPsi3tpcMC;};
private:
AliAnalysisTaskVnV0(const AliAnalysisTaskVnV0 &old);
AliAnalysisTaskVnV0& operator=(const AliAnalysisTaskVnV0 &source);
Int_t PassesAODCuts(AliAODv0 *myV0, AliAODEvent *tAOD,Int_t specie);
static Bool_t fgIsPsiComputed;
static Float_t fgPsi2v0a,fgPsi2v0c,fgPsi2tpc;
static Float_t fgPsi3v0a,fgPsi3v0c,fgPsi3tpc;
static Float_t fgPsi2v0aMC,fgPsi2v0cMC,fgPsi2tpcMC;
static Float_t fgPsi3v0aMC,fgPsi3v0cMC,fgPsi3tpcMC;
virtual Float_t GetVertex(AliAODEvent* aod) const;
virtual void Analyze(AliAODEvent* aodEvent, Float_t v0Centr);
virtual void SelectK0s();
Double_t fVtxCut;
Double_t fEtaCut;
Double_t fMinPt;
Double_t fMinDistV0;
Double_t fMaxDistV0;
Bool_t fV2;
Bool_t fV3;
Bool_t fIsMC;
Bool_t fQAsw;
Bool_t fIsAfter2011;
static const Int_t nCentrBin = 9;
Int_t fRun;
Int_t fNcluster;
TList *fList;
TList *fList2;
TList *fList3;
TList *fList4;
TProfile *fMultV0;
Float_t fV0Cpol;
Float_t fV0Apol;
Float_t fMeanQ[nCentrBin][2][2];
Float_t fWidthQ[nCentrBin][2][2];
Float_t fMeanQv3[nCentrBin][2][2];
Float_t fWidthQv3[nCentrBin][2][2];
TProfile *fHResTPCv0A2;
TProfile *fHResTPCv0C2;
TProfile *fHResv0Cv0A2;
TProfile *fHResTPCv0A3;
TProfile *fHResTPCv0C3;
TProfile *fHResv0Cv0A3;
TH2F *fPhiRPv0A;
TH2F *fPhiRPv0C;
TH2F *fPhiRPv0Av3;
TH2F *fPhiRPv0Cv3;
AliFlowVZEROQA *fQA;
AliFlowVZEROQA *fQA2;
AliFlowVZEROQA *fQAv3;
AliFlowVZEROQA *fQA2v3;
AliFlowBayesianPID *fPID;
TTree *fTree;
Float_t fCentrality;
Float_t evPlAngV0ACor2;
Float_t evPlAngV0CCor2;
Float_t evPlAng2;
Float_t evPlAngV0ACor3;
Float_t evPlAngV0CCor3;
Float_t evPlAng3;
AliFlowVZEROResults *fContAllChargesV0A;
AliFlowVZEROResults *fContAllChargesV0C;
AliFlowVZEROResults *fContAllChargesV0Av3;
AliFlowVZEROResults *fContAllChargesV0Cv3;
AliFlowVZEROResults *fContAllChargesMC;
TProfile *fHResMA2;
TProfile *fHResMC2;
TProfile *fHResAC2;
TProfile *fHResMA3;
TProfile *fHResMC3;
TProfile *fHResAC3;
AliFlowVZEROResults *fContAllChargesMCA;
AliFlowVZEROResults *fContAllChargesMCC;
AliFlowVZEROResults *fContAllChargesMCAv3;
AliFlowVZEROResults *fContAllChargesMCCv3;
Bool_t fFillDCA;
TH2D *fHdcaPt[nCentrBin][7];
TH2D *fHdcaPtSec[nCentrBin][7];
AliFlowVZEROResults *fContQApid;
Bool_t fModulationDEDx;
Float_t fZvtx;
Int_t fNK0s;
Float_t fPhiK0s[1000];
Float_t fPtK0s[1000];
Int_t fNpiPos;
Int_t fNpiNeg;
Int_t fIPiPos[1000];
Int_t fIPiNeg[1000];
TH2D *fHKsPhi;
TH2D *fHKsPhiEP;
TH2D *fHK0sMass;
TH2D *fHK0sMass2;
TH2D *fHK0vsLambda;
TProfile2D *fHctauPtEP;
TH2F *fHctauAt1EP;
AliESDtrackCuts *fCutsDaughter;
ClassDef(AliAnalysisTaskVnV0, 8);
};
#endif
AliAnalysisTaskVnV0.h:100 AliAnalysisTaskVnV0.h:101 AliAnalysisTaskVnV0.h:102 AliAnalysisTaskVnV0.h:103 AliAnalysisTaskVnV0.h:104 AliAnalysisTaskVnV0.h:105 AliAnalysisTaskVnV0.h:106 AliAnalysisTaskVnV0.h:107 AliAnalysisTaskVnV0.h:108 AliAnalysisTaskVnV0.h:109 AliAnalysisTaskVnV0.h:110 AliAnalysisTaskVnV0.h:111 AliAnalysisTaskVnV0.h:112 AliAnalysisTaskVnV0.h:113 AliAnalysisTaskVnV0.h:114 AliAnalysisTaskVnV0.h:115 AliAnalysisTaskVnV0.h:116 AliAnalysisTaskVnV0.h:117 AliAnalysisTaskVnV0.h:118 AliAnalysisTaskVnV0.h:119 AliAnalysisTaskVnV0.h:120 AliAnalysisTaskVnV0.h:121 AliAnalysisTaskVnV0.h:122 AliAnalysisTaskVnV0.h:123 AliAnalysisTaskVnV0.h:124 AliAnalysisTaskVnV0.h:125 AliAnalysisTaskVnV0.h:126 AliAnalysisTaskVnV0.h:127 AliAnalysisTaskVnV0.h:128 AliAnalysisTaskVnV0.h:129 AliAnalysisTaskVnV0.h:130 AliAnalysisTaskVnV0.h:131 AliAnalysisTaskVnV0.h:132 AliAnalysisTaskVnV0.h:133 AliAnalysisTaskVnV0.h:134 AliAnalysisTaskVnV0.h:135 AliAnalysisTaskVnV0.h:136 AliAnalysisTaskVnV0.h:137 AliAnalysisTaskVnV0.h:138 AliAnalysisTaskVnV0.h:139 AliAnalysisTaskVnV0.h:140 AliAnalysisTaskVnV0.h:141 AliAnalysisTaskVnV0.h:142 AliAnalysisTaskVnV0.h:143 AliAnalysisTaskVnV0.h:144 AliAnalysisTaskVnV0.h:145 AliAnalysisTaskVnV0.h:146 AliAnalysisTaskVnV0.h:147 AliAnalysisTaskVnV0.h:148 AliAnalysisTaskVnV0.h:149 AliAnalysisTaskVnV0.h:150 AliAnalysisTaskVnV0.h:151 AliAnalysisTaskVnV0.h:152 AliAnalysisTaskVnV0.h:153 AliAnalysisTaskVnV0.h:154 AliAnalysisTaskVnV0.h:155 AliAnalysisTaskVnV0.h:156 AliAnalysisTaskVnV0.h:157 AliAnalysisTaskVnV0.h:158 AliAnalysisTaskVnV0.h:159 AliAnalysisTaskVnV0.h:160 AliAnalysisTaskVnV0.h:161 AliAnalysisTaskVnV0.h:162 AliAnalysisTaskVnV0.h:163 AliAnalysisTaskVnV0.h:164 AliAnalysisTaskVnV0.h:165 AliAnalysisTaskVnV0.h:166 AliAnalysisTaskVnV0.h:167 AliAnalysisTaskVnV0.h:168 AliAnalysisTaskVnV0.h:169 AliAnalysisTaskVnV0.h:170 AliAnalysisTaskVnV0.h:171 AliAnalysisTaskVnV0.h:172 AliAnalysisTaskVnV0.h:173 AliAnalysisTaskVnV0.h:174 AliAnalysisTaskVnV0.h:175 AliAnalysisTaskVnV0.h:176 AliAnalysisTaskVnV0.h:177 AliAnalysisTaskVnV0.h:178 AliAnalysisTaskVnV0.h:179 AliAnalysisTaskVnV0.h:180 AliAnalysisTaskVnV0.h:181 AliAnalysisTaskVnV0.h:182 AliAnalysisTaskVnV0.h:183 AliAnalysisTaskVnV0.h:184 AliAnalysisTaskVnV0.h:185 AliAnalysisTaskVnV0.h:186 AliAnalysisTaskVnV0.h:187 AliAnalysisTaskVnV0.h:188 AliAnalysisTaskVnV0.h:189 AliAnalysisTaskVnV0.h:190 AliAnalysisTaskVnV0.h:191 AliAnalysisTaskVnV0.h:192 AliAnalysisTaskVnV0.h:193 AliAnalysisTaskVnV0.h:194 AliAnalysisTaskVnV0.h:195 AliAnalysisTaskVnV0.h:196 AliAnalysisTaskVnV0.h:197 AliAnalysisTaskVnV0.h:198 AliAnalysisTaskVnV0.h:199