ROOT logo
#include <exception>
#include "TRandom3.h"
#include "TChain.h"
#include "AliLog.h"
#include "AliAnalysisTask.h"
#include "AliAnalysisManager.h"
#include "AliAnalysisTaskPi0v2.h"

#include "AliESDEvent.h"
#include "AliAODEvent.h"
#include "AliCentrality.h"
#include <iostream>

#include "TFile.h"
#include "AliOADBContainer.h"

#include "AliEPSelectionTask.h"

// Author Daniel Lohner (Daniel.Lohner@cern.ch)

using namespace std;

ClassImp(AliAnalysisTaskPi0v2)

const Double_t AliAnalysisTaskPi0v2::kGCfirstYBinSpectra = 0.;
const Double_t AliAnalysisTaskPi0v2::kGClastYBinSpectra = 8.;

//________________________________________________________________________
AliAnalysisTaskPi0v2::AliAnalysisTaskPi0v2(const char *name,Int_t harmonic) : AliAnalysisTaskSE(name),
	fV0Reader(NULL),
	fNCuts(0),
	fConversionSelection(NULL),
	fConversionGammas(NULL),
	fNCentralityBins(knCentMax-1),
	fCentrality(-1),
	fCentralityBin(0),
	fNBinsPhi(6),
	fEP(NULL),
	fUseTPCOnlyTracks(kTRUE),
	fEtaMax(0.75),
	fEtaGap(1),
	fRPTPCEtaA(0),
	fRPTPCEtaC(0),
	fRPV0A(0),
	fRPV0C(0),
	fRPTPC(0),
	fRPTPCEtaABF(0),
	fRPTPCEtaCBF(0),
	fRPV0ABF(0),
	fRPV0CBF(0),
	fRPTPCBF(0),
	fEventCuts(NULL),
	fConversionCuts(NULL),
	fRandomizer(NULL),
	fOutputList(NULL),
	fMesonPDGCode(kPi0),
	fDeltaPsiRP(0),
	fRunNumber(0),
	fRunIndex(0),
	fNEPMethods(knEPMethod),
	fFillQA(kTRUE),
	fHarmonic(harmonic),
	fPsiMax(2*TMath::Pi()/Double_t(harmonic)),
	fPeriod("LHC10h"),
	fIsAOD(kFALSE),
	fSparseDist(NULL),
	fHruns(NULL),
	fDoEPFlattening(kTRUE),
	fPeriodIndex(-1),
	hNEvents(NULL),
	hEventSelection(NULL),
	hRPTPC(NULL),
	hRPV0A(NULL),
	hRPV0C(NULL),
	hRPTPCAC(NULL),
	hRPV0ATPC(NULL),
	hRPV0CTPC(NULL),
	hRPV0AC(NULL),
	hCos2TPC(NULL),
	hCos2V0ATPC(NULL),
	hCos2V0CTPC(NULL),
	hCos2V0AC(NULL),
	hRPTPCEtaA(NULL),
	hRPTPCEtaC(NULL),
	hRPTPCEtaAC(NULL),
	hCos2TPCEta(NULL),
	hCos2V0ATPCEtaA(NULL),
	hCos2V0ATPCEtaC(NULL),
	hCos2V0CTPCEtaA(NULL),
	hCos2V0CTPCEtaC(NULL),
	hCos2SumWeights(NULL),
	hEtaTPCEP(NULL),
	hGammaMultCent(NULL),
	hGammaPhi(NULL),
	hMultChargedvsNGamma(NULL),
	hMultChargedvsVZERO(NULL),
	hMultChargedvsSPD(NULL),
	hGammadNdPhi(NULL),
	hGammaMultdPhiTRUE(NULL),
	hGammaMultdPhiRECOTRUE(NULL),
	hGammaMultTRUE(NULL),
	hGammaMultRECOTRUE(NULL),
	hGammaMultdPhi(NULL),
	hGammaMult(NULL),
	hGamma(NULL),
	hGammaFull(NULL),
	hCharged(NULL),
	hPi0(NULL),
	hPi0BG(NULL),

	fMultV0(0x0),
	fV0Cpol(0.),
	fV0Apol(0.),
	//hEPVertex(NULL)
	hEPQA(NULL)
{
	fInvMassRange[0]=0.05;
	fInvMassRange[1]=0.3;

	for(Int_t ii=0;ii<knEPMethod;ii++)fEPSelectionMask[ii]=1;

	fRandomizer=new TRandom3();
	fRandomizer->SetSeed(0);

	for(Int_t i = 0; i < 4; ++i) {
		fPhiDist[i] = 0;
	}

	for(Int_t ii=0;ii<knFlatPeriod;ii++){
		for(Int_t jj=0;jj<knEP;jj++){
			for(Int_t kk=0;kk<knCentMax;kk++){
			fFlatc2[ii][jj][kk]=0;
			fFlats2[ii][jj][kk]=0;
			fFlatc4[ii][jj][kk]=0;
			fFlats4[ii][jj][kk]=0;
			}
		}
	}

	fCentralityBins[0]=0;
	fCentralityBins[1]=5;
	fCentralityBins[2]=10;
	fCentralityBins[3]=20;
	fCentralityBins[4]=30;
	fCentralityBins[5]=40;
	fCentralityBins[6]=50;
	fCentralityBins[7]=60;
	fCentralityBins[8]=70;
	fCentralityBins[9]=80;

	// Define input and output slots here
	DefineInput(0, TChain::Class());
	DefineOutput(1, TList::Class());
}

//________________________________________________________________________
AliAnalysisTaskPi0v2::~AliAnalysisTaskPi0v2(){

	if(fRandomizer){
		delete fRandomizer;
		fRandomizer=NULL;
	}

	if(fConversionSelection){
	for(Int_t ii=0;ii<fNCuts;ii++)delete fConversionSelection[ii];
		delete[] fConversionSelection;
		fConversionSelection=NULL;
	}

	if(fEP){
		delete fEP;
		fEP=NULL;
	}

	if (fPeriod.CompareTo("LHC11h")==0){
		for(Int_t i = 0; i < 4; i++) {
			if(fPhiDist[i]){
				delete fPhiDist[i];
				fPhiDist[i] = NULL;
			}
		}
		if(fHruns){
			delete fHruns;
			fHruns=NULL;
		}
	}
}

//________________________________________________________________________
void AliAnalysisTaskPi0v2::UserCreateOutputObjects()
{
	OpenFile(1);

	// GetConversionCuts
	fConversionCuts=fV0Reader->GetConversionCuts();
	fEventCuts=fV0Reader->GetEventCuts();

	// Flags

	Bool_t IsMC=AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler();
	Bool_t IsHeavyIon=fEventCuts->IsHeavyIon();

	if(!IsHeavyIon||IsMC)fNEPMethods=1;

	// Create histograms

	if(fOutputList != NULL){
		delete fOutputList;
		fOutputList = NULL;
	}
	if(fOutputList == NULL){
		fOutputList = new TList();
		fOutputList->SetOwner(kTRUE);
	}

	Int_t kGCnXBinsSpectra = Int_t((fInvMassRange[1]-fInvMassRange[0])*500);  //500 for range 0 - 1
	Double_t kGCfirstXBinSpectra = fInvMassRange[0];
	Double_t kGClastXBinSpectra = fInvMassRange[1];

	Int_t nbinspi0[knbinsPi0]={kGCnYBinsSpectra,kGCnXBinsSpectra,fNBinsPhi,fNCentralityBins,fNEPMethods};
	Double_t minpi0[knbinsPi0]={kGCfirstYBinSpectra,kGCfirstXBinSpectra,0,-0.5,-0.5};
	Double_t maxpi0[knbinsPi0]={kGClastYBinSpectra,kGClastXBinSpectra,fPsiMax/2.,fNCentralityBins-0.5,fNEPMethods-0.5};
	const char *binpi0[knbinsPi0]={"pt","mass","dPhi","centr","EPm"};

	Int_t nbinsg[knbinsGamma]={kGCnYBinsSpectra,fNBinsPhi,fNCentralityBins,fNEPMethods};
	Double_t ming[knbinsGamma]={kGCfirstYBinSpectra,0,-0.5,-0.5};
	Double_t maxg[knbinsGamma]={kGClastYBinSpectra,fPsiMax/2.,fNCentralityBins-0.5,fNEPMethods-0.5};
	const char *bingamma[knbinsGamma]={"pt","dPhi","centr","EPm"};

	// Define Binning

	if(!IsMC){

		hPi0=new THnSparseF*[fNCuts+1];
		hPi0BG=new THnSparseF*[fNCuts+1];
		hGamma=new THnSparseF*[fNCuts+1];

		// Photon Cuts
		for(Int_t iCut=0;iCut<fNCuts;iCut++){

			TList *fCutOutputList=new TList();
			fCutOutputList->SetName(fConversionSelection[iCut]->GetCutString().Data());
			fCutOutputList->SetOwner(kTRUE);
			fOutputList->Add(fCutOutputList);

			hPi0[iCut]=new THnSparseF("Pi0_Sparse","Pi0_Sparse",knbinsPi0,nbinspi0,minpi0,maxpi0);
			for(Int_t i=0;i<knbinsPi0;i++) hPi0[iCut]->GetAxis(i)->SetName(binpi0[i]);
			hPi0[iCut]->Sumw2();
			fCutOutputList->Add(hPi0[iCut]);

			hPi0BG[iCut]=new THnSparseF("Pi0BG_Sparse","Pi0BG_Sparse",knbinsPi0,nbinspi0,minpi0,maxpi0);
			for(Int_t i=0;i<knbinsPi0;i++) hPi0BG[iCut]->GetAxis(i)->SetName(binpi0[i]);
			hPi0BG[iCut]->Sumw2();
			fCutOutputList->Add(hPi0BG[iCut]);

			// Gamma
			hGamma[iCut]=new THnSparseF("Gamma_Sparse","Gamma_Sparse",knbinsGamma,nbinsg,ming,maxg);
			for(Int_t i=0;i<knbinsGamma;i++) hGamma[iCut]->GetAxis(i)->SetName(bingamma[i]);
			hGamma[iCut]->Sumw2();
			fCutOutputList->Add(hGamma[iCut]);
		}

		// no EP Flattening
		Int_t iCut=0;

		TList *fCutOutputList=new TList();
		fCutOutputList->SetName(Form("%s_BF",fConversionSelection[iCut]->GetCutString().Data()));
		fCutOutputList->SetOwner(kTRUE);
		fOutputList->Add(fCutOutputList);

		iCut=fNCuts;

		hPi0[iCut]=new THnSparseF("Pi0_Sparse","Pi0_Sparse",knbinsPi0,nbinspi0,minpi0,maxpi0);
		for(Int_t i=0;i<knbinsPi0;i++) hPi0[iCut]->GetAxis(i)->SetName(binpi0[i]);
		hPi0[iCut]->Sumw2();
		fCutOutputList->Add(hPi0[iCut]);

		hPi0BG[iCut]=new THnSparseF("Pi0BG_Sparse","Pi0BG_Sparse",knbinsPi0,nbinspi0,minpi0,maxpi0);
		for(Int_t i=0;i<knbinsPi0;i++) hPi0BG[iCut]->GetAxis(i)->SetName(binpi0[i]);
		hPi0BG[iCut]->Sumw2();
		fCutOutputList->Add(hPi0BG[iCut]);

		// Gamma
		hGamma[iCut]=new THnSparseF("Gamma_Sparse","Gamma_Sparse",knbinsGamma,nbinsg,ming,maxg);
		for(Int_t i=0;i<knbinsGamma;i++) hGamma[iCut]->GetAxis(i)->SetName(bingamma[i]);
		hGamma[iCut]->Sumw2();
		fCutOutputList->Add(hGamma[iCut]);

	}

	if(IsHeavyIon&&!IsMC){

		// RP Calculation
		TList *fRPList=new TList();
		fRPList->SetName("Event Plane");
		fRPList->SetOwner(kTRUE);
		fOutputList->Add(fRPList);

		hRPTPC=new TH2F("TPCAC" ,"TPC_AC" , fNCentralityBins,&fCentralityBins[0], 180, 0, fPsiMax);
		hRPTPC->Sumw2();
		fRPList->Add(hRPTPC);
		hRPTPCEtaA=new TH2F("TPCEtaA" ,"TPC_EtaA" , fNCentralityBins,&fCentralityBins[0], 180, 0, fPsiMax);
		hRPTPCEtaA->Sumw2();
		fRPList->Add(hRPTPCEtaA);
		hRPTPCEtaC=new TH2F("TPCEtaC" ,"TPC_EtaC" , fNCentralityBins,&fCentralityBins[0], 180, 0, fPsiMax);
		hRPTPCEtaC->Sumw2();
		fRPList->Add(hRPTPCEtaC);
		hRPV0A=new TH2F("V0A" ,"VZERO_A" , fNCentralityBins,&fCentralityBins[0], 180, 0, fPsiMax);
		hRPV0A->Sumw2();
		fRPList->Add(hRPV0A);
		hRPV0C=new TH2F("V0C" ,"VZERO_C" , fNCentralityBins,&fCentralityBins[0], 180, 0, fPsiMax);
		hRPV0C->Sumw2();
		fRPList->Add(hRPV0C);

		hRPTPCAC=new TH2F("TPCA_TPCC" ,"TPCA_TPCC" , 180, 0, fPsiMax, 180, 0, fPsiMax);
		hRPTPCAC->Sumw2();
		fRPList->Add(hRPTPCAC);
		hRPV0ATPC=new TH2F("V0A_TPC" ,"V0A_TPC" , 180, 0, fPsiMax, 180, 0, fPsiMax);
		hRPV0ATPC->Sumw2();
		fRPList->Add(hRPV0ATPC);
		hRPV0CTPC=new TH2F("V0C_TPC" ,"V0C_TPC" , 180, 0, fPsiMax, 180, 0, fPsiMax);
		hRPV0CTPC->Sumw2();
		fRPList->Add(hRPV0CTPC);
		hRPV0AC=new TH2F("V0A_V0C" ,"V0A_V0C" , 180, 0, fPsiMax, 180, 0, fPsiMax);
		hRPV0AC->Sumw2();
		fRPList->Add(hRPV0AC);
		hRPTPCEtaAC=new TH2F("TPCEtaA_TPCEtaC" ,"TPCEtaA_TPCEtaC" , 180, 0, fPsiMax, 180, 0, fPsiMax);
		hRPTPCEtaAC->Sumw2();
		fRPList->Add(hRPTPCEtaAC);

		Int_t nsystep=4;// 3 different weights + unflattened EP

		hCos2TPC=new TH2F("Cos2_TPCAC" ,"Cos2_TPCAC" ,fNCentralityBins,&fCentralityBins[0],nsystep+1,-0.5,nsystep+0.5);
		hCos2TPC->Sumw2();
		fRPList->Add(hCos2TPC);
		hCos2TPCEta=new TH2F("Cos2_TPCEtaAC" ,"Cos2_TPCEtaAC" ,fNCentralityBins,&fCentralityBins[0],nsystep+1,-0.5,nsystep+0.5);
		hCos2TPCEta->Sumw2();
		fRPList->Add(hCos2TPCEta);
		hCos2V0ATPC=new TH2F("Cos2_V0ATPC" ,"Cos2_V0ATPC" ,fNCentralityBins,&fCentralityBins[0],nsystep+1,-0.5,nsystep+0.5);
		hCos2V0ATPC->Sumw2();
		fRPList->Add(hCos2V0ATPC);
		hCos2V0CTPC=new TH2F("Cos2_V0CTPC" ,"Cos2_V0CTPC" ,fNCentralityBins,&fCentralityBins[0],nsystep+1,-0.5,nsystep+0.5);
		hCos2V0CTPC->Sumw2();
		fRPList->Add(hCos2V0CTPC);
		hCos2V0AC=new TH2F("Cos2_V0AC" ,"Cos2_V0AC" ,fNCentralityBins,&fCentralityBins[0],nsystep+1,-0.5,nsystep+0.5);
		hCos2V0AC->Sumw2();
		fRPList->Add(hCos2V0AC);
		hCos2V0ATPCEtaA=new TH2F("Cos2_V0ATPCEtaA" ,"Cos2_V0ATPCEtaA" ,fNCentralityBins,&fCentralityBins[0],nsystep+1,-0.5,nsystep+0.5);
		hCos2V0ATPCEtaA->Sumw2();
		fRPList->Add(hCos2V0ATPCEtaA);
		hCos2V0ATPCEtaC=new TH2F("Cos2_V0ATPCEtaC" ,"Cos2_V0ATPCEtaC" ,fNCentralityBins,&fCentralityBins[0],nsystep+1,-0.5,nsystep+0.5);
		hCos2V0ATPCEtaC->Sumw2();
		fRPList->Add(hCos2V0ATPCEtaC);
		hCos2V0CTPCEtaA=new TH2F("Cos2_V0CTPCEtaA" ,"Cos2_V0CTPCEtaA" ,fNCentralityBins,&fCentralityBins[0],nsystep+1,-0.5,nsystep+0.5);
		hCos2V0CTPCEtaA->Sumw2();
		fRPList->Add(hCos2V0CTPCEtaA);
		hCos2V0CTPCEtaC=new TH2F("Cos2_V0CTPCEtaC" ,"Cos2_V0CTPCEtaC" ,fNCentralityBins,&fCentralityBins[0],nsystep+1,-0.5,nsystep+0.5);
		hCos2V0CTPCEtaC->Sumw2();
		fRPList->Add(hCos2V0CTPCEtaC);
		hCos2SumWeights=new TH2F("Cos2_SumWeights" ,"Cos2_SumWeights" ,fNCentralityBins,&fCentralityBins[0],nsystep+1,-0.5,nsystep+0.5);
		hCos2SumWeights->Sumw2();
		fRPList->Add(hCos2SumWeights);

		hEtaTPCEP=new TH2F("Eta_TPCEP" ,"Eta_TPCEP" ,fNCentralityBins,&fCentralityBins[0],100,-1,1);
		hEtaTPCEP->Sumw2();
		fRPList->Add(hEtaTPCEP);

		/*const Int_t nepbins=4;
		Int_t nbinsep[nepbins]={30,30,40,180};
		Double_t minep[nepbins]={-0.015,0.17,-10,0};
		Double_t maxep[nepbins]={0.015,0.20,10,fPsiMax};

		hEPVertex=new THnSparseF("EP_Vertex","EP_Vertex",nepbins,nbinsep,minep,maxep);
		fRPList->Add(hEPVertex);
		*/

		const Int_t nRuns=275;
		const Int_t nepbins=4;
		Int_t nbinsep[nepbins]={fNCentralityBins,180,nRuns,5};
		Double_t minep[nepbins]={-0.5,0,0.5,-0.5};
		Double_t maxep[nepbins]={fNCentralityBins-0.5,fPsiMax,Double_t(nRuns)+0.5,4.5};
		hEPQA=new THnSparseF("EP_QA","EP_QA",nepbins,nbinsep,minep,maxep);
		fRPList->Add(hEPQA);
	}

	TList *fPhotonQAList=new TList();
	fPhotonQAList->SetName("Gamma_QA");
	fPhotonQAList->SetOwner(kTRUE);
	fOutputList->Add(fPhotonQAList);

	if(fFillQA){
		// Gamma QA
		hGammaPhi=new TH2F*[fNCentralityBins];
		for(Int_t m=0;m<fNCentralityBins;m++){
			hGammaPhi[m]=new TH2F(Form("%d_GammaPhi",m),"GammaPhi",kGCnYBinsSpectra,kGCfirstYBinSpectra,kGClastYBinSpectra,360,0,2*TMath::Pi());
			hGammaPhi[m]->Sumw2();
			fPhotonQAList->Add(hGammaPhi[m]);
		}

		hGammaMultCent=new TH2F("GammaMultvsCent","GammaMultvsCent",fNCentralityBins,&fCentralityBins[0], 60,-0.5,59.5);
		hGammaMultCent->Sumw2();
		fPhotonQAList->Add(hGammaMultCent);

		hMultChargedvsSPD=new TH2F("Mult_ChargedvsSPD","Mult_ChargedvsSPD",250,0,2500, 250,0,5000);
		hMultChargedvsSPD->Sumw2();
		fPhotonQAList->Add(hMultChargedvsSPD);
		hMultChargedvsVZERO=new TH2F("Mult_ChargedvsVZERO","Mult_ChargedvsVZERO",250,0,2500, 200,0,20000);
		hMultChargedvsVZERO->Sumw2();
		fPhotonQAList->Add(hMultChargedvsVZERO);
		hMultChargedvsNGamma=new TH2F("Mult_ChargedvsNGamma","Mult_ChargedvsNGamma",250,0,2500,60,-0.5,59.5);
		hMultChargedvsNGamma->Sumw2();
		fPhotonQAList->Add(hMultChargedvsNGamma);

		Int_t nbinsgmult[knbinsGammaMult]={kGCnYBinsSpectra,400,fNCentralityBins};
		Double_t mingmult[knbinsGammaMult]={kGCfirstYBinSpectra,0,-0.5};
		Double_t maxgmult[knbinsGammaMult]={kGClastYBinSpectra,8000,fNCentralityBins-0.5};
		Double_t maxgmultdPhi[knbinsGammaMult]={kGClastYBinSpectra,2000,fNCentralityBins-0.5};
		const char *bingammamult[knbinsGammaMult]={"pt","gmult","centr"};

		if(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()){
			hGammaMultdPhiTRUE=new THnSparseF("Gamma_MultdPhi_TRUE","Gamma_MultdPhi_TRUE",knbinsGammaMult,nbinsgmult,mingmult,maxgmultdPhi);
			for(Int_t i=0;i<knbinsGammaMult;i++) hGammaMultdPhiTRUE->GetAxis(i)->SetName(bingammamult[i]);
			hGammaMultdPhiTRUE->Sumw2();
			fPhotonQAList->Add(hGammaMultdPhiTRUE);

			hGammaMultTRUE=new THnSparseF("Gamma_Mult_TRUE","Gamma_Mult_TRUE",knbinsGammaMult,nbinsgmult,mingmult,maxgmult);
			for(Int_t i=0;i<knbinsGammaMult;i++) hGammaMultTRUE->GetAxis(i)->SetName(bingammamult[i]);
			hGammaMultTRUE->Sumw2();
			fPhotonQAList->Add(hGammaMultTRUE);

			hGammaMultdPhiRECOTRUE=new THnSparseF("Gamma_MultdPhi_RECOTRUE","Gamma_MultdPhi_RECOTRUE",knbinsGammaMult,nbinsgmult,mingmult,maxgmultdPhi);
			for(Int_t i=0;i<knbinsGammaMult;i++) hGammaMultdPhiRECOTRUE->GetAxis(i)->SetName(bingammamult[i]);
			hGammaMultdPhiRECOTRUE->Sumw2();
			fPhotonQAList->Add(hGammaMultdPhiRECOTRUE);

			hGammaMultRECOTRUE=new THnSparseF("Gamma_Mult_RECOTRUE","Gamma_Mult_RECOTRUE",knbinsGammaMult,nbinsgmult,mingmult,maxgmult);
			for(Int_t i=0;i<knbinsGammaMult;i++) hGammaMultRECOTRUE->GetAxis(i)->SetName(bingammamult[i]);
			hGammaMultRECOTRUE->Sumw2();
			fPhotonQAList->Add(hGammaMultRECOTRUE);
		}

		hGammaMultdPhi=new THnSparseF*[fNEPMethods];
		hGammaMult=new THnSparseF*[fNEPMethods];

		hGammadNdPhi=new THnSparseF("Gamma_dNdPhi","Gamma_dNdPhi",knbinsGamma,nbinsg,ming,maxg);
		for(Int_t i=0;i<knbinsGamma;i++) hGammadNdPhi->GetAxis(i)->SetName(bingamma[i]);
		hGammadNdPhi->Sumw2();
		fPhotonQAList->Add(hGammadNdPhi);

		for(Int_t iEP=0;iEP<fNEPMethods;iEP++){
			hGammaMultdPhi[iEP]=new THnSparseF(Form("Gamma_MultdPhi_%d",iEP),"Gamma_MultdPhi",knbinsGammaMult,nbinsgmult,mingmult,maxgmultdPhi);
			for(Int_t i=0;i<knbinsGammaMult;i++) hGammaMultdPhi[iEP]->GetAxis(i)->SetName(bingammamult[i]);
			hGammaMultdPhi[iEP]->Sumw2();
			fPhotonQAList->Add(hGammaMultdPhi[iEP]);

			hGammaMult[iEP]=new THnSparseF(Form("Gamma_Mult_%d",iEP),"Gamma_Mult",knbinsGammaMult,nbinsgmult,mingmult,maxgmult);
			for(Int_t i=0;i<knbinsGammaMult;i++) hGammaMult[iEP]->GetAxis(i)->SetName(bingammamult[i]);
			hGammaMult[iEP]->Sumw2();
			fPhotonQAList->Add(hGammaMult[iEP]);
		}

		const Int_t knbinsCharged=3;
		Int_t nbinscharged[knbinsCharged]={fNBinsPhi,fNCentralityBins,fNEPMethods};
		Double_t mincharged[knbinsCharged]={0,-0.5,-0.5};
		Double_t maxcharged[knbinsCharged]={fPsiMax/2,fNCentralityBins-0.5,fNEPMethods-0.5};
		hCharged=new THnSparseF("Charged","Charged",knbinsCharged,nbinscharged,mincharged,maxcharged);
		hCharged->GetAxis(0)->SetName("dPhi");
		hCharged->GetAxis(1)->SetName("centr");
		hCharged->GetAxis(2)->SetName("EPm");
		hCharged->Sumw2();
		fPhotonQAList->Add(hCharged);

		Int_t nbinsgfull[knbinsGamma]={kGCnYBinsSpectra,24,fNCentralityBins,fNEPMethods};
		Double_t mingfull[knbinsGamma]={kGCfirstYBinSpectra,0,-0.5,-0.5};
		Double_t maxgfull[knbinsGamma]={kGClastYBinSpectra,2*TMath::Pi(),fNCentralityBins-0.5,fNEPMethods-0.5};
		hGammaFull=new THnSparseF("Gamma_Sparse_Full","Gamma_Sparse_Full",knbinsGamma,nbinsgfull,mingfull,maxgfull);
		for(Int_t i=0;i<knbinsGamma;i++) hGammaFull->GetAxis(i)->SetName(bingamma[i]);
		hGammaFull->Sumw2();
		fPhotonQAList->Add(hGammaFull);
	}
	
	hNEvents=new TH1F("NEvents","NEvents",fNCentralityBins,&fCentralityBins[0]);
	fPhotonQAList->Add(hNEvents);
	hEventSelection=new TH1F("EventSelection","EventSelection",kEventSelected,0.5,kEventSelected+0.5);
	hEventSelection->GetXaxis()->SetBinLabel(kEventIn,"in");
	hEventSelection->GetXaxis()->SetBinLabel(kEventSelV0Reader,"v0reader");
	hEventSelection->GetXaxis()->SetBinLabel(kEventCentrality,"centr");
	hEventSelection->GetXaxis()->SetBinLabel(kEventRun,"run");
	hEventSelection->GetXaxis()->SetBinLabel(kEventNoTPCEP,"no ep");
	hEventSelection->GetXaxis()->SetBinLabel(kEventProcessEvent,"proc ev");
	hEventSelection->GetXaxis()->SetBinLabel(kEventSelected,"selected");
	fPhotonQAList->Add(hEventSelection);

	// V0 Reader Cuts
	TList *fV0ReaderCuts=fConversionCuts->GetCutHistograms();
	fV0ReaderCuts->SetOwner(kTRUE);
	fOutputList->Add(fV0ReaderCuts);

	PostData(1, fOutputList);

}

//________________________________________________________________________
Bool_t AliAnalysisTaskPi0v2::InitEvent(){

	if(!fV0Reader){AliError("Error: No V0 Reader and Pi0 Reconstructor");return kFALSE;}
	if(!fV0Reader->IsEventSelected()){
		hEventSelection->Fill(kEventSelV0Reader);
		return kFALSE;
	}

	fConversionGammas=fV0Reader->GetReconstructedGammas();

	fIsAOD=(fInputEvent->IsA()==AliAODEvent::Class());

	if(!fConversionSelection){
		AliError("No Cut Selection");
		return kFALSE;
	}

	if(!SetCentrality()){
		hEventSelection->Fill(kEventCentrality);
		return kFALSE;
	}

	if(fEventCuts->IsHeavyIon()&&!fMCEvent){

		if(fRunNumber!=fInputEvent->GetRunNumber()){
			fRunNumber=fInputEvent->GetRunNumber();
			if (fRunNumber >= 136851 && fRunNumber <= 139515){fPeriod = "LHC10h";}
			if (fRunNumber >= 166529 && fRunNumber <= 170593){fPeriod = "LHC11h";}
			fRunIndex=GetRunIndex(fRunNumber);
			fPeriodIndex=GetPeriodIndex(fPeriod);
			LoadVZEROCalibration(fRunNumber); // Load Calibration for V0 Event Plane
			LoadTPCCalibration(fRunNumber); // Load Calibration for TPC Event Plane
		}
		if(fRunIndex<0){
			AliInfo("Run not selected");
			hEventSelection->Fill(kEventRun);
			return kFALSE;
		}

		// TPC Event Plane
		if(!GetTPCEventPlane()){
			hEventSelection->Fill(kEventNoTPCEP);
			return kFALSE;
		}
		//fEP=fInputEvent->GetEventplane();
		//if(!fEP)return kFALSE;

		fRPTPCBF=GetCorrectedTPCEPAngle(NULL,NULL,kFALSE);
		fRPTPC=GetEventPlaneAngle(kTPC);

		// TPC Eta Sub Events
		fRPTPCEtaABF=GetTPCSubEPEta(kEPTPCEtaA);
		fRPTPCEtaA=ApplyFlattening(fRPTPCEtaABF,kEPTPCEtaA);

		fRPTPCEtaCBF=GetTPCSubEPEta(kEPTPCEtaC);
		fRPTPCEtaC=ApplyFlattening(fRPTPCEtaCBF,kEPTPCEtaC);

		// GetV0 Event Plane
		GetV0EP(fInputEvent,fRPV0ABF,fRPV0CBF);
		fRPV0A=ApplyFlattening(fRPV0ABF,kEPV0A);
		fRPV0C=ApplyFlattening(fRPV0CBF,kEPV0C);
	}
	return kTRUE;
}


//________________________________________________________________________
void AliAnalysisTaskPi0v2::UserExec(Option_t *) 
{
	hEventSelection->Fill(kEventIn);

	if(!InitEvent())return;

	// Process Cuts
	for(Int_t iCut=0;iCut<fNCuts;iCut++){
		if(fConversionSelection[iCut]->ProcessEvent(fConversionGammas,fInputEvent,fMCEvent)){    // May only be called once per event!
			if(!fMCEvent){
				// Process EP methods
				for(Int_t iEP=0;iEP<fNEPMethods;iEP++){
					if(!fEPSelectionMask[iEP])continue; // dont fill THnSparse if not needed-> Save Memory
					ProcessPi0s(iCut,EEventPlaneMethod(iEP));
					ProcessGammas(iCut,EEventPlaneMethod(iEP));
				}
			}
			// QA
			if(fFillQA&&iCut==0)ProcessQA();
		} else {
			hEventSelection->Fill(kEventProcessEvent);
		}
	}
	
	// Fill N Events
	hEventSelection->Fill(kEventSelected);
	hNEvents->Fill(fCentrality);
	
	// EventPlaneResolution
	ProcessEventPlane();

	PostData(1, fOutputList);
}

//________________________________________________________________________
void AliAnalysisTaskPi0v2::ProcessPi0s(Int_t iCut,EEventPlaneMethod iEP){

	if(!fConversionSelection[iCut])return;
	if(fConversionSelection[iCut]->GetNumberOfPhotons()==0)return;

	// Process Pi0s

	for(Int_t ii=0;ii<fConversionSelection[iCut]->GetNumberOfPi0s();ii++){

		AliAODConversionMother *pi0cand=fConversionSelection[iCut]->GetPi0(ii);
		if(!pi0cand)continue;

		Double_t val[knbinsPi0];
		val[kPi0Pt]=pi0cand->Pt();
		val[kPi0Mass]=pi0cand->M();
		val[kPi0dPhi]=GetPi0PhiwrtRP(pi0cand,iEP);
		val[kPi0Cent]=fCentralityBin;
		val[kPi0EPM]=Int_t(iEP);
		hPi0[iCut]->Fill(val);

		if(iCut==0){
			// no flattening
			val[kPi0dPhi]=GetPi0PhiwrtRP(pi0cand,iEP,kFALSE);
			hPi0[fNCuts]->Fill(val);
		}
	}
	
	// Pi0 BG
	for(Int_t ii=0;ii<fConversionSelection[iCut]->GetNumberOfBGs();ii++){

		AliAODConversionMother *pi0cand=fConversionSelection[iCut]->GetBG(ii);
		if(!pi0cand)continue;

		Double_t val[knbinsPi0];
		val[kPi0Pt]=pi0cand->Pt();
		val[kPi0Mass]=pi0cand->M();
		val[kPi0dPhi]=GetPi0PhiwrtRP(pi0cand,iEP);
		val[kPi0Cent]=fCentralityBin;
		val[kPi0EPM]=Int_t(iEP);

		hPi0BG[iCut]->Fill(val,pi0cand->GetWeight());

		if(iCut==0){
			// no flattening
			val[kPi0dPhi]=GetPi0PhiwrtRP(pi0cand,iEP,kFALSE);
			hPi0BG[fNCuts]->Fill(val);
		}
	}
}

//________________________________________________________________________
void AliAnalysisTaskPi0v2::ProcessGammas(Int_t iCut,EEventPlaneMethod iEP){

	if(!fConversionSelection[iCut]){
		AliWarning("Conversion Selection does not exist");
		return;
	}

	for(Int_t ii=0;ii<fConversionSelection[iCut]->GetNumberOfPhotons();ii++){

		AliAODConversionPhoton *gamma=fConversionSelection[iCut]->GetPhoton(ii);
		Double_t val[knbinsGamma];
		val[kGammaPt]=gamma->Pt();
		val[kGammadPhi]=GetPhotonPhiwrtRP(gamma,iEP);
		val[kGammaCent]=fCentralityBin;
		val[kGammaEPM]=Int_t(iEP);
		hGamma[iCut]->Fill(val);

		if(iCut==0){
			// no flattening
			val[kGammadPhi]=GetPhotonPhiwrtRP(gamma,iEP,kFALSE);
			hGamma[fNCuts]->Fill(val);
		}

		if(iCut==0&&fFillQA){
			hGammadNdPhi->Fill(val);
			Double_t EPAngle=GetEventPlaneAngle(iEP,gamma->Eta(),gamma,NULL);
			Double_t dPhi=gamma->Phi()-EPAngle;
			if(dPhi>=(2*TMath::Pi()))dPhi-=2*TMath::Pi();
			if(dPhi<0)dPhi+=2*TMath::Pi();
			val[kGammadPhi]=dPhi;
			hGammaFull->Fill(val);
		}
	}
}

//________________________________________________________________________
void AliAnalysisTaskPi0v2::ProcessQA(){

	if(!fConversionSelection[0]){
		AliWarning("Conversion Selection does not exist");
		return;
	}


	AliStack *fMCStack=NULL;
	if(fMCEvent)fMCStack=fMCEvent->Stack();

	// Multiplicity
	Double_t multcharged=fConversionSelection[0]->GetNumberOfChargedTracks(fInputEvent);
	Double_t multVZERO=fConversionSelection[0]->GetVZEROMult(fInputEvent);
	Double_t multSPD=fConversionSelection[0]->GetSPDMult(fInputEvent);

	hMultChargedvsNGamma->Fill(multcharged,fConversionSelection[0]->GetNumberOfPhotons());
	hMultChargedvsVZERO->Fill(multcharged,multVZERO);
	hMultChargedvsSPD->Fill(multcharged,multSPD);

	// Efficiency Purity
	Double_t valdPhi[knbinsGammaMult];
	Double_t val[knbinsGammaMult];

	Int_t dNdPhi[fNBinsPhi];
	Int_t ncharged;

	for(Int_t iEP=0;iEP<fNEPMethods;iEP++){
		GetChargeddNdPhi(&dNdPhi[0],ncharged,iEP);

		// Reco
		for(Int_t ii=0;ii<fConversionSelection[0]->GetNumberOfPhotons();ii++){
			AliAODConversionPhoton *gamma=fConversionSelection[0]->GetPhoton(ii);
			val[0]=gamma->Pt();
			val[1]=ncharged;
			val[2]=fCentralityBin;

			valdPhi[0]=gamma->Pt();
			valdPhi[1]=dNdPhi[GetPhotonPhiBin(gamma,iEP)];
			valdPhi[2]=fCentralityBin;
		
			hGammaMult[iEP]->Fill(val);
			hGammaMultdPhi[iEP]->Fill(valdPhi);

			// Gamma Phi
			hGammaPhi[fCentralityBin]->Fill(gamma->Pt(),gamma->Phi());
			hGammaMultCent->Fill(fCentrality,Float_t(fConversionSelection[0]->GetNumberOfPhotons()));

			if(fMCStack){
				if(gamma->IsTruePhoton(fMCStack)){
					hGammaMultRECOTRUE->Fill(val);
					hGammaMultdPhiRECOTRUE->Fill(valdPhi);
				}
			}
		}

		// MC Truth
		if(fMCEvent){
			for(Int_t i = 0; i < fMCStack->GetNprimary(); i++) {
				TParticle* particle = (TParticle *)fMCStack->Particle(i);
				if (!particle) continue;
				if(fConversionCuts->PhotonIsSelectedMC(particle,fMCStack)){
					TParticle *daughter=(TParticle *)fMCStack->Particle(particle->GetDaughter(0));
					if(daughter){
					val[0]=particle->Pt();
					val[1]=ncharged;
					val[2]=fCentralityBin;
			
					valdPhi[0]=particle->Pt();
					valdPhi[1]=dNdPhi[GetPhiBin(GetMCPhotonPhiwrtRP(particle,EEventPlaneMethod(iEP)))];
					valdPhi[2]=fCentralityBin;
			
					hGammaMultTRUE->Fill(val);
					hGammaMultdPhiTRUE->Fill(valdPhi);
					}
				}
			}
		}
	}
}

//________________________________________________________________________
void AliAnalysisTaskPi0v2::GetPhotondNdPhi(Int_t *dNdPhi,Int_t iEP,Int_t iCut){

	for(Int_t iPhi=0;iPhi<fNBinsPhi;iPhi++)dNdPhi[iPhi]=0;

	for(Int_t ii=0;ii<fConversionSelection[iCut]->GetNumberOfPhotons();ii++){
		AliAODConversionPhoton *gamma=fConversionSelection[iCut]->GetPhoton(ii);
		Int_t phibin=GetPhotonPhiBin(gamma,iEP);
		dNdPhi[phibin]++;
	}
}

//________________________________________________________________________
void AliAnalysisTaskPi0v2::GetChargeddNdPhi(Int_t *dNdPhi,Int_t &ntot,Int_t iEP){

	for(Int_t iPhi=0;iPhi<fNBinsPhi;iPhi++)dNdPhi[iPhi]=0;
	ntot=0;

	Double_t val[3];
	val[1]=fCentralityBin;
	val[2]=Int_t(iEP);
	
	for(Int_t iTracks = 0; iTracks < fInputEvent->GetNumberOfTracks(); iTracks++){
		AliVTrack* currentTrack = (AliVTrack*)fInputEvent->GetTrack(iTracks);
		if(!currentTrack) continue;
		if(TMath::Abs(currentTrack->Eta())>fEtaMax)continue;

		Double_t phiwrt=GetChargedPhiwrtRP(currentTrack,EEventPlaneMethod(iEP));
		Int_t phibin=GetPhiBin(phiwrt);
		
		val[0]=phiwrt;
		hCharged->Fill(val);

		dNdPhi[phibin]++;
		ntot++;
	}
}

//________________________________________________________________________
Int_t AliAnalysisTaskPi0v2::GetPhiBin(Double_t phiwrt){
	Double_t binrange=TMath::Pi()/(Double_t(fHarmonic*fNBinsPhi));
	for(Int_t iPhi=0;iPhi<fNBinsPhi;iPhi++){
		if(phiwrt>=(binrange*iPhi)&&phiwrt<(binrange*(iPhi+1)))return iPhi;
	}
	return -1;
}

//________________________________________________________________________
Int_t AliAnalysisTaskPi0v2::GetPhotonPhiBin(AliAODConversionPhoton *gamma,Int_t iEP){
	Double_t phiwrt=GetPhotonPhiwrtRP(gamma,EEventPlaneMethod(iEP));
	return GetPhiBin(phiwrt);
}

//________________________________________________________________________
Double_t AliAnalysisTaskPi0v2::GetPi0PhiwrtRP(AliAODConversionMother *pi0,EEventPlaneMethod iEP,Bool_t bDoFlattening){

	AliAODConversionPhoton *gamma0=dynamic_cast<AliAODConversionPhoton*>(fConversionGammas->At(pi0->GetLabel1()));
	AliAODConversionPhoton *gamma1=dynamic_cast<AliAODConversionPhoton*>(fConversionGammas->At(pi0->GetLabel2()));

	Double_t EPAngle=GetEventPlaneAngle(iEP,pi0->Eta(),gamma0,gamma1,bDoFlattening);

	return GetPhiwrtRP(pi0->Phi()-EPAngle);
}

//________________________________________________________________________
Double_t AliAnalysisTaskPi0v2::GetPhotonPhiwrtRP(AliAODConversionPhoton *gamma,EEventPlaneMethod iEP,Bool_t bDoFlattening){

	Double_t EPAngle=GetEventPlaneAngle(iEP,gamma->Eta(),gamma,NULL,bDoFlattening);

	return GetPhiwrtRP(gamma->Phi()-EPAngle);
}

//________________________________________________________________________
Double_t AliAnalysisTaskPi0v2::GetMCPhotonPhiwrtRP(TParticle *gamma,EEventPlaneMethod iEP,Bool_t bDoFlattening){

	Double_t EPAngle=GetEventPlaneAngle(iEP,gamma->Eta(),NULL,NULL,bDoFlattening);

	return GetPhiwrtRP(gamma->Phi()-EPAngle);
}
//________________________________________________________________________
Double_t AliAnalysisTaskPi0v2::GetChargedPhiwrtRP(AliVTrack *track,EEventPlaneMethod iEP,Bool_t bDoFlattening){

	Double_t EPAngle=GetEventPlaneAngle(iEP,track->Eta(),NULL,NULL,bDoFlattening);

	return GetPhiwrtRP(track->Phi()-EPAngle);
}
//________________________________________________________________________
Double_t AliAnalysisTaskPi0v2::GetPhiwrtRP(Double_t dPhi){
	Double_t newdPhi=TMath::Abs(dPhi); // Cos is symmetric
	while(newdPhi>fPsiMax/2)newdPhi=TMath::Abs(newdPhi-fPsiMax);
	return newdPhi;
}

//________________________________________________________________________
void AliAnalysisTaskPi0v2::Terminate(Option_t *) 
{

}

//________________________________________________________________________
void AliAnalysisTaskPi0v2::ProcessEventPlane()
{
	if(!fMCEvent&&fEventCuts->IsHeavyIon()){

		/*  Double_t val[4];
		val[0]=fInputEvent->GetPrimaryVertex()->GetX();
		val[1]=fInputEvent->GetPrimaryVertex()->GetY();
		val[2]=fInputEvent->GetPrimaryVertex()->GetZ();
		val[3]=GetEventPlaneAngle(kTPC);
		hEPVertex->Fill(val);   */

		// Run by run monitoring (before flattening)

		Double_t val[4];
		val[0]=fCentralityBin;
		val[2]=fRunIndex;

		val[1]=fRPTPCBF;
		val[3]=kEPTPC;
		hEPQA->Fill(val);

		val[1]=fRPTPCEtaABF;
		val[3]=kEPTPCEtaA;
		hEPQA->Fill(val);
		val[1]=fRPTPCEtaCBF;
		val[3]=kEPTPCEtaC;
		hEPQA->Fill(val);

		val[1]=fRPV0ABF;
		val[3]=kEPV0A;
		hEPQA->Fill(val);
		val[1]=fRPV0CBF;
		val[3]=kEPV0C;
		hEPQA->Fill(val);

		// After Flattening

		// TPC EP
		Double_t PsiRP1BF=fEP->GetQsub1()->Phi()/Double_t(fHarmonic);
		Double_t PsiRP2BF=fEP->GetQsub2()->Phi()/Double_t(fHarmonic);
		Double_t PsiRP1=ApplyFlattening(PsiRP1BF,kEPTPC);
		Double_t PsiRP2=ApplyFlattening(PsiRP2BF,kEPTPC);

		hRPTPC->Fill(fCentrality,fRPTPC);
		hRPTPCAC->Fill(PsiRP1,PsiRP2);
		
		// TPC Eta Gap
		hRPTPCEtaA->Fill(fCentrality,fRPTPCEtaA);
		hRPTPCEtaC->Fill(fCentrality,fRPTPCEtaC);
		hRPTPCEtaAC->Fill(fRPTPCEtaA,fRPTPCEtaC);
		
		// V0
		
		hRPV0A->Fill(fCentrality,fRPV0A);
		hRPV0C->Fill(fCentrality,fRPV0C);

		hRPV0ATPC->Fill(fRPV0A,fRPTPC);
		hRPV0CTPC->Fill(fRPV0C,fRPTPC);
		hRPV0AC->Fill(fRPV0A,fRPV0C);

		Double_t cos2V0ATPC=TMath::Cos(Double_t(fHarmonic)*(fRPTPC-fRPV0A));
		Double_t cos2V0CTPC=TMath::Cos(Double_t(fHarmonic)*(fRPTPC-fRPV0C));
		Double_t cos2V0AV0C=TMath::Cos(Double_t(fHarmonic)*(fRPV0C-fRPV0A));
		Double_t cos2TPCEta=TMath::Cos(Double_t(fHarmonic)*(fRPTPCEtaA-fRPTPCEtaC));
		Double_t cos2TPC=TMath::Cos(Double_t(fHarmonic)*(PsiRP1-PsiRP2));
		Double_t cos2V0ATPCEtaA=TMath::Cos(Double_t(fHarmonic)*(fRPV0A-fRPTPCEtaA));
		Double_t cos2V0CTPCEtaA=TMath::Cos(Double_t(fHarmonic)*(fRPV0C-fRPTPCEtaA));
		Double_t cos2V0ATPCEtaC=TMath::Cos(Double_t(fHarmonic)*(fRPV0A-fRPTPCEtaC));
		Double_t cos2V0CTPCEtaC=TMath::Cos(Double_t(fHarmonic)*(fRPV0C-fRPTPCEtaC));

		const Int_t nfill=4;
		Double_t weight[nfill];
		weight[0]=1.;// Fill unweighted
		weight[1]=Float_t(fConversionSelection[0]->GetNumberOfPhotons());// Weight with Photon Mult
		weight[2]=Float_t(fConversionSelection[0]->GetNumberOfChargedTracks(fInputEvent)); // Weight with charged Track Mult
		weight[3]=Float_t(fConversionSelection[0]->GetVZEROMult(fInputEvent)); // Weight with V0 mult

		for(Int_t i=0;i<nfill;i++){

			hCos2V0ATPC->Fill(fCentrality,i,cos2V0ATPC*weight[i]);
			hCos2V0CTPC->Fill(fCentrality,i,cos2V0CTPC*weight[i]);
			hCos2V0AC->Fill(fCentrality,i,cos2V0AV0C*weight[i]);
			hCos2TPCEta->Fill(fCentrality,i,cos2TPCEta*weight[i]);
			hCos2TPC->Fill(fCentrality,i,cos2TPC*weight[i]);
			hCos2V0ATPCEtaA->Fill(fCentrality,i,cos2V0ATPCEtaA*weight[i]);
			hCos2V0ATPCEtaC->Fill(fCentrality,i,cos2V0ATPCEtaC*weight[i]);
			hCos2V0CTPCEtaA->Fill(fCentrality,i,cos2V0CTPCEtaA*weight[i]);
			hCos2V0CTPCEtaC->Fill(fCentrality,i,cos2V0CTPCEtaC*weight[i]);

			hCos2SumWeights->Fill(fCentrality,i,weight[i]);
		}

			// Fill Resolution before EP Flattening
		Double_t cos2V0ATPCBF=TMath::Cos(Double_t(fHarmonic)*(fRPTPCBF-fRPV0ABF));
		Double_t cos2V0CTPCBF=TMath::Cos(Double_t(fHarmonic)*(fRPTPCBF-fRPV0CBF));
		Double_t cos2V0AV0CBF=TMath::Cos(Double_t(fHarmonic)*(fRPV0CBF-fRPV0ABF));
		Double_t cos2TPCEtaBF=TMath::Cos(Double_t(fHarmonic)*(fRPTPCEtaABF-fRPTPCEtaCBF));
		Double_t cos2TPCBF=TMath::Cos(Double_t(fHarmonic)*(PsiRP1BF-PsiRP2BF));
		Double_t cos2V0ATPCEtaABF=TMath::Cos(Double_t(fHarmonic)*(fRPV0ABF-fRPTPCEtaABF));
		Double_t cos2V0CTPCEtaABF=TMath::Cos(Double_t(fHarmonic)*(fRPV0CBF-fRPTPCEtaABF));
		Double_t cos2V0ATPCEtaCBF=TMath::Cos(Double_t(fHarmonic)*(fRPV0ABF-fRPTPCEtaCBF));
		Double_t cos2V0CTPCEtaCBF=TMath::Cos(Double_t(fHarmonic)*(fRPV0CBF-fRPTPCEtaCBF));

		hCos2V0ATPC->Fill(fCentrality,nfill,cos2V0ATPCBF);
		hCos2V0CTPC->Fill(fCentrality,nfill,cos2V0CTPCBF);
		hCos2V0AC->Fill(fCentrality,nfill,cos2V0AV0CBF);
		hCos2TPCEta->Fill(fCentrality,nfill,cos2TPCEtaBF);
		hCos2TPC->Fill(fCentrality,nfill,cos2TPCBF);
		hCos2V0ATPCEtaA->Fill(fCentrality,nfill,cos2V0ATPCEtaABF);
		hCos2V0ATPCEtaC->Fill(fCentrality,nfill,cos2V0ATPCEtaCBF);
		hCos2V0CTPCEtaA->Fill(fCentrality,nfill,cos2V0CTPCEtaABF);
		hCos2V0CTPCEtaC->Fill(fCentrality,nfill,cos2V0CTPCEtaCBF);

		hCos2SumWeights->Fill(fCentrality,nfill);

	}
}

//________________________________________________________________________
TVector2 AliAnalysisTaskPi0v2::GetEPContribution(AliAODConversionPhoton *gamma){
	TVector2 q;
	for(Int_t ii=0;ii<2;ii++){
		AliVTrack *fCurrentTrack=AliConversionPhotonCuts::GetTrack(fInputEvent,gamma->GetTrackLabel(ii));
		TVector2 qtrack=GetContributionEP(fCurrentTrack);
		q+=qtrack;
	}
	return q;
}

//________________________________________________________________________
Double_t AliAnalysisTaskPi0v2::GetCorrectedTPCEPAngle(AliAODConversionPhoton *gamma0,AliAODConversionPhoton *gamma1,Bool_t bDoFlattening){
	// Correct Event Plane for Dilepton Tracks
	TVector2 q0(*fEP->GetQVector());
	if(gamma0)q0-=GetEPContribution(gamma0);
	if(gamma1)q0-=GetEPContribution(gamma1);
	Double_t EPangle=GetPsiInRange(q0.Phi()/Double_t(fHarmonic));
	if(bDoFlattening)EPangle=ApplyFlattening(EPangle,kEPTPC);

	return EPangle;
}

//________________________________________________________________________
Double_t AliAnalysisTaskPi0v2::GetTPCSubEPEta(EEventPlane ep){

	Double_t etamin,etamax;
	switch(ep){
		case kEPTPCEtaA:
			etamin=fEtaGap/2;
			etamax=1;
			break;
		case kEPTPCEtaC:
			etamin=-1;
			etamax=-fEtaGap/2;
			break;
		default:
			return 0;
	}

	TVector2 q;
	for(Int_t ii=0;ii<fInputEvent->GetNumberOfTracks();ii++){
		AliVTrack *fCurrentTrack=dynamic_cast<AliVTrack*>(fInputEvent->GetTrack(ii));
		if(!fCurrentTrack)continue;
		if(fCurrentTrack->Eta()>=etamin&&fCurrentTrack->Eta()<=etamax){
			TVector2 qtrack=GetContributionEP(fCurrentTrack);
			q+=qtrack;
		}
	}

	Double_t phi=GetPsiInRange(q.Phi()/Double_t(fHarmonic));

	return phi;
}

//________________________________________________________________________
TVector2 AliAnalysisTaskPi0v2::GetContributionEP(AliVTrack *track){

	TVector2 q(0,0);

	TArrayF *fQContributionX=fEP->GetQContributionXArray();
	TArrayF *fQContributionY=fEP->GetQContributionYArray();

	Int_t trackID=track->GetID();

	if(fIsAOD){
		if((trackID>-1)&&fUseTPCOnlyTracks)return q;
		if((trackID<0)&&!fUseTPCOnlyTracks)return q;
		if (fUseTPCOnlyTracks) trackID = trackID*(-1) - 1;
	}

	q.Set(fQContributionX->GetAt(trackID),fQContributionY->GetAt(trackID));

	return q;
}

//________________________________________________________________________
Double_t AliAnalysisTaskPi0v2::GetPsiInRange(Double_t phi){

	Double_t newphi=phi;
	while(newphi<0)newphi+=fPsiMax;
	while(newphi>fPsiMax)newphi-=fPsiMax;
	return newphi;
}

//________________________________________________________________________
Double_t AliAnalysisTaskPi0v2::GetEventPlaneAngle(EEventPlaneMethod EPmethod,Double_t eta,AliAODConversionPhoton *gamma0,AliAODConversionPhoton *gamma1,Bool_t bDoFlattening)
{
	// If arguments are not null, the contribution of these photons is subtracted from the TPC EP
	if(fEventCuts->IsHeavyIon()){
		// For MC select random EP angle in order to avoid correlations due to azimuth dependent efficiencies (ITS holes)
		if(fMCEvent){
			return fRandomizer->Uniform(0,fPsiMax);
		}
		switch(EPmethod){
			case kTPC:
				return GetCorrectedTPCEPAngle(gamma0,gamma1,bDoFlattening);
			case kTPCEtaGap:
				// Use opposite EP
				if(bDoFlattening){
					if(eta<0)return fRPTPCEtaA; 
						else return fRPTPCEtaC;
				} else{
					if(eta<0)return fRPTPCEtaABF;
						else return fRPTPCEtaCBF;
				}
			case kV0A:
				if(bDoFlattening)return fRPV0A;
					else return fRPV0ABF;
			case kV0C:
				if(bDoFlattening)return fRPV0C;
					else return fRPV0CBF;
			default:
				return 0;
		}
    }

	// NO EP in pp mode
	return 0;
}

///________________________________________________________________________
Bool_t AliAnalysisTaskPi0v2::SetCentrality(){

	// Set centrality bin for current event
	if(!fEventCuts->IsHeavyIon()){
		fCentrality=0;
		fCentralityBin=0;
		return kTRUE;
	}

	fCentrality=fEventCuts->GetCentrality(fInputEvent);
	if(fNCentralityBins>1){
		for(fCentralityBin=0;fCentralityBin<fNCentralityBins;fCentralityBin++){
			if(fCentrality>=fCentralityBins[fCentralityBin]&&fCentrality<fCentralityBins[fCentralityBin+1])return kTRUE;
		}
		return kFALSE;
	}
	fCentralityBin=0;
	return kTRUE;
}

//________________________________________________________________________
void AliAnalysisTaskPi0v2::SetCentralityBins(Double_t *bins,Int_t nbins)
{

	if(nbins>=knCentMax){AliError("Not enough slots");return;}

	// Set Centrality bins for analysis
	fNCentralityBins=nbins;
	for(Int_t ii=0;ii<=fNCentralityBins;ii++){
		fCentralityBins[ii]=bins[ii];
	}
}

//________________________________________________________________________
void AliAnalysisTaskPi0v2::SetCuts(AliConversionSelection **conversionselection,Int_t ncuts){

	if(fConversionSelection){
	for(Int_t ii=0;ii<fNCuts;ii++)delete fConversionSelection;
		delete[] fConversionSelection;
		fConversionSelection=NULL;
	}
	fNCuts=ncuts;
	fConversionSelection=new AliConversionSelection*[fNCuts];
	for(Int_t ii=0;ii<fNCuts;ii++)fConversionSelection[ii]=new AliConversionSelection(*conversionselection[ii]);
}

//___________________________________________________________________________
Int_t AliAnalysisTaskPi0v2::GetRunIndex(Int_t run){

	switch(run){
		//LHC11h (131 runs)
		case 167902 : return 140;
		case 167903 : return 141;
		case 167909 : return 142;
		case 167915 : return 143;
		case 167920 : return 144;
		case 167985 : return 145;
		case 167986 : return 146;
		case 167987 : return 147;
		case 167988 : return 148;
		case 168066 : return 149;
		case 168068 : return 150;
		case 168069 : return 151;
		case 168076 : return 152;
		case 168103 : return 153;
		case 168104 : return 154;
		case 168105 : return 155;
		case 168107 : return 156;
		case 168108 : return 157;
		case 168115 : return 158;
		case 168212 : return 159;
		case 168310 : return 160;
		case 168311 : return 161;
		case 168322 : return 162;
		case 168325 : return 163;
		case 168341 : return 164;
		case 168342 : return 165;
		case 168361 : return 166;
		case 168362 : return 167;
		case 168458 : return 168;
		case 168460 : return 169;
		case 168461 : return 170;
		case 168464 : return 171;
		case 168467 : return 172;
		case 168511 : return 173;
		case 168512 : return 174;
		case 168514 : return 175;
		case 168777 : return 176;
		case 168826 : return 177;
		case 168984 : return 178;
		case 168988 : return 179;
		case 168992 : return 180;
		case 169035 : return 181;
		case 169040 : return 182;
		case 169044 : return 183;
		case 169045 : return 184;
		case 169091 : return 185;
		case 169094 : return 186;
		case 169099 : return 187;
		case 169138 : return 188;
		case 169143 : return 189;
		case 169144 : return 190;
		case 169145 : return 191;
		case 169148 : return 192;
		case 169156 : return 193;
		case 169160 : return 194;
		case 169167 : return 195;
		case 169238 : return 196;
		case 169411 : return 197;
		case 169415 : return 198;
		case 169417 : return 199;
		case 169418 : return 200;
		case 169419 : return 201;
		case 169420 : return 202;
		case 169475 : return 203;
		case 169498 : return 204;
		case 169504 : return 205;
		case 169506 : return 206;
		case 169512 : return 207;
		case 169515 : return 208;
		case 169550 : return 209;
		case 169553 : return 210;
		case 169554 : return 211;
		case 169555 : return 212;
		case 169557 : return 213;
		case 169584 : return 214;
		case 169586 : return 215;
		case 169587 : return 216;
		case 169588 : return 217;
		case 169590 : return 218;
		case 169591 : return 219;
		case 169835 : return 220;
		case 169837 : return 221;
		case 169838 : return 222;
		case 169846 : return 223;
		case 169855 : return 224;
		case 169858 : return 225;
		case 169859 : return 226;
		case 169922 : return 227;
		case 169923 : return 228;
		case 169956 : return 229;
		case 169965 : return 230;
		case 169975 : return 231;
		case 169981 : return 232;
		case 170027 : return 233;
		case 170036 : return 234;
		case 170038 : return 235;
		case 170040 : return 236;
		case 170081 : return 237;
		case 170083 : return 238;
		case 170084 : return 239;
		case 170085 : return 240;
		case 170088 : return 241;
		case 170089 : return 242;
		case 170091 : return 243;
		case 170152 : return 244;
		case 170155 : return 245;
		case 170159 : return 246;
		case 170163 : return 247;
		case 170193 : return 248;
		case 170195 : return 249;
		case 170203 : return 250;
		case 170204 : return 251;
		case 170207 : return 252;
		case 170208 : return 253;
		case 170228 : return 254;
		case 170230 : return 255;
		case 170268 : return 256;
		case 170269 : return 257;
		case 170270 : return 258;
		case 170306 : return 259;
		case 170308 : return 260;
		case 170309 : return 261;
		case 170311 : return 262;
		case 170312 : return 263;
		case 170313 : return 264;
		case 170315 : return 265;
		case 170387 : return 266;
		case 170388 : return 267;
		case 170556 : return 268;
		case 170572 : return 269;
		case 170593 : return 270;

		//LHC10h (137 runs)
		case  139517 : return 137;
		case  139514 : return 136;
		case  139513 : return 135;
		case  139511 : return 134;
		case  139510 : return 133;
		case  139507 : return 132;
		case  139505 : return 131;
		case  139504 : return 130;
		case  139503 : return 129;
		case  139470 : return 128;
		case  139467 : return 127;
		case  139466 : return 126;
		case  139465 : return 125;
		case  139440 : return 124;
		case  139439 : return 123;
		case  139438 : return 122;
		case  139437 : return 121;
		case  139360 : return 120;
		case  139329 : return 119;
		case  139328 : return 118;
		case  139314 : return 117;
		case  139311 : return 116;
		case  139310 : return 115;
		case  139309 : return 114;
		case  139308 : return 113;
		case  139173 : return 112;
		case  139172 : return 111;
		case  139110 : return 110;
		case  139107 : return 109;
		case  139105 : return 108;
		case  139104 : return 107;
		case  139042 : return 106;
		case  139038 : return 105;
		case  139037 : return 104;
		case  139036 : return 103;
		case  139029 : return 102;
		case  139028 : return 101;
		case  138983 : return 100;
		case  138982 : return 99;
		case  138980 : return 98;
		case  138979 : return 97;
		case  138978 : return 96;
		case  138977 : return 95;
		case  138976 : return 94;
		case  138973 : return 93;
		case  138972 : return 92;
		case  138965 : return 91;
		case  138924 : return 90;
		case  138872 : return 89;
		case  138871 : return 88;
		case  138870 : return 87;
		case  138837 : return 86;
		case  138830 : return 85;
		case  138828 : return 84;
		case  138826 : return 83;
		case  138796 : return 82;
		case  138795 : return 81;
		case  138742 : return 80;
		case  138732 : return 79;
		case  138730 : return 78;
		case  138666 : return 77;
		case  138662 : return 76;
		case  138653 : return 75;
		case  138652 : return 74;
		case  138638 : return 73;
		case  138624 : return 72;
		case  138621 : return 71;
		case  138583 : return 70;
		case  138582 : return 69;
		// case  138579 : return 68;
		// case  138578 : return 67;
		case  138534 : return 66;
		case  138469 : return 65;
		case  138442 : return 64;
		case  138439 : return 63;
		case  138438 : return 62;
		case  138396 : return 61;
		case  138364 : return 60;
		case  138359 : return 59;
		case  138275 : return 58;
		case  138225 : return 57;
		case  138201 : return 56;
		case  138200 : return 55;
		case  138197 : return 54;
		case  138192 : return 53;
		case  138190 : return 52;
		case  138154 : return 51;
		case  138153 : return 50;
		case  138151 : return 49;
		case  138150 : return 48;
		case  138126 : return 47;
		case  138125 : return 46;
		case  137848 : return 45;
		case  137847 : return 44;
		case  137844 : return 43;
		case  137843 : return 42;
		case  137752 : return 41;
		case  137751 : return 40;
		case  137748 : return 39;
		case  137724 : return 38;
		case  137722 : return 37;
		case  137718 : return 36;
		case  137704 : return 35;
		case  137693 : return 34;
		case  137692 : return 33;
		case  137691 : return 32;
		case  137689 : return 31;
		case  137686 : return 30;
		case  137685 : return 29;
		case  137639 : return 28;
		case  137638 : return 27;
		case  137608 : return 26;
		case  137595 : return 25;
		case  137549 : return 24;
		case  137546 : return 23;
		case  137544 : return 22;
		case  137541 : return 21;
		case  137539 : return 20;
		case  137531 : return 19;
		case  137530 : return 18;
		case  137443 : return 17;
		case  137441 : return 16;
		case  137440 : return 15;
		case  137439 : return 14;
		case  137434 : return 13;
		case  137432 : return 12;
		case  137431 : return 11;
		case  137430 : return 10;
		case  137366 : return 9;
		case  137243 : return 8;
		case  137236 : return 7;
		case  137235 : return 6;
		case  137232 : return 5;
		case  137231 : return 4;
		case  137165 : return 3;
		case  137162 : return 2;
		case  137161 : return 1;

		// Default
		//default : return -1;
		default : return 275;
	}
}

//____________________________________________________________________________
void AliAnalysisTaskPi0v2::GetV0EP(AliVEvent * event,Double_t &rpv0a,Double_t &rpv0c){

	if (fPeriod.CompareTo("LHC10h")==0){
		// Corrected VZERO EP (from AliAnalysisTaskPi0Flow)
		//VZERO data
		AliESDVZERO* esdV0 = (AliESDVZERO*)event->GetVZEROData();

		//reset Q vector info
		Double_t Qxa2 = 0, Qya2 = 0;
		Double_t Qxc2 = 0, Qyc2 = 0;

		for (Int_t iv0 = 0; iv0 < 64; iv0++) {
			Double_t phiV0 = TMath::PiOver4()*(0.5 + iv0 % 8);
			Float_t multv0 = esdV0->GetMultiplicity(iv0);
			Double_t lqx=TMath::Cos(fHarmonic*phiV0) * multv0*fV0Cpol/fMultV0->GetBinContent(iv0+1);
			Double_t lqy=TMath::Sin(fHarmonic*phiV0) * multv0*fV0Cpol/fMultV0->GetBinContent(iv0+1);
			if (iv0 < 32){ // V0C
			Qxc2 += lqx;
			Qyc2 += lqy;
			} else {       // V0A
			Qxa2 += lqx;
			Qya2 += lqy;
			}
		}

		Int_t iC = -1;
		// centrality bins
		if(fCentrality < 5) iC = 0;
		else if(fCentrality < 10) iC = 1;
		else if(fCentrality < 20) iC = 2;
		else if(fCentrality < 30) iC = 3;
		else if(fCentrality < 40) iC = 4;
		else if(fCentrality < 50) iC = 5;
		else if(fCentrality < 60) iC = 6;
		else if(fCentrality < 70) iC = 7;
		else iC = 8;

		//grab for each centrality the proper histo with the Qx and Qy to do the recentering
		Double_t Qxamean2 = fMeanQ[iC][1][0];
		Double_t Qxarms2  = fWidthQ[iC][1][0];
		Double_t Qyamean2 = fMeanQ[iC][1][1];
		Double_t Qyarms2  = fWidthQ[iC][1][1];

		Double_t Qxcmean2 = fMeanQ[iC][0][0];
		Double_t Qxcrms2  = fWidthQ[iC][0][0];
		Double_t Qycmean2 = fMeanQ[iC][0][1];
		Double_t Qycrms2  = fWidthQ[iC][0][1];

		Double_t QxaCor2 = (Qxa2 - Qxamean2)/Qxarms2;
		Double_t QyaCor2 = (Qya2 - Qyamean2)/Qyarms2;
		Double_t QxcCor2 = (Qxc2 - Qxcmean2)/Qxcrms2;
		Double_t QycCor2 = (Qyc2 - Qycmean2)/Qycrms2;
		rpv0a = TMath::ATan2(QyaCor2, QxaCor2)/Double_t(fHarmonic);
		rpv0c = TMath::ATan2(QycCor2, QxcCor2)/Double_t(fHarmonic);

		//rpv0a = TMath::ATan2(Qya2, Qxa2)/Double_t(fHarmonic);
		//rpv0c = TMath::ATan2(Qyc2, Qxc2)/Double_t(fHarmonic);

		// cout<<"Compare v"<<fHarmonic<<" "<<rpv0a<<" "<<fInputEvent->GetEventplane()->GetEventplane("V0A",fInputEvent,fHarmonic)<<endl;
	}
	
	if (fPeriod.CompareTo("LHC11h")==0){
		AliEventplane *eventEP=fInputEvent->GetEventplane();
		Double_t qx,qy;
		rpv0a=eventEP->CalculateVZEROEventPlane(fInputEvent,8,fHarmonic,qx,qy);
		rpv0c=eventEP->CalculateVZEROEventPlane(fInputEvent,9,fHarmonic,qx,qy);
	}

	//AliEventplane *ep=fInputEvent->GetEventplane();
	//cout<<fHarmonic<<" A "<<ep->GetEventplane("V0A",fInputEvent,fHarmonic)<<" "<<rpv0a<<" C "<<ep->GetEventplane("V0C",fInputEvent,fHarmonic)<<" "<<rpv0c<<endl;

	rpv0a=GetPsiInRange(rpv0a);
	rpv0c=GetPsiInRange(rpv0c);

	
}

//_____________________________________________________________________________
void AliAnalysisTaskPi0v2::LoadVZEROCalibration(Int_t run){

	// VZERO Phi Weights and Recentering
	if (fPeriod.CompareTo("LHC10h")==0){
		TString oadbfilename = "$ALICE_ROOT/OADB/PWGCF/VZERO/VZEROcalibEP.root";
		TFile *foadb = TFile::Open(oadbfilename.Data());

		if(!foadb){
			printf("OADB file %s cannot be opened\n",oadbfilename.Data());
			return;
		}

		AliOADBContainer *cont = (AliOADBContainer*) foadb->Get("hMultV0BefCorr");
		if(!cont){
			printf("OADB object hMultV0BefCorr is not available in the file\n");
			return;
		}

		if(!(cont->GetObject(run))){
			printf("OADB object hMultV0BefCorr is not available for run %i (used run 137366)\n",run);
			run = 137366;
		}
		
		printf("Setting V0 calibration \n") ;
		fMultV0 = ((TH2F *) cont->GetObject(run))->ProfileX();

		TF1 *fpol0 = new TF1("fpol0","pol0");
		fMultV0->Fit(fpol0,"0","",0,31);
		fV0Cpol = fpol0->GetParameter(0);
		fMultV0->Fit(fpol0,"0","",32,64);
		fV0Apol = fpol0->GetParameter(0);

		for(Int_t iside=0;iside<2;iside++){
			for(Int_t icoord=0;icoord<2;icoord++){
				for(Int_t i=0;i  < nCentrBinV0;i++){
					char namecont[100];
					if(iside==0 && icoord==0)
						snprintf(namecont,100,"hQxc%i_%i",fHarmonic,i);
					else if(iside==1 && icoord==0)
						snprintf(namecont,100,"hQxa%i_%i",fHarmonic,i);
					else if(iside==0 && icoord==1)
						snprintf(namecont,100,"hQyc%i_%i",fHarmonic,i);
					else if(iside==1 && icoord==1)
						snprintf(namecont,100,"hQya%i_%i",fHarmonic,i);

					cont = (AliOADBContainer*) foadb->Get(namecont);
					if(!cont){
						printf("OADB object %s is not available in the file\n",namecont);
						return;
					}

					if(!(cont->GetObject(run))){
						printf("OADB object %s is not available for run %i (used run 137366)\n",namecont,run);
						run = 137366;
					}
					fMeanQ[i][iside][icoord] = ((TH1F *) cont->GetObject(run))->GetMean();
					fWidthQ[i][iside][icoord] = ((TH1F *) cont->GetObject(run))->GetRMS();
				}
			}
		}
	}
}

//_____________________________________________________________________________
void AliAnalysisTaskPi0v2::LoadTPCCalibration(Int_t run){

	// TPC Event Plane Weights
	AliOADBContainer *fEPContainer=NULL;
	TString oadbfilename="";

	if (fPeriod.CompareTo("LHC10h")==0){
		// LHC10h
		if(fIsAOD){
			oadbfilename = (Form("%s/COMMON/EVENTPLANE/data/epphidist.aod.root", AliAnalysisManager::GetOADBPath()));
		} else{
			oadbfilename = (Form("%s/COMMON/EVENTPLANE/data/epphidist.root", AliAnalysisManager::GetOADBPath()));
		}

		TFile foadb(oadbfilename);
		if(!foadb.IsOpen()) AliFatal(Form("Cannot open OADB file %s", oadbfilename.Data()));

		AliInfo("Using Standard OADB");
		fEPContainer = (AliOADBContainer*) foadb.Get("epphidist");
		if (!fEPContainer) AliFatal("Cannot fetch OADB container for EP selection");
		foadb.Close();

		fPhiDist[0] = (TH1F*) fEPContainer->GetObject(fRunNumber, "Default");

		Bool_t emptybins;

		int iter = 0;
		while (iter<3){
			emptybins = kFALSE;
			for (int i=1; i<fPhiDist[0]->GetNbinsX(); i++){
				if (!((fPhiDist[0]->GetBinContent(i))>0)) {
					emptybins = kTRUE;
				}
			}
			if (emptybins) {
				cout << "empty bins - rebinning!" << endl;
				fPhiDist[0]->Rebin();
				iter++;
			} else iter = 3;
		}

		if (emptybins) {
			AliError("After Maximum of rebinning still empty Phi-bins!!!");
		}
	}

	if (fPeriod.CompareTo("LHC11h")==0){
		// LHC11h
		oadbfilename = (Form("%s/COMMON/EVENTPLANE/data/epphidist2011.root", AliAnalysisManager::GetOADBPath()));
		TFile *foadb = TFile::Open(oadbfilename);
		if(!foadb->IsOpen()) AliFatal(Form("Cannot open OADB file %s", oadbfilename.Data()));

		AliInfo("Using Standard OADB");
		fSparseDist = (THnSparse*) foadb->Get("Default");
		if (!fSparseDist) AliFatal("Cannot fetch OADB container for EP selection");
		foadb->Close();
		if(!fHruns){
			fHruns = (TH1F*)fSparseDist->Projection(0); //projection on run axis;
			fHruns->SetName("runsHisto");
		}

		Int_t runbin=fHruns->FindBin(fRunNumber);
		if (fHruns->GetBinContent(runbin) > 1){
			fSparseDist->GetAxis(0)->SetRange(runbin,runbin);
		} else if(fHruns->GetBinContent(runbin) < 2){
			fSparseDist->GetAxis(0)->SetRange(1,2901); // not calibrated run, use integrated phi-weights
			AliInfo("Using integrated Phi-weights for this run");
		}
		for (Int_t i = 0; i<4 ;i++) {
			if(fPhiDist[i]){
			delete fPhiDist[i];
			fPhiDist[i] = 0x0;
			}
			if(i == 0){
			fSparseDist->GetAxis(1)->SetRange(1,1);  // neg charge
			fSparseDist->GetAxis(2)->SetRange(1,1);} // neg eta
			if(i == 1){
			fSparseDist->GetAxis(1)->SetRange(2,2);  // pos charge
			fSparseDist->GetAxis(2)->SetRange(1,1);} // neg eta
			if(i == 2){
			fSparseDist->GetAxis(1)->SetRange(1,1);  // neg charge
			fSparseDist->GetAxis(2)->SetRange(2,2);} // pos eta
			if(i == 3){
			fSparseDist->GetAxis(1)->SetRange(2,2);  // pos charge
			fSparseDist->GetAxis(2)->SetRange(2,2);} // pos eta
			fPhiDist[i] = (TH1F*)fSparseDist->Projection(3); // Projection on Phi
			fPhiDist[i]->SetName(Form("phidist%d%d",i,fRunNumber));
			fSparseDist->GetAxis(1)->SetRange(1,2); // reset axes
			fSparseDist->GetAxis(2)->SetRange(1,2);
		}
		fSparseDist->GetAxis(0)->SetRange(1,2901);// reset run axis
	}
	if (!fPhiDist[0]) AliFatal(Form("Cannot find OADB phi distribution for run %d", run));

}

//_________________________________________________________________________
Int_t AliAnalysisTaskPi0v2::GetAODEPTrackFilterBit(){

	if(fUseTPCOnlyTracks){
		return 128;// TPC only with vertex constraint
	}
	return 1;// Use Global Tracks
}

//_________________________________________________________________________
TObjArray* AliAnalysisTaskPi0v2::GetEventPlaneTracks(Int_t &maxID)
{
	TObjArray *tracklist=NULL;
	AliESDtrackCuts *fEPESDtrackCuts=AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
	fEPESDtrackCuts->SetPtRange(0.15,20.);
	fEPESDtrackCuts->SetEtaRange(-0.8,0.8);
	Int_t fAODfilterbit=GetAODEPTrackFilterBit();

	if(fInputEvent->IsA()==AliESDEvent::Class()){
		maxID=fInputEvent->GetNumberOfTracks();
		tracklist=fEPESDtrackCuts->GetAcceptedTracks((AliESDEvent*)fInputEvent,fUseTPCOnlyTracks);
	}
	
	if(fInputEvent->IsA()==AliAODEvent::Class()){
		// From AliEPSelectionTask
		tracklist = new TObjArray();

		AliAODTrack *tr = 0;
		Int_t maxid1 = 0;
		Int_t maxidtemp = -1;
		Float_t ptlow = 0;
		Float_t ptup = 0;
		Float_t etalow = 0;
		Float_t etaup = 0;
		fEPESDtrackCuts->GetPtRange(ptlow,ptup);
		fEPESDtrackCuts->GetEtaRange(etalow,etaup);
		Int_t ntpc = fEPESDtrackCuts->GetMinNClusterTPC();

		for (Int_t i = 0; i < fInputEvent->GetNumberOfTracks() ; i++){
			tr = (AliAODTrack*)fInputEvent->GetTrack(i);
			maxidtemp = tr->GetID();
			if(maxidtemp < 0 && fAODfilterbit != 128) continue;// id<0 means filter bit 128
			if(maxidtemp > -1 && fAODfilterbit == 128) continue;// id>01 means filter bit 1
			if (fAODfilterbit == 128) maxidtemp = maxidtemp*(-1) - 1;
			if (maxidtemp > maxid1) maxid1 = maxidtemp;
			if(tr->TestFilterBit(fAODfilterbit) && tr->Pt() < ptup && tr->Pt() > ptlow && tr->Eta() < etaup && tr->Eta() > etalow && tr->GetTPCNcls() > ntpc){
			tracklist->Add(tr);
			}
		}
		maxID = maxid1;
	}
	delete fEPESDtrackCuts;
	if(!tracklist)AliError("No tracklist");
	return tracklist;
}

//____________________________________________________________________________
Bool_t AliAnalysisTaskPi0v2::GetTPCEventPlane(){

	if(fEP){
		delete fEP;
		fEP=NULL;
	}
	fEP=new AliEventplane();

	float mQx=0, mQy=0;
	float mQx1=0, mQy1=0, mQx2=0, mQy2=0;
	AliVTrack* track;
	Double_t weight;
	Int_t idtemp = -1;
	int trackcounter1=0, trackcounter2=0;

	Int_t maxID=0;

	TObjArray *tracklist=GetEventPlaneTracks(maxID);

	fEP->GetQContributionXArray()->Set(maxID);
	fEP->GetQContributionYArray()->Set(maxID);
	fEP->GetQContributionXArraysub1()->Set(maxID);
	fEP->GetQContributionYArraysub1()->Set(maxID);
	fEP->GetQContributionXArraysub2()->Set(maxID);
	fEP->GetQContributionYArraysub2()->Set(maxID);

	int nt = tracklist->GetEntries();
	for (int i=0; i<nt; i++){
		weight = 1;
		track = dynamic_cast<AliVTrack*> (tracklist->At(i));
		if (track) {
			// Fill Eta Distribution
			hEtaTPCEP->Fill(fCentrality,track->Eta());

			weight=GetWeight(track);
			idtemp = track->GetID();
			// TPC only tracks have negative id ((-1)*IDESD - 1) in AOD
			if (fIsAOD && (fUseTPCOnlyTracks)) idtemp = idtemp*(-1) - 1;

			Double_t qx=weight*cos(Double_t(fHarmonic)*track->Phi());
			Double_t qy=weight*sin(Double_t(fHarmonic)*track->Phi());
			fEP->GetQContributionXArray()->AddAt(qx,idtemp);
			fEP->GetQContributionYArray()->AddAt(qy,idtemp);

			mQx += (qx);
			mQy += (qy);

			// This loop splits the track set into 2 random subsets
			if( trackcounter1 < int(nt/2.) && trackcounter2 < int(nt/2.)){
				float random = fRandomizer->Rndm();
				if(random < .5){
					mQx1 += (qx);
					mQy1 += (qy);
					fEP->GetQContributionXArraysub1()->AddAt(qx,idtemp);
					fEP->GetQContributionYArraysub1()->AddAt(qy,idtemp);
					trackcounter1++;
				} else {
					mQx2 += (qx);
					mQy2 += (qy);
					fEP->GetQContributionXArraysub2()->AddAt(qx,idtemp);
					fEP->GetQContributionYArraysub2()->AddAt(qy,idtemp);
					trackcounter2++;
				}
			} else{
				if( trackcounter1 >= int(nt/2.)){
					mQx2 += (qx);
					mQy2 += (qy);
					fEP->GetQContributionXArraysub2()->AddAt(qx,idtemp);
					fEP->GetQContributionYArraysub2()->AddAt(qy,idtemp);
					trackcounter2++;
				} else {
					mQx1 += (qx);
					mQy1 += (qy);
					fEP->GetQContributionXArraysub1()->AddAt(qx,idtemp);
					fEP->GetQContributionYArraysub1()->AddAt(qy,idtemp);
					trackcounter1++;
				}
			}
		}
	}

	tracklist->Clear();
	delete tracklist;
	tracklist = NULL;

	TVector2 *mQ=new TVector2();
	mQ->Set(mQx,mQy);
	Double_t EPAngle=mQ->Phi()/Double_t(fHarmonic);

	TVector2 *fQsub1=new TVector2();
	TVector2 *fQsub2=new TVector2();
	fQsub1->Set(mQx1,mQy1);
	fQsub2->Set(mQx2,mQy2);

	fEP->SetQVector(mQ);
	fEP->SetEventplaneQ(EPAngle);
	fEP->SetQsub(fQsub1,fQsub2);
	fEP->SetQsubRes(fQsub1->Phi()/Double_t(fHarmonic) - fQsub2->Phi()/Double_t(fHarmonic));

	Int_t ntracks=trackcounter1+trackcounter2;

	//AliEventplane *ep=fInputEvent->GetEventplane();
	//if(fHarmonic==2)cout<<ep->GetQVector()->Phi()<<" "<<fEP->GetQVector()->Phi()<<endl;

	if(ntracks<3)return kFALSE;// <3 -> no subevents
	return kTRUE;
}

//____________________________________________________________________________
void AliAnalysisTaskPi0v2::SetFlatteningCoeff(EEventPlane ep,Int_t period,Int_t nCent,Double_t *cc2,Double_t *cs2,Double_t *cc4,Double_t *cs4){

	if(nCent>knCentMax){AliError("Exceeds available Slots");return;}
	if(ep>=knEP||ep<0){AliError("Unknown EPMethod");return;}
	if(period>=knFlatPeriod||period<0){AliError("Unknown EPMethod");return;}

	for(Int_t ic=0;ic<nCent;ic++){
		fFlatc2[period][ep][ic]=cc2[ic];
		fFlats2[period][ep][ic]=cs2[ic];
		fFlatc4[period][ep][ic]=cc4[ic];
		fFlats4[period][ep][ic]=cs4[ic];
	}
}

//____________________________________________________________________________
Int_t AliAnalysisTaskPi0v2::GetPeriodIndex(TString period){

	if(period.CompareTo("LHC10h")==0)return 0;
	if(period.CompareTo("LHC11h")==0)return 1;

	return -1;
}

//____________________________________________________________________________
Double_t AliAnalysisTaskPi0v2::ApplyFlattening(Double_t phi,EEventPlane ep){

	Double_t newphi=phi;

	if(fPeriodIndex>=0){
		Double_t c2=fFlatc2[fPeriodIndex][Int_t(ep)][fCentralityBin];
		Double_t s2=fFlats2[fPeriodIndex][Int_t(ep)][fCentralityBin];
		Double_t c4=fFlatc4[fPeriodIndex][Int_t(ep)][fCentralityBin];
		Double_t s4=fFlats4[fPeriodIndex][Int_t(ep)][fCentralityBin];

		// Do correction
		newphi+=1/Double_t(fHarmonic)*(2*c2*sin(Double_t(fHarmonic)*phi)-2*s2*cos(Double_t(fHarmonic)*phi)+c4*sin(2*Double_t(fHarmonic)*phi)-s4*cos(2*Double_t(fHarmonic)*phi));
		newphi=GetPsiInRange(newphi);

	}

	return newphi;
}

//________________________________________________________________________
Double_t AliAnalysisTaskPi0v2::GetWeight(TObject* track1)
{
	Double_t ptweight=1;
	AliVTrack* track = dynamic_cast<AliVTrack*>(track1);
	if (track) {
		if (track->Pt()<2) ptweight=track->Pt();
		else ptweight=2;
	}
	return ptweight*GetPhiWeight(track);
}

//________________________________________________________________________
Double_t AliAnalysisTaskPi0v2::GetPhiWeight(TObject* track1)
{
	Double_t phiweight=1;
	AliVTrack* track = dynamic_cast<AliVTrack*>(track1);

	TH1F *phiDist = 0x0;
	if(track) phiDist = SelectPhiDist(track);

	if (phiDist && track) {
		Double_t nParticles = phiDist->Integral();
		Double_t nPhibins = phiDist->GetNbinsX();

		Double_t Phi = track->Phi();

		while (Phi<0) Phi += TMath::TwoPi();
		while (Phi>TMath::TwoPi()) Phi -= TMath::TwoPi();

		Double_t PhiDistValue = phiDist->GetBinContent(1+TMath::FloorNint((track->Phi())*nPhibins/TMath::TwoPi()));

		if (PhiDistValue > 0) phiweight = nParticles/nPhibins/PhiDistValue;
	}
	return phiweight;
}

//_________________________________________________________________________
TH1F* AliAnalysisTaskPi0v2::SelectPhiDist(AliVTrack *track)
{ 
	if (fPeriod.CompareTo("LHC10h")==0) return fPhiDist[0];
	else if(fPeriod.CompareTo("LHC11h")==0){
		if (track->Charge() < 0){
		if(track->Eta() < 0.)       return fPhiDist[0];
		else if (track->Eta() > 0.) return fPhiDist[2];
		}
		else if (track->Charge() > 0){
		if(track->Eta() < 0.)       return fPhiDist[1];
		else if (track->Eta() > 0.) return fPhiDist[3];
		}
	}
	return 0;
}
 AliAnalysisTaskPi0v2.cxx:1
 AliAnalysisTaskPi0v2.cxx:2
 AliAnalysisTaskPi0v2.cxx:3
 AliAnalysisTaskPi0v2.cxx:4
 AliAnalysisTaskPi0v2.cxx:5
 AliAnalysisTaskPi0v2.cxx:6
 AliAnalysisTaskPi0v2.cxx:7
 AliAnalysisTaskPi0v2.cxx:8
 AliAnalysisTaskPi0v2.cxx:9
 AliAnalysisTaskPi0v2.cxx:10
 AliAnalysisTaskPi0v2.cxx:11
 AliAnalysisTaskPi0v2.cxx:12
 AliAnalysisTaskPi0v2.cxx:13
 AliAnalysisTaskPi0v2.cxx:14
 AliAnalysisTaskPi0v2.cxx:15
 AliAnalysisTaskPi0v2.cxx:16
 AliAnalysisTaskPi0v2.cxx:17
 AliAnalysisTaskPi0v2.cxx:18
 AliAnalysisTaskPi0v2.cxx:19
 AliAnalysisTaskPi0v2.cxx:20
 AliAnalysisTaskPi0v2.cxx:21
 AliAnalysisTaskPi0v2.cxx:22
 AliAnalysisTaskPi0v2.cxx:23
 AliAnalysisTaskPi0v2.cxx:24
 AliAnalysisTaskPi0v2.cxx:25
 AliAnalysisTaskPi0v2.cxx:26
 AliAnalysisTaskPi0v2.cxx:27
 AliAnalysisTaskPi0v2.cxx:28
 AliAnalysisTaskPi0v2.cxx:29
 AliAnalysisTaskPi0v2.cxx:30
 AliAnalysisTaskPi0v2.cxx:31
 AliAnalysisTaskPi0v2.cxx:32
 AliAnalysisTaskPi0v2.cxx:33
 AliAnalysisTaskPi0v2.cxx:34
 AliAnalysisTaskPi0v2.cxx:35
 AliAnalysisTaskPi0v2.cxx:36
 AliAnalysisTaskPi0v2.cxx:37
 AliAnalysisTaskPi0v2.cxx:38
 AliAnalysisTaskPi0v2.cxx:39
 AliAnalysisTaskPi0v2.cxx:40
 AliAnalysisTaskPi0v2.cxx:41
 AliAnalysisTaskPi0v2.cxx:42
 AliAnalysisTaskPi0v2.cxx:43
 AliAnalysisTaskPi0v2.cxx:44
 AliAnalysisTaskPi0v2.cxx:45
 AliAnalysisTaskPi0v2.cxx:46
 AliAnalysisTaskPi0v2.cxx:47
 AliAnalysisTaskPi0v2.cxx:48
 AliAnalysisTaskPi0v2.cxx:49
 AliAnalysisTaskPi0v2.cxx:50
 AliAnalysisTaskPi0v2.cxx:51
 AliAnalysisTaskPi0v2.cxx:52
 AliAnalysisTaskPi0v2.cxx:53
 AliAnalysisTaskPi0v2.cxx:54
 AliAnalysisTaskPi0v2.cxx:55
 AliAnalysisTaskPi0v2.cxx:56
 AliAnalysisTaskPi0v2.cxx:57
 AliAnalysisTaskPi0v2.cxx:58
 AliAnalysisTaskPi0v2.cxx:59
 AliAnalysisTaskPi0v2.cxx:60
 AliAnalysisTaskPi0v2.cxx:61
 AliAnalysisTaskPi0v2.cxx:62
 AliAnalysisTaskPi0v2.cxx:63
 AliAnalysisTaskPi0v2.cxx:64
 AliAnalysisTaskPi0v2.cxx:65
 AliAnalysisTaskPi0v2.cxx:66
 AliAnalysisTaskPi0v2.cxx:67
 AliAnalysisTaskPi0v2.cxx:68
 AliAnalysisTaskPi0v2.cxx:69
 AliAnalysisTaskPi0v2.cxx:70
 AliAnalysisTaskPi0v2.cxx:71
 AliAnalysisTaskPi0v2.cxx:72
 AliAnalysisTaskPi0v2.cxx:73
 AliAnalysisTaskPi0v2.cxx:74
 AliAnalysisTaskPi0v2.cxx:75
 AliAnalysisTaskPi0v2.cxx:76
 AliAnalysisTaskPi0v2.cxx:77
 AliAnalysisTaskPi0v2.cxx:78
 AliAnalysisTaskPi0v2.cxx:79
 AliAnalysisTaskPi0v2.cxx:80
 AliAnalysisTaskPi0v2.cxx:81
 AliAnalysisTaskPi0v2.cxx:82
 AliAnalysisTaskPi0v2.cxx:83
 AliAnalysisTaskPi0v2.cxx:84
 AliAnalysisTaskPi0v2.cxx:85
 AliAnalysisTaskPi0v2.cxx:86
 AliAnalysisTaskPi0v2.cxx:87
 AliAnalysisTaskPi0v2.cxx:88
 AliAnalysisTaskPi0v2.cxx:89
 AliAnalysisTaskPi0v2.cxx:90
 AliAnalysisTaskPi0v2.cxx:91
 AliAnalysisTaskPi0v2.cxx:92
 AliAnalysisTaskPi0v2.cxx:93
 AliAnalysisTaskPi0v2.cxx:94
 AliAnalysisTaskPi0v2.cxx:95
 AliAnalysisTaskPi0v2.cxx:96
 AliAnalysisTaskPi0v2.cxx:97
 AliAnalysisTaskPi0v2.cxx:98
 AliAnalysisTaskPi0v2.cxx:99
 AliAnalysisTaskPi0v2.cxx:100
 AliAnalysisTaskPi0v2.cxx:101
 AliAnalysisTaskPi0v2.cxx:102
 AliAnalysisTaskPi0v2.cxx:103
 AliAnalysisTaskPi0v2.cxx:104
 AliAnalysisTaskPi0v2.cxx:105
 AliAnalysisTaskPi0v2.cxx:106
 AliAnalysisTaskPi0v2.cxx:107
 AliAnalysisTaskPi0v2.cxx:108
 AliAnalysisTaskPi0v2.cxx:109
 AliAnalysisTaskPi0v2.cxx:110
 AliAnalysisTaskPi0v2.cxx:111
 AliAnalysisTaskPi0v2.cxx:112
 AliAnalysisTaskPi0v2.cxx:113
 AliAnalysisTaskPi0v2.cxx:114
 AliAnalysisTaskPi0v2.cxx:115
 AliAnalysisTaskPi0v2.cxx:116
 AliAnalysisTaskPi0v2.cxx:117
 AliAnalysisTaskPi0v2.cxx:118
 AliAnalysisTaskPi0v2.cxx:119
 AliAnalysisTaskPi0v2.cxx:120
 AliAnalysisTaskPi0v2.cxx:121
 AliAnalysisTaskPi0v2.cxx:122
 AliAnalysisTaskPi0v2.cxx:123
 AliAnalysisTaskPi0v2.cxx:124
 AliAnalysisTaskPi0v2.cxx:125
 AliAnalysisTaskPi0v2.cxx:126
 AliAnalysisTaskPi0v2.cxx:127
 AliAnalysisTaskPi0v2.cxx:128
 AliAnalysisTaskPi0v2.cxx:129
 AliAnalysisTaskPi0v2.cxx:130
 AliAnalysisTaskPi0v2.cxx:131
 AliAnalysisTaskPi0v2.cxx:132
 AliAnalysisTaskPi0v2.cxx:133
 AliAnalysisTaskPi0v2.cxx:134
 AliAnalysisTaskPi0v2.cxx:135
 AliAnalysisTaskPi0v2.cxx:136
 AliAnalysisTaskPi0v2.cxx:137
 AliAnalysisTaskPi0v2.cxx:138
 AliAnalysisTaskPi0v2.cxx:139
 AliAnalysisTaskPi0v2.cxx:140
 AliAnalysisTaskPi0v2.cxx:141
 AliAnalysisTaskPi0v2.cxx:142
 AliAnalysisTaskPi0v2.cxx:143
 AliAnalysisTaskPi0v2.cxx:144
 AliAnalysisTaskPi0v2.cxx:145
 AliAnalysisTaskPi0v2.cxx:146
 AliAnalysisTaskPi0v2.cxx:147
 AliAnalysisTaskPi0v2.cxx:148
 AliAnalysisTaskPi0v2.cxx:149
 AliAnalysisTaskPi0v2.cxx:150
 AliAnalysisTaskPi0v2.cxx:151
 AliAnalysisTaskPi0v2.cxx:152
 AliAnalysisTaskPi0v2.cxx:153
 AliAnalysisTaskPi0v2.cxx:154
 AliAnalysisTaskPi0v2.cxx:155
 AliAnalysisTaskPi0v2.cxx:156
 AliAnalysisTaskPi0v2.cxx:157
 AliAnalysisTaskPi0v2.cxx:158
 AliAnalysisTaskPi0v2.cxx:159
 AliAnalysisTaskPi0v2.cxx:160
 AliAnalysisTaskPi0v2.cxx:161
 AliAnalysisTaskPi0v2.cxx:162
 AliAnalysisTaskPi0v2.cxx:163
 AliAnalysisTaskPi0v2.cxx:164
 AliAnalysisTaskPi0v2.cxx:165
 AliAnalysisTaskPi0v2.cxx:166
 AliAnalysisTaskPi0v2.cxx:167
 AliAnalysisTaskPi0v2.cxx:168
 AliAnalysisTaskPi0v2.cxx:169
 AliAnalysisTaskPi0v2.cxx:170
 AliAnalysisTaskPi0v2.cxx:171
 AliAnalysisTaskPi0v2.cxx:172
 AliAnalysisTaskPi0v2.cxx:173
 AliAnalysisTaskPi0v2.cxx:174
 AliAnalysisTaskPi0v2.cxx:175
 AliAnalysisTaskPi0v2.cxx:176
 AliAnalysisTaskPi0v2.cxx:177
 AliAnalysisTaskPi0v2.cxx:178
 AliAnalysisTaskPi0v2.cxx:179
 AliAnalysisTaskPi0v2.cxx:180
 AliAnalysisTaskPi0v2.cxx:181
 AliAnalysisTaskPi0v2.cxx:182
 AliAnalysisTaskPi0v2.cxx:183
 AliAnalysisTaskPi0v2.cxx:184
 AliAnalysisTaskPi0v2.cxx:185
 AliAnalysisTaskPi0v2.cxx:186
 AliAnalysisTaskPi0v2.cxx:187
 AliAnalysisTaskPi0v2.cxx:188
 AliAnalysisTaskPi0v2.cxx:189
 AliAnalysisTaskPi0v2.cxx:190
 AliAnalysisTaskPi0v2.cxx:191
 AliAnalysisTaskPi0v2.cxx:192
 AliAnalysisTaskPi0v2.cxx:193
 AliAnalysisTaskPi0v2.cxx:194
 AliAnalysisTaskPi0v2.cxx:195
 AliAnalysisTaskPi0v2.cxx:196
 AliAnalysisTaskPi0v2.cxx:197
 AliAnalysisTaskPi0v2.cxx:198
 AliAnalysisTaskPi0v2.cxx:199
 AliAnalysisTaskPi0v2.cxx:200
 AliAnalysisTaskPi0v2.cxx:201
 AliAnalysisTaskPi0v2.cxx:202
 AliAnalysisTaskPi0v2.cxx:203
 AliAnalysisTaskPi0v2.cxx:204
 AliAnalysisTaskPi0v2.cxx:205
 AliAnalysisTaskPi0v2.cxx:206
 AliAnalysisTaskPi0v2.cxx:207
 AliAnalysisTaskPi0v2.cxx:208
 AliAnalysisTaskPi0v2.cxx:209
 AliAnalysisTaskPi0v2.cxx:210
 AliAnalysisTaskPi0v2.cxx:211
 AliAnalysisTaskPi0v2.cxx:212
 AliAnalysisTaskPi0v2.cxx:213
 AliAnalysisTaskPi0v2.cxx:214
 AliAnalysisTaskPi0v2.cxx:215
 AliAnalysisTaskPi0v2.cxx:216
 AliAnalysisTaskPi0v2.cxx:217
 AliAnalysisTaskPi0v2.cxx:218
 AliAnalysisTaskPi0v2.cxx:219
 AliAnalysisTaskPi0v2.cxx:220
 AliAnalysisTaskPi0v2.cxx:221
 AliAnalysisTaskPi0v2.cxx:222
 AliAnalysisTaskPi0v2.cxx:223
 AliAnalysisTaskPi0v2.cxx:224
 AliAnalysisTaskPi0v2.cxx:225
 AliAnalysisTaskPi0v2.cxx:226
 AliAnalysisTaskPi0v2.cxx:227
 AliAnalysisTaskPi0v2.cxx:228
 AliAnalysisTaskPi0v2.cxx:229
 AliAnalysisTaskPi0v2.cxx:230
 AliAnalysisTaskPi0v2.cxx:231
 AliAnalysisTaskPi0v2.cxx:232
 AliAnalysisTaskPi0v2.cxx:233
 AliAnalysisTaskPi0v2.cxx:234
 AliAnalysisTaskPi0v2.cxx:235
 AliAnalysisTaskPi0v2.cxx:236
 AliAnalysisTaskPi0v2.cxx:237
 AliAnalysisTaskPi0v2.cxx:238
 AliAnalysisTaskPi0v2.cxx:239
 AliAnalysisTaskPi0v2.cxx:240
 AliAnalysisTaskPi0v2.cxx:241
 AliAnalysisTaskPi0v2.cxx:242
 AliAnalysisTaskPi0v2.cxx:243
 AliAnalysisTaskPi0v2.cxx:244
 AliAnalysisTaskPi0v2.cxx:245
 AliAnalysisTaskPi0v2.cxx:246
 AliAnalysisTaskPi0v2.cxx:247
 AliAnalysisTaskPi0v2.cxx:248
 AliAnalysisTaskPi0v2.cxx:249
 AliAnalysisTaskPi0v2.cxx:250
 AliAnalysisTaskPi0v2.cxx:251
 AliAnalysisTaskPi0v2.cxx:252
 AliAnalysisTaskPi0v2.cxx:253
 AliAnalysisTaskPi0v2.cxx:254
 AliAnalysisTaskPi0v2.cxx:255
 AliAnalysisTaskPi0v2.cxx:256
 AliAnalysisTaskPi0v2.cxx:257
 AliAnalysisTaskPi0v2.cxx:258
 AliAnalysisTaskPi0v2.cxx:259
 AliAnalysisTaskPi0v2.cxx:260
 AliAnalysisTaskPi0v2.cxx:261
 AliAnalysisTaskPi0v2.cxx:262
 AliAnalysisTaskPi0v2.cxx:263
 AliAnalysisTaskPi0v2.cxx:264
 AliAnalysisTaskPi0v2.cxx:265
 AliAnalysisTaskPi0v2.cxx:266
 AliAnalysisTaskPi0v2.cxx:267
 AliAnalysisTaskPi0v2.cxx:268
 AliAnalysisTaskPi0v2.cxx:269
 AliAnalysisTaskPi0v2.cxx:270
 AliAnalysisTaskPi0v2.cxx:271
 AliAnalysisTaskPi0v2.cxx:272
 AliAnalysisTaskPi0v2.cxx:273
 AliAnalysisTaskPi0v2.cxx:274
 AliAnalysisTaskPi0v2.cxx:275
 AliAnalysisTaskPi0v2.cxx:276
 AliAnalysisTaskPi0v2.cxx:277
 AliAnalysisTaskPi0v2.cxx:278
 AliAnalysisTaskPi0v2.cxx:279
 AliAnalysisTaskPi0v2.cxx:280
 AliAnalysisTaskPi0v2.cxx:281
 AliAnalysisTaskPi0v2.cxx:282
 AliAnalysisTaskPi0v2.cxx:283
 AliAnalysisTaskPi0v2.cxx:284
 AliAnalysisTaskPi0v2.cxx:285
 AliAnalysisTaskPi0v2.cxx:286
 AliAnalysisTaskPi0v2.cxx:287
 AliAnalysisTaskPi0v2.cxx:288
 AliAnalysisTaskPi0v2.cxx:289
 AliAnalysisTaskPi0v2.cxx:290
 AliAnalysisTaskPi0v2.cxx:291
 AliAnalysisTaskPi0v2.cxx:292
 AliAnalysisTaskPi0v2.cxx:293
 AliAnalysisTaskPi0v2.cxx:294
 AliAnalysisTaskPi0v2.cxx:295
 AliAnalysisTaskPi0v2.cxx:296
 AliAnalysisTaskPi0v2.cxx:297
 AliAnalysisTaskPi0v2.cxx:298
 AliAnalysisTaskPi0v2.cxx:299
 AliAnalysisTaskPi0v2.cxx:300
 AliAnalysisTaskPi0v2.cxx:301
 AliAnalysisTaskPi0v2.cxx:302
 AliAnalysisTaskPi0v2.cxx:303
 AliAnalysisTaskPi0v2.cxx:304
 AliAnalysisTaskPi0v2.cxx:305
 AliAnalysisTaskPi0v2.cxx:306
 AliAnalysisTaskPi0v2.cxx:307
 AliAnalysisTaskPi0v2.cxx:308
 AliAnalysisTaskPi0v2.cxx:309
 AliAnalysisTaskPi0v2.cxx:310
 AliAnalysisTaskPi0v2.cxx:311
 AliAnalysisTaskPi0v2.cxx:312
 AliAnalysisTaskPi0v2.cxx:313
 AliAnalysisTaskPi0v2.cxx:314
 AliAnalysisTaskPi0v2.cxx:315
 AliAnalysisTaskPi0v2.cxx:316
 AliAnalysisTaskPi0v2.cxx:317
 AliAnalysisTaskPi0v2.cxx:318
 AliAnalysisTaskPi0v2.cxx:319
 AliAnalysisTaskPi0v2.cxx:320
 AliAnalysisTaskPi0v2.cxx:321
 AliAnalysisTaskPi0v2.cxx:322
 AliAnalysisTaskPi0v2.cxx:323
 AliAnalysisTaskPi0v2.cxx:324
 AliAnalysisTaskPi0v2.cxx:325
 AliAnalysisTaskPi0v2.cxx:326
 AliAnalysisTaskPi0v2.cxx:327
 AliAnalysisTaskPi0v2.cxx:328
 AliAnalysisTaskPi0v2.cxx:329
 AliAnalysisTaskPi0v2.cxx:330
 AliAnalysisTaskPi0v2.cxx:331
 AliAnalysisTaskPi0v2.cxx:332
 AliAnalysisTaskPi0v2.cxx:333
 AliAnalysisTaskPi0v2.cxx:334
 AliAnalysisTaskPi0v2.cxx:335
 AliAnalysisTaskPi0v2.cxx:336
 AliAnalysisTaskPi0v2.cxx:337
 AliAnalysisTaskPi0v2.cxx:338
 AliAnalysisTaskPi0v2.cxx:339
 AliAnalysisTaskPi0v2.cxx:340
 AliAnalysisTaskPi0v2.cxx:341
 AliAnalysisTaskPi0v2.cxx:342
 AliAnalysisTaskPi0v2.cxx:343
 AliAnalysisTaskPi0v2.cxx:344
 AliAnalysisTaskPi0v2.cxx:345
 AliAnalysisTaskPi0v2.cxx:346
 AliAnalysisTaskPi0v2.cxx:347
 AliAnalysisTaskPi0v2.cxx:348
 AliAnalysisTaskPi0v2.cxx:349
 AliAnalysisTaskPi0v2.cxx:350
 AliAnalysisTaskPi0v2.cxx:351
 AliAnalysisTaskPi0v2.cxx:352
 AliAnalysisTaskPi0v2.cxx:353
 AliAnalysisTaskPi0v2.cxx:354
 AliAnalysisTaskPi0v2.cxx:355
 AliAnalysisTaskPi0v2.cxx:356
 AliAnalysisTaskPi0v2.cxx:357
 AliAnalysisTaskPi0v2.cxx:358
 AliAnalysisTaskPi0v2.cxx:359
 AliAnalysisTaskPi0v2.cxx:360
 AliAnalysisTaskPi0v2.cxx:361
 AliAnalysisTaskPi0v2.cxx:362
 AliAnalysisTaskPi0v2.cxx:363
 AliAnalysisTaskPi0v2.cxx:364
 AliAnalysisTaskPi0v2.cxx:365
 AliAnalysisTaskPi0v2.cxx:366
 AliAnalysisTaskPi0v2.cxx:367
 AliAnalysisTaskPi0v2.cxx:368
 AliAnalysisTaskPi0v2.cxx:369
 AliAnalysisTaskPi0v2.cxx:370
 AliAnalysisTaskPi0v2.cxx:371
 AliAnalysisTaskPi0v2.cxx:372
 AliAnalysisTaskPi0v2.cxx:373
 AliAnalysisTaskPi0v2.cxx:374
 AliAnalysisTaskPi0v2.cxx:375
 AliAnalysisTaskPi0v2.cxx:376
 AliAnalysisTaskPi0v2.cxx:377
 AliAnalysisTaskPi0v2.cxx:378
 AliAnalysisTaskPi0v2.cxx:379
 AliAnalysisTaskPi0v2.cxx:380
 AliAnalysisTaskPi0v2.cxx:381
 AliAnalysisTaskPi0v2.cxx:382
 AliAnalysisTaskPi0v2.cxx:383
 AliAnalysisTaskPi0v2.cxx:384
 AliAnalysisTaskPi0v2.cxx:385
 AliAnalysisTaskPi0v2.cxx:386
 AliAnalysisTaskPi0v2.cxx:387
 AliAnalysisTaskPi0v2.cxx:388
 AliAnalysisTaskPi0v2.cxx:389
 AliAnalysisTaskPi0v2.cxx:390
 AliAnalysisTaskPi0v2.cxx:391
 AliAnalysisTaskPi0v2.cxx:392
 AliAnalysisTaskPi0v2.cxx:393
 AliAnalysisTaskPi0v2.cxx:394
 AliAnalysisTaskPi0v2.cxx:395
 AliAnalysisTaskPi0v2.cxx:396
 AliAnalysisTaskPi0v2.cxx:397
 AliAnalysisTaskPi0v2.cxx:398
 AliAnalysisTaskPi0v2.cxx:399
 AliAnalysisTaskPi0v2.cxx:400
 AliAnalysisTaskPi0v2.cxx:401
 AliAnalysisTaskPi0v2.cxx:402
 AliAnalysisTaskPi0v2.cxx:403
 AliAnalysisTaskPi0v2.cxx:404
 AliAnalysisTaskPi0v2.cxx:405
 AliAnalysisTaskPi0v2.cxx:406
 AliAnalysisTaskPi0v2.cxx:407
 AliAnalysisTaskPi0v2.cxx:408
 AliAnalysisTaskPi0v2.cxx:409
 AliAnalysisTaskPi0v2.cxx:410
 AliAnalysisTaskPi0v2.cxx:411
 AliAnalysisTaskPi0v2.cxx:412
 AliAnalysisTaskPi0v2.cxx:413
 AliAnalysisTaskPi0v2.cxx:414
 AliAnalysisTaskPi0v2.cxx:415
 AliAnalysisTaskPi0v2.cxx:416
 AliAnalysisTaskPi0v2.cxx:417
 AliAnalysisTaskPi0v2.cxx:418
 AliAnalysisTaskPi0v2.cxx:419
 AliAnalysisTaskPi0v2.cxx:420
 AliAnalysisTaskPi0v2.cxx:421
 AliAnalysisTaskPi0v2.cxx:422
 AliAnalysisTaskPi0v2.cxx:423
 AliAnalysisTaskPi0v2.cxx:424
 AliAnalysisTaskPi0v2.cxx:425
 AliAnalysisTaskPi0v2.cxx:426
 AliAnalysisTaskPi0v2.cxx:427
 AliAnalysisTaskPi0v2.cxx:428
 AliAnalysisTaskPi0v2.cxx:429
 AliAnalysisTaskPi0v2.cxx:430
 AliAnalysisTaskPi0v2.cxx:431
 AliAnalysisTaskPi0v2.cxx:432
 AliAnalysisTaskPi0v2.cxx:433
 AliAnalysisTaskPi0v2.cxx:434
 AliAnalysisTaskPi0v2.cxx:435
 AliAnalysisTaskPi0v2.cxx:436
 AliAnalysisTaskPi0v2.cxx:437
 AliAnalysisTaskPi0v2.cxx:438
 AliAnalysisTaskPi0v2.cxx:439
 AliAnalysisTaskPi0v2.cxx:440
 AliAnalysisTaskPi0v2.cxx:441
 AliAnalysisTaskPi0v2.cxx:442
 AliAnalysisTaskPi0v2.cxx:443
 AliAnalysisTaskPi0v2.cxx:444
 AliAnalysisTaskPi0v2.cxx:445
 AliAnalysisTaskPi0v2.cxx:446
 AliAnalysisTaskPi0v2.cxx:447
 AliAnalysisTaskPi0v2.cxx:448
 AliAnalysisTaskPi0v2.cxx:449
 AliAnalysisTaskPi0v2.cxx:450
 AliAnalysisTaskPi0v2.cxx:451
 AliAnalysisTaskPi0v2.cxx:452
 AliAnalysisTaskPi0v2.cxx:453
 AliAnalysisTaskPi0v2.cxx:454
 AliAnalysisTaskPi0v2.cxx:455
 AliAnalysisTaskPi0v2.cxx:456
 AliAnalysisTaskPi0v2.cxx:457
 AliAnalysisTaskPi0v2.cxx:458
 AliAnalysisTaskPi0v2.cxx:459
 AliAnalysisTaskPi0v2.cxx:460
 AliAnalysisTaskPi0v2.cxx:461
 AliAnalysisTaskPi0v2.cxx:462
 AliAnalysisTaskPi0v2.cxx:463
 AliAnalysisTaskPi0v2.cxx:464
 AliAnalysisTaskPi0v2.cxx:465
 AliAnalysisTaskPi0v2.cxx:466
 AliAnalysisTaskPi0v2.cxx:467
 AliAnalysisTaskPi0v2.cxx:468
 AliAnalysisTaskPi0v2.cxx:469
 AliAnalysisTaskPi0v2.cxx:470
 AliAnalysisTaskPi0v2.cxx:471
 AliAnalysisTaskPi0v2.cxx:472
 AliAnalysisTaskPi0v2.cxx:473
 AliAnalysisTaskPi0v2.cxx:474
 AliAnalysisTaskPi0v2.cxx:475
 AliAnalysisTaskPi0v2.cxx:476
 AliAnalysisTaskPi0v2.cxx:477
 AliAnalysisTaskPi0v2.cxx:478
 AliAnalysisTaskPi0v2.cxx:479
 AliAnalysisTaskPi0v2.cxx:480
 AliAnalysisTaskPi0v2.cxx:481
 AliAnalysisTaskPi0v2.cxx:482
 AliAnalysisTaskPi0v2.cxx:483
 AliAnalysisTaskPi0v2.cxx:484
 AliAnalysisTaskPi0v2.cxx:485
 AliAnalysisTaskPi0v2.cxx:486
 AliAnalysisTaskPi0v2.cxx:487
 AliAnalysisTaskPi0v2.cxx:488
 AliAnalysisTaskPi0v2.cxx:489
 AliAnalysisTaskPi0v2.cxx:490
 AliAnalysisTaskPi0v2.cxx:491
 AliAnalysisTaskPi0v2.cxx:492
 AliAnalysisTaskPi0v2.cxx:493
 AliAnalysisTaskPi0v2.cxx:494
 AliAnalysisTaskPi0v2.cxx:495
 AliAnalysisTaskPi0v2.cxx:496
 AliAnalysisTaskPi0v2.cxx:497
 AliAnalysisTaskPi0v2.cxx:498
 AliAnalysisTaskPi0v2.cxx:499
 AliAnalysisTaskPi0v2.cxx:500
 AliAnalysisTaskPi0v2.cxx:501
 AliAnalysisTaskPi0v2.cxx:502
 AliAnalysisTaskPi0v2.cxx:503
 AliAnalysisTaskPi0v2.cxx:504
 AliAnalysisTaskPi0v2.cxx:505
 AliAnalysisTaskPi0v2.cxx:506
 AliAnalysisTaskPi0v2.cxx:507
 AliAnalysisTaskPi0v2.cxx:508
 AliAnalysisTaskPi0v2.cxx:509
 AliAnalysisTaskPi0v2.cxx:510
 AliAnalysisTaskPi0v2.cxx:511
 AliAnalysisTaskPi0v2.cxx:512
 AliAnalysisTaskPi0v2.cxx:513
 AliAnalysisTaskPi0v2.cxx:514
 AliAnalysisTaskPi0v2.cxx:515
 AliAnalysisTaskPi0v2.cxx:516
 AliAnalysisTaskPi0v2.cxx:517
 AliAnalysisTaskPi0v2.cxx:518
 AliAnalysisTaskPi0v2.cxx:519
 AliAnalysisTaskPi0v2.cxx:520
 AliAnalysisTaskPi0v2.cxx:521
 AliAnalysisTaskPi0v2.cxx:522
 AliAnalysisTaskPi0v2.cxx:523
 AliAnalysisTaskPi0v2.cxx:524
 AliAnalysisTaskPi0v2.cxx:525
 AliAnalysisTaskPi0v2.cxx:526
 AliAnalysisTaskPi0v2.cxx:527
 AliAnalysisTaskPi0v2.cxx:528
 AliAnalysisTaskPi0v2.cxx:529
 AliAnalysisTaskPi0v2.cxx:530
 AliAnalysisTaskPi0v2.cxx:531
 AliAnalysisTaskPi0v2.cxx:532
 AliAnalysisTaskPi0v2.cxx:533
 AliAnalysisTaskPi0v2.cxx:534
 AliAnalysisTaskPi0v2.cxx:535
 AliAnalysisTaskPi0v2.cxx:536
 AliAnalysisTaskPi0v2.cxx:537
 AliAnalysisTaskPi0v2.cxx:538
 AliAnalysisTaskPi0v2.cxx:539
 AliAnalysisTaskPi0v2.cxx:540
 AliAnalysisTaskPi0v2.cxx:541
 AliAnalysisTaskPi0v2.cxx:542
 AliAnalysisTaskPi0v2.cxx:543
 AliAnalysisTaskPi0v2.cxx:544
 AliAnalysisTaskPi0v2.cxx:545
 AliAnalysisTaskPi0v2.cxx:546
 AliAnalysisTaskPi0v2.cxx:547
 AliAnalysisTaskPi0v2.cxx:548
 AliAnalysisTaskPi0v2.cxx:549
 AliAnalysisTaskPi0v2.cxx:550
 AliAnalysisTaskPi0v2.cxx:551
 AliAnalysisTaskPi0v2.cxx:552
 AliAnalysisTaskPi0v2.cxx:553
 AliAnalysisTaskPi0v2.cxx:554
 AliAnalysisTaskPi0v2.cxx:555
 AliAnalysisTaskPi0v2.cxx:556
 AliAnalysisTaskPi0v2.cxx:557
 AliAnalysisTaskPi0v2.cxx:558
 AliAnalysisTaskPi0v2.cxx:559
 AliAnalysisTaskPi0v2.cxx:560
 AliAnalysisTaskPi0v2.cxx:561
 AliAnalysisTaskPi0v2.cxx:562
 AliAnalysisTaskPi0v2.cxx:563
 AliAnalysisTaskPi0v2.cxx:564
 AliAnalysisTaskPi0v2.cxx:565
 AliAnalysisTaskPi0v2.cxx:566
 AliAnalysisTaskPi0v2.cxx:567
 AliAnalysisTaskPi0v2.cxx:568
 AliAnalysisTaskPi0v2.cxx:569
 AliAnalysisTaskPi0v2.cxx:570
 AliAnalysisTaskPi0v2.cxx:571
 AliAnalysisTaskPi0v2.cxx:572
 AliAnalysisTaskPi0v2.cxx:573
 AliAnalysisTaskPi0v2.cxx:574
 AliAnalysisTaskPi0v2.cxx:575
 AliAnalysisTaskPi0v2.cxx:576
 AliAnalysisTaskPi0v2.cxx:577
 AliAnalysisTaskPi0v2.cxx:578
 AliAnalysisTaskPi0v2.cxx:579
 AliAnalysisTaskPi0v2.cxx:580
 AliAnalysisTaskPi0v2.cxx:581
 AliAnalysisTaskPi0v2.cxx:582
 AliAnalysisTaskPi0v2.cxx:583
 AliAnalysisTaskPi0v2.cxx:584
 AliAnalysisTaskPi0v2.cxx:585
 AliAnalysisTaskPi0v2.cxx:586
 AliAnalysisTaskPi0v2.cxx:587
 AliAnalysisTaskPi0v2.cxx:588
 AliAnalysisTaskPi0v2.cxx:589
 AliAnalysisTaskPi0v2.cxx:590
 AliAnalysisTaskPi0v2.cxx:591
 AliAnalysisTaskPi0v2.cxx:592
 AliAnalysisTaskPi0v2.cxx:593
 AliAnalysisTaskPi0v2.cxx:594
 AliAnalysisTaskPi0v2.cxx:595
 AliAnalysisTaskPi0v2.cxx:596
 AliAnalysisTaskPi0v2.cxx:597
 AliAnalysisTaskPi0v2.cxx:598
 AliAnalysisTaskPi0v2.cxx:599
 AliAnalysisTaskPi0v2.cxx:600
 AliAnalysisTaskPi0v2.cxx:601
 AliAnalysisTaskPi0v2.cxx:602
 AliAnalysisTaskPi0v2.cxx:603
 AliAnalysisTaskPi0v2.cxx:604
 AliAnalysisTaskPi0v2.cxx:605
 AliAnalysisTaskPi0v2.cxx:606
 AliAnalysisTaskPi0v2.cxx:607
 AliAnalysisTaskPi0v2.cxx:608
 AliAnalysisTaskPi0v2.cxx:609
 AliAnalysisTaskPi0v2.cxx:610
 AliAnalysisTaskPi0v2.cxx:611
 AliAnalysisTaskPi0v2.cxx:612
 AliAnalysisTaskPi0v2.cxx:613
 AliAnalysisTaskPi0v2.cxx:614
 AliAnalysisTaskPi0v2.cxx:615
 AliAnalysisTaskPi0v2.cxx:616
 AliAnalysisTaskPi0v2.cxx:617
 AliAnalysisTaskPi0v2.cxx:618
 AliAnalysisTaskPi0v2.cxx:619
 AliAnalysisTaskPi0v2.cxx:620
 AliAnalysisTaskPi0v2.cxx:621
 AliAnalysisTaskPi0v2.cxx:622
 AliAnalysisTaskPi0v2.cxx:623
 AliAnalysisTaskPi0v2.cxx:624
 AliAnalysisTaskPi0v2.cxx:625
 AliAnalysisTaskPi0v2.cxx:626
 AliAnalysisTaskPi0v2.cxx:627
 AliAnalysisTaskPi0v2.cxx:628
 AliAnalysisTaskPi0v2.cxx:629
 AliAnalysisTaskPi0v2.cxx:630
 AliAnalysisTaskPi0v2.cxx:631
 AliAnalysisTaskPi0v2.cxx:632
 AliAnalysisTaskPi0v2.cxx:633
 AliAnalysisTaskPi0v2.cxx:634
 AliAnalysisTaskPi0v2.cxx:635
 AliAnalysisTaskPi0v2.cxx:636
 AliAnalysisTaskPi0v2.cxx:637
 AliAnalysisTaskPi0v2.cxx:638
 AliAnalysisTaskPi0v2.cxx:639
 AliAnalysisTaskPi0v2.cxx:640
 AliAnalysisTaskPi0v2.cxx:641
 AliAnalysisTaskPi0v2.cxx:642
 AliAnalysisTaskPi0v2.cxx:643
 AliAnalysisTaskPi0v2.cxx:644
 AliAnalysisTaskPi0v2.cxx:645
 AliAnalysisTaskPi0v2.cxx:646
 AliAnalysisTaskPi0v2.cxx:647
 AliAnalysisTaskPi0v2.cxx:648
 AliAnalysisTaskPi0v2.cxx:649
 AliAnalysisTaskPi0v2.cxx:650
 AliAnalysisTaskPi0v2.cxx:651
 AliAnalysisTaskPi0v2.cxx:652
 AliAnalysisTaskPi0v2.cxx:653
 AliAnalysisTaskPi0v2.cxx:654
 AliAnalysisTaskPi0v2.cxx:655
 AliAnalysisTaskPi0v2.cxx:656
 AliAnalysisTaskPi0v2.cxx:657
 AliAnalysisTaskPi0v2.cxx:658
 AliAnalysisTaskPi0v2.cxx:659
 AliAnalysisTaskPi0v2.cxx:660
 AliAnalysisTaskPi0v2.cxx:661
 AliAnalysisTaskPi0v2.cxx:662
 AliAnalysisTaskPi0v2.cxx:663
 AliAnalysisTaskPi0v2.cxx:664
 AliAnalysisTaskPi0v2.cxx:665
 AliAnalysisTaskPi0v2.cxx:666
 AliAnalysisTaskPi0v2.cxx:667
 AliAnalysisTaskPi0v2.cxx:668
 AliAnalysisTaskPi0v2.cxx:669
 AliAnalysisTaskPi0v2.cxx:670
 AliAnalysisTaskPi0v2.cxx:671
 AliAnalysisTaskPi0v2.cxx:672
 AliAnalysisTaskPi0v2.cxx:673
 AliAnalysisTaskPi0v2.cxx:674
 AliAnalysisTaskPi0v2.cxx:675
 AliAnalysisTaskPi0v2.cxx:676
 AliAnalysisTaskPi0v2.cxx:677
 AliAnalysisTaskPi0v2.cxx:678
 AliAnalysisTaskPi0v2.cxx:679
 AliAnalysisTaskPi0v2.cxx:680
 AliAnalysisTaskPi0v2.cxx:681
 AliAnalysisTaskPi0v2.cxx:682
 AliAnalysisTaskPi0v2.cxx:683
 AliAnalysisTaskPi0v2.cxx:684
 AliAnalysisTaskPi0v2.cxx:685
 AliAnalysisTaskPi0v2.cxx:686
 AliAnalysisTaskPi0v2.cxx:687
 AliAnalysisTaskPi0v2.cxx:688
 AliAnalysisTaskPi0v2.cxx:689
 AliAnalysisTaskPi0v2.cxx:690
 AliAnalysisTaskPi0v2.cxx:691
 AliAnalysisTaskPi0v2.cxx:692
 AliAnalysisTaskPi0v2.cxx:693
 AliAnalysisTaskPi0v2.cxx:694
 AliAnalysisTaskPi0v2.cxx:695
 AliAnalysisTaskPi0v2.cxx:696
 AliAnalysisTaskPi0v2.cxx:697
 AliAnalysisTaskPi0v2.cxx:698
 AliAnalysisTaskPi0v2.cxx:699
 AliAnalysisTaskPi0v2.cxx:700
 AliAnalysisTaskPi0v2.cxx:701
 AliAnalysisTaskPi0v2.cxx:702
 AliAnalysisTaskPi0v2.cxx:703
 AliAnalysisTaskPi0v2.cxx:704
 AliAnalysisTaskPi0v2.cxx:705
 AliAnalysisTaskPi0v2.cxx:706
 AliAnalysisTaskPi0v2.cxx:707
 AliAnalysisTaskPi0v2.cxx:708
 AliAnalysisTaskPi0v2.cxx:709
 AliAnalysisTaskPi0v2.cxx:710
 AliAnalysisTaskPi0v2.cxx:711
 AliAnalysisTaskPi0v2.cxx:712
 AliAnalysisTaskPi0v2.cxx:713
 AliAnalysisTaskPi0v2.cxx:714
 AliAnalysisTaskPi0v2.cxx:715
 AliAnalysisTaskPi0v2.cxx:716
 AliAnalysisTaskPi0v2.cxx:717
 AliAnalysisTaskPi0v2.cxx:718
 AliAnalysisTaskPi0v2.cxx:719
 AliAnalysisTaskPi0v2.cxx:720
 AliAnalysisTaskPi0v2.cxx:721
 AliAnalysisTaskPi0v2.cxx:722
 AliAnalysisTaskPi0v2.cxx:723
 AliAnalysisTaskPi0v2.cxx:724
 AliAnalysisTaskPi0v2.cxx:725
 AliAnalysisTaskPi0v2.cxx:726
 AliAnalysisTaskPi0v2.cxx:727
 AliAnalysisTaskPi0v2.cxx:728
 AliAnalysisTaskPi0v2.cxx:729
 AliAnalysisTaskPi0v2.cxx:730
 AliAnalysisTaskPi0v2.cxx:731
 AliAnalysisTaskPi0v2.cxx:732
 AliAnalysisTaskPi0v2.cxx:733
 AliAnalysisTaskPi0v2.cxx:734
 AliAnalysisTaskPi0v2.cxx:735
 AliAnalysisTaskPi0v2.cxx:736
 AliAnalysisTaskPi0v2.cxx:737
 AliAnalysisTaskPi0v2.cxx:738
 AliAnalysisTaskPi0v2.cxx:739
 AliAnalysisTaskPi0v2.cxx:740
 AliAnalysisTaskPi0v2.cxx:741
 AliAnalysisTaskPi0v2.cxx:742
 AliAnalysisTaskPi0v2.cxx:743
 AliAnalysisTaskPi0v2.cxx:744
 AliAnalysisTaskPi0v2.cxx:745
 AliAnalysisTaskPi0v2.cxx:746
 AliAnalysisTaskPi0v2.cxx:747
 AliAnalysisTaskPi0v2.cxx:748
 AliAnalysisTaskPi0v2.cxx:749
 AliAnalysisTaskPi0v2.cxx:750
 AliAnalysisTaskPi0v2.cxx:751
 AliAnalysisTaskPi0v2.cxx:752
 AliAnalysisTaskPi0v2.cxx:753
 AliAnalysisTaskPi0v2.cxx:754
 AliAnalysisTaskPi0v2.cxx:755
 AliAnalysisTaskPi0v2.cxx:756
 AliAnalysisTaskPi0v2.cxx:757
 AliAnalysisTaskPi0v2.cxx:758
 AliAnalysisTaskPi0v2.cxx:759
 AliAnalysisTaskPi0v2.cxx:760
 AliAnalysisTaskPi0v2.cxx:761
 AliAnalysisTaskPi0v2.cxx:762
 AliAnalysisTaskPi0v2.cxx:763
 AliAnalysisTaskPi0v2.cxx:764
 AliAnalysisTaskPi0v2.cxx:765
 AliAnalysisTaskPi0v2.cxx:766
 AliAnalysisTaskPi0v2.cxx:767
 AliAnalysisTaskPi0v2.cxx:768
 AliAnalysisTaskPi0v2.cxx:769
 AliAnalysisTaskPi0v2.cxx:770
 AliAnalysisTaskPi0v2.cxx:771
 AliAnalysisTaskPi0v2.cxx:772
 AliAnalysisTaskPi0v2.cxx:773
 AliAnalysisTaskPi0v2.cxx:774
 AliAnalysisTaskPi0v2.cxx:775
 AliAnalysisTaskPi0v2.cxx:776
 AliAnalysisTaskPi0v2.cxx:777
 AliAnalysisTaskPi0v2.cxx:778
 AliAnalysisTaskPi0v2.cxx:779
 AliAnalysisTaskPi0v2.cxx:780
 AliAnalysisTaskPi0v2.cxx:781
 AliAnalysisTaskPi0v2.cxx:782
 AliAnalysisTaskPi0v2.cxx:783
 AliAnalysisTaskPi0v2.cxx:784
 AliAnalysisTaskPi0v2.cxx:785
 AliAnalysisTaskPi0v2.cxx:786
 AliAnalysisTaskPi0v2.cxx:787
 AliAnalysisTaskPi0v2.cxx:788
 AliAnalysisTaskPi0v2.cxx:789
 AliAnalysisTaskPi0v2.cxx:790
 AliAnalysisTaskPi0v2.cxx:791
 AliAnalysisTaskPi0v2.cxx:792
 AliAnalysisTaskPi0v2.cxx:793
 AliAnalysisTaskPi0v2.cxx:794
 AliAnalysisTaskPi0v2.cxx:795
 AliAnalysisTaskPi0v2.cxx:796
 AliAnalysisTaskPi0v2.cxx:797
 AliAnalysisTaskPi0v2.cxx:798
 AliAnalysisTaskPi0v2.cxx:799
 AliAnalysisTaskPi0v2.cxx:800
 AliAnalysisTaskPi0v2.cxx:801
 AliAnalysisTaskPi0v2.cxx:802
 AliAnalysisTaskPi0v2.cxx:803
 AliAnalysisTaskPi0v2.cxx:804
 AliAnalysisTaskPi0v2.cxx:805
 AliAnalysisTaskPi0v2.cxx:806
 AliAnalysisTaskPi0v2.cxx:807
 AliAnalysisTaskPi0v2.cxx:808
 AliAnalysisTaskPi0v2.cxx:809
 AliAnalysisTaskPi0v2.cxx:810
 AliAnalysisTaskPi0v2.cxx:811
 AliAnalysisTaskPi0v2.cxx:812
 AliAnalysisTaskPi0v2.cxx:813
 AliAnalysisTaskPi0v2.cxx:814
 AliAnalysisTaskPi0v2.cxx:815
 AliAnalysisTaskPi0v2.cxx:816
 AliAnalysisTaskPi0v2.cxx:817
 AliAnalysisTaskPi0v2.cxx:818
 AliAnalysisTaskPi0v2.cxx:819
 AliAnalysisTaskPi0v2.cxx:820
 AliAnalysisTaskPi0v2.cxx:821
 AliAnalysisTaskPi0v2.cxx:822
 AliAnalysisTaskPi0v2.cxx:823
 AliAnalysisTaskPi0v2.cxx:824
 AliAnalysisTaskPi0v2.cxx:825
 AliAnalysisTaskPi0v2.cxx:826
 AliAnalysisTaskPi0v2.cxx:827
 AliAnalysisTaskPi0v2.cxx:828
 AliAnalysisTaskPi0v2.cxx:829
 AliAnalysisTaskPi0v2.cxx:830
 AliAnalysisTaskPi0v2.cxx:831
 AliAnalysisTaskPi0v2.cxx:832
 AliAnalysisTaskPi0v2.cxx:833
 AliAnalysisTaskPi0v2.cxx:834
 AliAnalysisTaskPi0v2.cxx:835
 AliAnalysisTaskPi0v2.cxx:836
 AliAnalysisTaskPi0v2.cxx:837
 AliAnalysisTaskPi0v2.cxx:838
 AliAnalysisTaskPi0v2.cxx:839
 AliAnalysisTaskPi0v2.cxx:840
 AliAnalysisTaskPi0v2.cxx:841
 AliAnalysisTaskPi0v2.cxx:842
 AliAnalysisTaskPi0v2.cxx:843
 AliAnalysisTaskPi0v2.cxx:844
 AliAnalysisTaskPi0v2.cxx:845
 AliAnalysisTaskPi0v2.cxx:846
 AliAnalysisTaskPi0v2.cxx:847
 AliAnalysisTaskPi0v2.cxx:848
 AliAnalysisTaskPi0v2.cxx:849
 AliAnalysisTaskPi0v2.cxx:850
 AliAnalysisTaskPi0v2.cxx:851
 AliAnalysisTaskPi0v2.cxx:852
 AliAnalysisTaskPi0v2.cxx:853
 AliAnalysisTaskPi0v2.cxx:854
 AliAnalysisTaskPi0v2.cxx:855
 AliAnalysisTaskPi0v2.cxx:856
 AliAnalysisTaskPi0v2.cxx:857
 AliAnalysisTaskPi0v2.cxx:858
 AliAnalysisTaskPi0v2.cxx:859
 AliAnalysisTaskPi0v2.cxx:860
 AliAnalysisTaskPi0v2.cxx:861
 AliAnalysisTaskPi0v2.cxx:862
 AliAnalysisTaskPi0v2.cxx:863
 AliAnalysisTaskPi0v2.cxx:864
 AliAnalysisTaskPi0v2.cxx:865
 AliAnalysisTaskPi0v2.cxx:866
 AliAnalysisTaskPi0v2.cxx:867
 AliAnalysisTaskPi0v2.cxx:868
 AliAnalysisTaskPi0v2.cxx:869
 AliAnalysisTaskPi0v2.cxx:870
 AliAnalysisTaskPi0v2.cxx:871
 AliAnalysisTaskPi0v2.cxx:872
 AliAnalysisTaskPi0v2.cxx:873
 AliAnalysisTaskPi0v2.cxx:874
 AliAnalysisTaskPi0v2.cxx:875
 AliAnalysisTaskPi0v2.cxx:876
 AliAnalysisTaskPi0v2.cxx:877
 AliAnalysisTaskPi0v2.cxx:878
 AliAnalysisTaskPi0v2.cxx:879
 AliAnalysisTaskPi0v2.cxx:880
 AliAnalysisTaskPi0v2.cxx:881
 AliAnalysisTaskPi0v2.cxx:882
 AliAnalysisTaskPi0v2.cxx:883
 AliAnalysisTaskPi0v2.cxx:884
 AliAnalysisTaskPi0v2.cxx:885
 AliAnalysisTaskPi0v2.cxx:886
 AliAnalysisTaskPi0v2.cxx:887
 AliAnalysisTaskPi0v2.cxx:888
 AliAnalysisTaskPi0v2.cxx:889
 AliAnalysisTaskPi0v2.cxx:890
 AliAnalysisTaskPi0v2.cxx:891
 AliAnalysisTaskPi0v2.cxx:892
 AliAnalysisTaskPi0v2.cxx:893
 AliAnalysisTaskPi0v2.cxx:894
 AliAnalysisTaskPi0v2.cxx:895
 AliAnalysisTaskPi0v2.cxx:896
 AliAnalysisTaskPi0v2.cxx:897
 AliAnalysisTaskPi0v2.cxx:898
 AliAnalysisTaskPi0v2.cxx:899
 AliAnalysisTaskPi0v2.cxx:900
 AliAnalysisTaskPi0v2.cxx:901
 AliAnalysisTaskPi0v2.cxx:902
 AliAnalysisTaskPi0v2.cxx:903
 AliAnalysisTaskPi0v2.cxx:904
 AliAnalysisTaskPi0v2.cxx:905
 AliAnalysisTaskPi0v2.cxx:906
 AliAnalysisTaskPi0v2.cxx:907
 AliAnalysisTaskPi0v2.cxx:908
 AliAnalysisTaskPi0v2.cxx:909
 AliAnalysisTaskPi0v2.cxx:910
 AliAnalysisTaskPi0v2.cxx:911
 AliAnalysisTaskPi0v2.cxx:912
 AliAnalysisTaskPi0v2.cxx:913
 AliAnalysisTaskPi0v2.cxx:914
 AliAnalysisTaskPi0v2.cxx:915
 AliAnalysisTaskPi0v2.cxx:916
 AliAnalysisTaskPi0v2.cxx:917
 AliAnalysisTaskPi0v2.cxx:918
 AliAnalysisTaskPi0v2.cxx:919
 AliAnalysisTaskPi0v2.cxx:920
 AliAnalysisTaskPi0v2.cxx:921
 AliAnalysisTaskPi0v2.cxx:922
 AliAnalysisTaskPi0v2.cxx:923
 AliAnalysisTaskPi0v2.cxx:924
 AliAnalysisTaskPi0v2.cxx:925
 AliAnalysisTaskPi0v2.cxx:926
 AliAnalysisTaskPi0v2.cxx:927
 AliAnalysisTaskPi0v2.cxx:928
 AliAnalysisTaskPi0v2.cxx:929
 AliAnalysisTaskPi0v2.cxx:930
 AliAnalysisTaskPi0v2.cxx:931
 AliAnalysisTaskPi0v2.cxx:932
 AliAnalysisTaskPi0v2.cxx:933
 AliAnalysisTaskPi0v2.cxx:934
 AliAnalysisTaskPi0v2.cxx:935
 AliAnalysisTaskPi0v2.cxx:936
 AliAnalysisTaskPi0v2.cxx:937
 AliAnalysisTaskPi0v2.cxx:938
 AliAnalysisTaskPi0v2.cxx:939
 AliAnalysisTaskPi0v2.cxx:940
 AliAnalysisTaskPi0v2.cxx:941
 AliAnalysisTaskPi0v2.cxx:942
 AliAnalysisTaskPi0v2.cxx:943
 AliAnalysisTaskPi0v2.cxx:944
 AliAnalysisTaskPi0v2.cxx:945
 AliAnalysisTaskPi0v2.cxx:946
 AliAnalysisTaskPi0v2.cxx:947
 AliAnalysisTaskPi0v2.cxx:948
 AliAnalysisTaskPi0v2.cxx:949
 AliAnalysisTaskPi0v2.cxx:950
 AliAnalysisTaskPi0v2.cxx:951
 AliAnalysisTaskPi0v2.cxx:952
 AliAnalysisTaskPi0v2.cxx:953
 AliAnalysisTaskPi0v2.cxx:954
 AliAnalysisTaskPi0v2.cxx:955
 AliAnalysisTaskPi0v2.cxx:956
 AliAnalysisTaskPi0v2.cxx:957
 AliAnalysisTaskPi0v2.cxx:958
 AliAnalysisTaskPi0v2.cxx:959
 AliAnalysisTaskPi0v2.cxx:960
 AliAnalysisTaskPi0v2.cxx:961
 AliAnalysisTaskPi0v2.cxx:962
 AliAnalysisTaskPi0v2.cxx:963
 AliAnalysisTaskPi0v2.cxx:964
 AliAnalysisTaskPi0v2.cxx:965
 AliAnalysisTaskPi0v2.cxx:966
 AliAnalysisTaskPi0v2.cxx:967
 AliAnalysisTaskPi0v2.cxx:968
 AliAnalysisTaskPi0v2.cxx:969
 AliAnalysisTaskPi0v2.cxx:970
 AliAnalysisTaskPi0v2.cxx:971
 AliAnalysisTaskPi0v2.cxx:972
 AliAnalysisTaskPi0v2.cxx:973
 AliAnalysisTaskPi0v2.cxx:974
 AliAnalysisTaskPi0v2.cxx:975
 AliAnalysisTaskPi0v2.cxx:976
 AliAnalysisTaskPi0v2.cxx:977
 AliAnalysisTaskPi0v2.cxx:978
 AliAnalysisTaskPi0v2.cxx:979
 AliAnalysisTaskPi0v2.cxx:980
 AliAnalysisTaskPi0v2.cxx:981
 AliAnalysisTaskPi0v2.cxx:982
 AliAnalysisTaskPi0v2.cxx:983
 AliAnalysisTaskPi0v2.cxx:984
 AliAnalysisTaskPi0v2.cxx:985
 AliAnalysisTaskPi0v2.cxx:986
 AliAnalysisTaskPi0v2.cxx:987
 AliAnalysisTaskPi0v2.cxx:988
 AliAnalysisTaskPi0v2.cxx:989
 AliAnalysisTaskPi0v2.cxx:990
 AliAnalysisTaskPi0v2.cxx:991
 AliAnalysisTaskPi0v2.cxx:992
 AliAnalysisTaskPi0v2.cxx:993
 AliAnalysisTaskPi0v2.cxx:994
 AliAnalysisTaskPi0v2.cxx:995
 AliAnalysisTaskPi0v2.cxx:996
 AliAnalysisTaskPi0v2.cxx:997
 AliAnalysisTaskPi0v2.cxx:998
 AliAnalysisTaskPi0v2.cxx:999
 AliAnalysisTaskPi0v2.cxx:1000
 AliAnalysisTaskPi0v2.cxx:1001
 AliAnalysisTaskPi0v2.cxx:1002
 AliAnalysisTaskPi0v2.cxx:1003
 AliAnalysisTaskPi0v2.cxx:1004
 AliAnalysisTaskPi0v2.cxx:1005
 AliAnalysisTaskPi0v2.cxx:1006
 AliAnalysisTaskPi0v2.cxx:1007
 AliAnalysisTaskPi0v2.cxx:1008
 AliAnalysisTaskPi0v2.cxx:1009
 AliAnalysisTaskPi0v2.cxx:1010
 AliAnalysisTaskPi0v2.cxx:1011
 AliAnalysisTaskPi0v2.cxx:1012
 AliAnalysisTaskPi0v2.cxx:1013
 AliAnalysisTaskPi0v2.cxx:1014
 AliAnalysisTaskPi0v2.cxx:1015
 AliAnalysisTaskPi0v2.cxx:1016
 AliAnalysisTaskPi0v2.cxx:1017
 AliAnalysisTaskPi0v2.cxx:1018
 AliAnalysisTaskPi0v2.cxx:1019
 AliAnalysisTaskPi0v2.cxx:1020
 AliAnalysisTaskPi0v2.cxx:1021
 AliAnalysisTaskPi0v2.cxx:1022
 AliAnalysisTaskPi0v2.cxx:1023
 AliAnalysisTaskPi0v2.cxx:1024
 AliAnalysisTaskPi0v2.cxx:1025
 AliAnalysisTaskPi0v2.cxx:1026
 AliAnalysisTaskPi0v2.cxx:1027
 AliAnalysisTaskPi0v2.cxx:1028
 AliAnalysisTaskPi0v2.cxx:1029
 AliAnalysisTaskPi0v2.cxx:1030
 AliAnalysisTaskPi0v2.cxx:1031
 AliAnalysisTaskPi0v2.cxx:1032
 AliAnalysisTaskPi0v2.cxx:1033
 AliAnalysisTaskPi0v2.cxx:1034
 AliAnalysisTaskPi0v2.cxx:1035
 AliAnalysisTaskPi0v2.cxx:1036
 AliAnalysisTaskPi0v2.cxx:1037
 AliAnalysisTaskPi0v2.cxx:1038
 AliAnalysisTaskPi0v2.cxx:1039
 AliAnalysisTaskPi0v2.cxx:1040
 AliAnalysisTaskPi0v2.cxx:1041
 AliAnalysisTaskPi0v2.cxx:1042
 AliAnalysisTaskPi0v2.cxx:1043
 AliAnalysisTaskPi0v2.cxx:1044
 AliAnalysisTaskPi0v2.cxx:1045
 AliAnalysisTaskPi0v2.cxx:1046
 AliAnalysisTaskPi0v2.cxx:1047
 AliAnalysisTaskPi0v2.cxx:1048
 AliAnalysisTaskPi0v2.cxx:1049
 AliAnalysisTaskPi0v2.cxx:1050
 AliAnalysisTaskPi0v2.cxx:1051
 AliAnalysisTaskPi0v2.cxx:1052
 AliAnalysisTaskPi0v2.cxx:1053
 AliAnalysisTaskPi0v2.cxx:1054
 AliAnalysisTaskPi0v2.cxx:1055
 AliAnalysisTaskPi0v2.cxx:1056
 AliAnalysisTaskPi0v2.cxx:1057
 AliAnalysisTaskPi0v2.cxx:1058
 AliAnalysisTaskPi0v2.cxx:1059
 AliAnalysisTaskPi0v2.cxx:1060
 AliAnalysisTaskPi0v2.cxx:1061
 AliAnalysisTaskPi0v2.cxx:1062
 AliAnalysisTaskPi0v2.cxx:1063
 AliAnalysisTaskPi0v2.cxx:1064
 AliAnalysisTaskPi0v2.cxx:1065
 AliAnalysisTaskPi0v2.cxx:1066
 AliAnalysisTaskPi0v2.cxx:1067
 AliAnalysisTaskPi0v2.cxx:1068
 AliAnalysisTaskPi0v2.cxx:1069
 AliAnalysisTaskPi0v2.cxx:1070
 AliAnalysisTaskPi0v2.cxx:1071
 AliAnalysisTaskPi0v2.cxx:1072
 AliAnalysisTaskPi0v2.cxx:1073
 AliAnalysisTaskPi0v2.cxx:1074
 AliAnalysisTaskPi0v2.cxx:1075
 AliAnalysisTaskPi0v2.cxx:1076
 AliAnalysisTaskPi0v2.cxx:1077
 AliAnalysisTaskPi0v2.cxx:1078
 AliAnalysisTaskPi0v2.cxx:1079
 AliAnalysisTaskPi0v2.cxx:1080
 AliAnalysisTaskPi0v2.cxx:1081
 AliAnalysisTaskPi0v2.cxx:1082
 AliAnalysisTaskPi0v2.cxx:1083
 AliAnalysisTaskPi0v2.cxx:1084
 AliAnalysisTaskPi0v2.cxx:1085
 AliAnalysisTaskPi0v2.cxx:1086
 AliAnalysisTaskPi0v2.cxx:1087
 AliAnalysisTaskPi0v2.cxx:1088
 AliAnalysisTaskPi0v2.cxx:1089
 AliAnalysisTaskPi0v2.cxx:1090
 AliAnalysisTaskPi0v2.cxx:1091
 AliAnalysisTaskPi0v2.cxx:1092
 AliAnalysisTaskPi0v2.cxx:1093
 AliAnalysisTaskPi0v2.cxx:1094
 AliAnalysisTaskPi0v2.cxx:1095
 AliAnalysisTaskPi0v2.cxx:1096
 AliAnalysisTaskPi0v2.cxx:1097
 AliAnalysisTaskPi0v2.cxx:1098
 AliAnalysisTaskPi0v2.cxx:1099
 AliAnalysisTaskPi0v2.cxx:1100
 AliAnalysisTaskPi0v2.cxx:1101
 AliAnalysisTaskPi0v2.cxx:1102
 AliAnalysisTaskPi0v2.cxx:1103
 AliAnalysisTaskPi0v2.cxx:1104
 AliAnalysisTaskPi0v2.cxx:1105
 AliAnalysisTaskPi0v2.cxx:1106
 AliAnalysisTaskPi0v2.cxx:1107
 AliAnalysisTaskPi0v2.cxx:1108
 AliAnalysisTaskPi0v2.cxx:1109
 AliAnalysisTaskPi0v2.cxx:1110
 AliAnalysisTaskPi0v2.cxx:1111
 AliAnalysisTaskPi0v2.cxx:1112
 AliAnalysisTaskPi0v2.cxx:1113
 AliAnalysisTaskPi0v2.cxx:1114
 AliAnalysisTaskPi0v2.cxx:1115
 AliAnalysisTaskPi0v2.cxx:1116
 AliAnalysisTaskPi0v2.cxx:1117
 AliAnalysisTaskPi0v2.cxx:1118
 AliAnalysisTaskPi0v2.cxx:1119
 AliAnalysisTaskPi0v2.cxx:1120
 AliAnalysisTaskPi0v2.cxx:1121
 AliAnalysisTaskPi0v2.cxx:1122
 AliAnalysisTaskPi0v2.cxx:1123
 AliAnalysisTaskPi0v2.cxx:1124
 AliAnalysisTaskPi0v2.cxx:1125
 AliAnalysisTaskPi0v2.cxx:1126
 AliAnalysisTaskPi0v2.cxx:1127
 AliAnalysisTaskPi0v2.cxx:1128
 AliAnalysisTaskPi0v2.cxx:1129
 AliAnalysisTaskPi0v2.cxx:1130
 AliAnalysisTaskPi0v2.cxx:1131
 AliAnalysisTaskPi0v2.cxx:1132
 AliAnalysisTaskPi0v2.cxx:1133
 AliAnalysisTaskPi0v2.cxx:1134
 AliAnalysisTaskPi0v2.cxx:1135
 AliAnalysisTaskPi0v2.cxx:1136
 AliAnalysisTaskPi0v2.cxx:1137
 AliAnalysisTaskPi0v2.cxx:1138
 AliAnalysisTaskPi0v2.cxx:1139
 AliAnalysisTaskPi0v2.cxx:1140
 AliAnalysisTaskPi0v2.cxx:1141
 AliAnalysisTaskPi0v2.cxx:1142
 AliAnalysisTaskPi0v2.cxx:1143
 AliAnalysisTaskPi0v2.cxx:1144
 AliAnalysisTaskPi0v2.cxx:1145
 AliAnalysisTaskPi0v2.cxx:1146
 AliAnalysisTaskPi0v2.cxx:1147
 AliAnalysisTaskPi0v2.cxx:1148
 AliAnalysisTaskPi0v2.cxx:1149
 AliAnalysisTaskPi0v2.cxx:1150
 AliAnalysisTaskPi0v2.cxx:1151
 AliAnalysisTaskPi0v2.cxx:1152
 AliAnalysisTaskPi0v2.cxx:1153
 AliAnalysisTaskPi0v2.cxx:1154
 AliAnalysisTaskPi0v2.cxx:1155
 AliAnalysisTaskPi0v2.cxx:1156
 AliAnalysisTaskPi0v2.cxx:1157
 AliAnalysisTaskPi0v2.cxx:1158
 AliAnalysisTaskPi0v2.cxx:1159
 AliAnalysisTaskPi0v2.cxx:1160
 AliAnalysisTaskPi0v2.cxx:1161
 AliAnalysisTaskPi0v2.cxx:1162
 AliAnalysisTaskPi0v2.cxx:1163
 AliAnalysisTaskPi0v2.cxx:1164
 AliAnalysisTaskPi0v2.cxx:1165
 AliAnalysisTaskPi0v2.cxx:1166
 AliAnalysisTaskPi0v2.cxx:1167
 AliAnalysisTaskPi0v2.cxx:1168
 AliAnalysisTaskPi0v2.cxx:1169
 AliAnalysisTaskPi0v2.cxx:1170
 AliAnalysisTaskPi0v2.cxx:1171
 AliAnalysisTaskPi0v2.cxx:1172
 AliAnalysisTaskPi0v2.cxx:1173
 AliAnalysisTaskPi0v2.cxx:1174
 AliAnalysisTaskPi0v2.cxx:1175
 AliAnalysisTaskPi0v2.cxx:1176
 AliAnalysisTaskPi0v2.cxx:1177
 AliAnalysisTaskPi0v2.cxx:1178
 AliAnalysisTaskPi0v2.cxx:1179
 AliAnalysisTaskPi0v2.cxx:1180
 AliAnalysisTaskPi0v2.cxx:1181
 AliAnalysisTaskPi0v2.cxx:1182
 AliAnalysisTaskPi0v2.cxx:1183
 AliAnalysisTaskPi0v2.cxx:1184
 AliAnalysisTaskPi0v2.cxx:1185
 AliAnalysisTaskPi0v2.cxx:1186
 AliAnalysisTaskPi0v2.cxx:1187
 AliAnalysisTaskPi0v2.cxx:1188
 AliAnalysisTaskPi0v2.cxx:1189
 AliAnalysisTaskPi0v2.cxx:1190
 AliAnalysisTaskPi0v2.cxx:1191
 AliAnalysisTaskPi0v2.cxx:1192
 AliAnalysisTaskPi0v2.cxx:1193
 AliAnalysisTaskPi0v2.cxx:1194
 AliAnalysisTaskPi0v2.cxx:1195
 AliAnalysisTaskPi0v2.cxx:1196
 AliAnalysisTaskPi0v2.cxx:1197
 AliAnalysisTaskPi0v2.cxx:1198
 AliAnalysisTaskPi0v2.cxx:1199
 AliAnalysisTaskPi0v2.cxx:1200
 AliAnalysisTaskPi0v2.cxx:1201
 AliAnalysisTaskPi0v2.cxx:1202
 AliAnalysisTaskPi0v2.cxx:1203
 AliAnalysisTaskPi0v2.cxx:1204
 AliAnalysisTaskPi0v2.cxx:1205
 AliAnalysisTaskPi0v2.cxx:1206
 AliAnalysisTaskPi0v2.cxx:1207
 AliAnalysisTaskPi0v2.cxx:1208
 AliAnalysisTaskPi0v2.cxx:1209
 AliAnalysisTaskPi0v2.cxx:1210
 AliAnalysisTaskPi0v2.cxx:1211
 AliAnalysisTaskPi0v2.cxx:1212
 AliAnalysisTaskPi0v2.cxx:1213
 AliAnalysisTaskPi0v2.cxx:1214
 AliAnalysisTaskPi0v2.cxx:1215
 AliAnalysisTaskPi0v2.cxx:1216
 AliAnalysisTaskPi0v2.cxx:1217
 AliAnalysisTaskPi0v2.cxx:1218
 AliAnalysisTaskPi0v2.cxx:1219
 AliAnalysisTaskPi0v2.cxx:1220
 AliAnalysisTaskPi0v2.cxx:1221
 AliAnalysisTaskPi0v2.cxx:1222
 AliAnalysisTaskPi0v2.cxx:1223
 AliAnalysisTaskPi0v2.cxx:1224
 AliAnalysisTaskPi0v2.cxx:1225
 AliAnalysisTaskPi0v2.cxx:1226
 AliAnalysisTaskPi0v2.cxx:1227
 AliAnalysisTaskPi0v2.cxx:1228
 AliAnalysisTaskPi0v2.cxx:1229
 AliAnalysisTaskPi0v2.cxx:1230
 AliAnalysisTaskPi0v2.cxx:1231
 AliAnalysisTaskPi0v2.cxx:1232
 AliAnalysisTaskPi0v2.cxx:1233
 AliAnalysisTaskPi0v2.cxx:1234
 AliAnalysisTaskPi0v2.cxx:1235
 AliAnalysisTaskPi0v2.cxx:1236
 AliAnalysisTaskPi0v2.cxx:1237
 AliAnalysisTaskPi0v2.cxx:1238
 AliAnalysisTaskPi0v2.cxx:1239
 AliAnalysisTaskPi0v2.cxx:1240
 AliAnalysisTaskPi0v2.cxx:1241
 AliAnalysisTaskPi0v2.cxx:1242
 AliAnalysisTaskPi0v2.cxx:1243
 AliAnalysisTaskPi0v2.cxx:1244
 AliAnalysisTaskPi0v2.cxx:1245
 AliAnalysisTaskPi0v2.cxx:1246
 AliAnalysisTaskPi0v2.cxx:1247
 AliAnalysisTaskPi0v2.cxx:1248
 AliAnalysisTaskPi0v2.cxx:1249
 AliAnalysisTaskPi0v2.cxx:1250
 AliAnalysisTaskPi0v2.cxx:1251
 AliAnalysisTaskPi0v2.cxx:1252
 AliAnalysisTaskPi0v2.cxx:1253
 AliAnalysisTaskPi0v2.cxx:1254
 AliAnalysisTaskPi0v2.cxx:1255
 AliAnalysisTaskPi0v2.cxx:1256
 AliAnalysisTaskPi0v2.cxx:1257
 AliAnalysisTaskPi0v2.cxx:1258
 AliAnalysisTaskPi0v2.cxx:1259
 AliAnalysisTaskPi0v2.cxx:1260
 AliAnalysisTaskPi0v2.cxx:1261
 AliAnalysisTaskPi0v2.cxx:1262
 AliAnalysisTaskPi0v2.cxx:1263
 AliAnalysisTaskPi0v2.cxx:1264
 AliAnalysisTaskPi0v2.cxx:1265
 AliAnalysisTaskPi0v2.cxx:1266
 AliAnalysisTaskPi0v2.cxx:1267
 AliAnalysisTaskPi0v2.cxx:1268
 AliAnalysisTaskPi0v2.cxx:1269
 AliAnalysisTaskPi0v2.cxx:1270
 AliAnalysisTaskPi0v2.cxx:1271
 AliAnalysisTaskPi0v2.cxx:1272
 AliAnalysisTaskPi0v2.cxx:1273
 AliAnalysisTaskPi0v2.cxx:1274
 AliAnalysisTaskPi0v2.cxx:1275
 AliAnalysisTaskPi0v2.cxx:1276
 AliAnalysisTaskPi0v2.cxx:1277
 AliAnalysisTaskPi0v2.cxx:1278
 AliAnalysisTaskPi0v2.cxx:1279
 AliAnalysisTaskPi0v2.cxx:1280
 AliAnalysisTaskPi0v2.cxx:1281
 AliAnalysisTaskPi0v2.cxx:1282
 AliAnalysisTaskPi0v2.cxx:1283
 AliAnalysisTaskPi0v2.cxx:1284
 AliAnalysisTaskPi0v2.cxx:1285
 AliAnalysisTaskPi0v2.cxx:1286
 AliAnalysisTaskPi0v2.cxx:1287
 AliAnalysisTaskPi0v2.cxx:1288
 AliAnalysisTaskPi0v2.cxx:1289
 AliAnalysisTaskPi0v2.cxx:1290
 AliAnalysisTaskPi0v2.cxx:1291
 AliAnalysisTaskPi0v2.cxx:1292
 AliAnalysisTaskPi0v2.cxx:1293
 AliAnalysisTaskPi0v2.cxx:1294
 AliAnalysisTaskPi0v2.cxx:1295
 AliAnalysisTaskPi0v2.cxx:1296
 AliAnalysisTaskPi0v2.cxx:1297
 AliAnalysisTaskPi0v2.cxx:1298
 AliAnalysisTaskPi0v2.cxx:1299
 AliAnalysisTaskPi0v2.cxx:1300
 AliAnalysisTaskPi0v2.cxx:1301
 AliAnalysisTaskPi0v2.cxx:1302
 AliAnalysisTaskPi0v2.cxx:1303
 AliAnalysisTaskPi0v2.cxx:1304
 AliAnalysisTaskPi0v2.cxx:1305
 AliAnalysisTaskPi0v2.cxx:1306
 AliAnalysisTaskPi0v2.cxx:1307
 AliAnalysisTaskPi0v2.cxx:1308
 AliAnalysisTaskPi0v2.cxx:1309
 AliAnalysisTaskPi0v2.cxx:1310
 AliAnalysisTaskPi0v2.cxx:1311
 AliAnalysisTaskPi0v2.cxx:1312
 AliAnalysisTaskPi0v2.cxx:1313
 AliAnalysisTaskPi0v2.cxx:1314
 AliAnalysisTaskPi0v2.cxx:1315
 AliAnalysisTaskPi0v2.cxx:1316
 AliAnalysisTaskPi0v2.cxx:1317
 AliAnalysisTaskPi0v2.cxx:1318
 AliAnalysisTaskPi0v2.cxx:1319
 AliAnalysisTaskPi0v2.cxx:1320
 AliAnalysisTaskPi0v2.cxx:1321
 AliAnalysisTaskPi0v2.cxx:1322
 AliAnalysisTaskPi0v2.cxx:1323
 AliAnalysisTaskPi0v2.cxx:1324
 AliAnalysisTaskPi0v2.cxx:1325
 AliAnalysisTaskPi0v2.cxx:1326
 AliAnalysisTaskPi0v2.cxx:1327
 AliAnalysisTaskPi0v2.cxx:1328
 AliAnalysisTaskPi0v2.cxx:1329
 AliAnalysisTaskPi0v2.cxx:1330
 AliAnalysisTaskPi0v2.cxx:1331
 AliAnalysisTaskPi0v2.cxx:1332
 AliAnalysisTaskPi0v2.cxx:1333
 AliAnalysisTaskPi0v2.cxx:1334
 AliAnalysisTaskPi0v2.cxx:1335
 AliAnalysisTaskPi0v2.cxx:1336
 AliAnalysisTaskPi0v2.cxx:1337
 AliAnalysisTaskPi0v2.cxx:1338
 AliAnalysisTaskPi0v2.cxx:1339
 AliAnalysisTaskPi0v2.cxx:1340
 AliAnalysisTaskPi0v2.cxx:1341
 AliAnalysisTaskPi0v2.cxx:1342
 AliAnalysisTaskPi0v2.cxx:1343
 AliAnalysisTaskPi0v2.cxx:1344
 AliAnalysisTaskPi0v2.cxx:1345
 AliAnalysisTaskPi0v2.cxx:1346
 AliAnalysisTaskPi0v2.cxx:1347
 AliAnalysisTaskPi0v2.cxx:1348
 AliAnalysisTaskPi0v2.cxx:1349
 AliAnalysisTaskPi0v2.cxx:1350
 AliAnalysisTaskPi0v2.cxx:1351
 AliAnalysisTaskPi0v2.cxx:1352
 AliAnalysisTaskPi0v2.cxx:1353
 AliAnalysisTaskPi0v2.cxx:1354
 AliAnalysisTaskPi0v2.cxx:1355
 AliAnalysisTaskPi0v2.cxx:1356
 AliAnalysisTaskPi0v2.cxx:1357
 AliAnalysisTaskPi0v2.cxx:1358
 AliAnalysisTaskPi0v2.cxx:1359
 AliAnalysisTaskPi0v2.cxx:1360
 AliAnalysisTaskPi0v2.cxx:1361
 AliAnalysisTaskPi0v2.cxx:1362
 AliAnalysisTaskPi0v2.cxx:1363
 AliAnalysisTaskPi0v2.cxx:1364
 AliAnalysisTaskPi0v2.cxx:1365
 AliAnalysisTaskPi0v2.cxx:1366
 AliAnalysisTaskPi0v2.cxx:1367
 AliAnalysisTaskPi0v2.cxx:1368
 AliAnalysisTaskPi0v2.cxx:1369
 AliAnalysisTaskPi0v2.cxx:1370
 AliAnalysisTaskPi0v2.cxx:1371
 AliAnalysisTaskPi0v2.cxx:1372
 AliAnalysisTaskPi0v2.cxx:1373
 AliAnalysisTaskPi0v2.cxx:1374
 AliAnalysisTaskPi0v2.cxx:1375
 AliAnalysisTaskPi0v2.cxx:1376
 AliAnalysisTaskPi0v2.cxx:1377
 AliAnalysisTaskPi0v2.cxx:1378
 AliAnalysisTaskPi0v2.cxx:1379
 AliAnalysisTaskPi0v2.cxx:1380
 AliAnalysisTaskPi0v2.cxx:1381
 AliAnalysisTaskPi0v2.cxx:1382
 AliAnalysisTaskPi0v2.cxx:1383
 AliAnalysisTaskPi0v2.cxx:1384
 AliAnalysisTaskPi0v2.cxx:1385
 AliAnalysisTaskPi0v2.cxx:1386
 AliAnalysisTaskPi0v2.cxx:1387
 AliAnalysisTaskPi0v2.cxx:1388
 AliAnalysisTaskPi0v2.cxx:1389
 AliAnalysisTaskPi0v2.cxx:1390
 AliAnalysisTaskPi0v2.cxx:1391
 AliAnalysisTaskPi0v2.cxx:1392
 AliAnalysisTaskPi0v2.cxx:1393
 AliAnalysisTaskPi0v2.cxx:1394
 AliAnalysisTaskPi0v2.cxx:1395
 AliAnalysisTaskPi0v2.cxx:1396
 AliAnalysisTaskPi0v2.cxx:1397
 AliAnalysisTaskPi0v2.cxx:1398
 AliAnalysisTaskPi0v2.cxx:1399
 AliAnalysisTaskPi0v2.cxx:1400
 AliAnalysisTaskPi0v2.cxx:1401
 AliAnalysisTaskPi0v2.cxx:1402
 AliAnalysisTaskPi0v2.cxx:1403
 AliAnalysisTaskPi0v2.cxx:1404
 AliAnalysisTaskPi0v2.cxx:1405
 AliAnalysisTaskPi0v2.cxx:1406
 AliAnalysisTaskPi0v2.cxx:1407
 AliAnalysisTaskPi0v2.cxx:1408
 AliAnalysisTaskPi0v2.cxx:1409
 AliAnalysisTaskPi0v2.cxx:1410
 AliAnalysisTaskPi0v2.cxx:1411
 AliAnalysisTaskPi0v2.cxx:1412
 AliAnalysisTaskPi0v2.cxx:1413
 AliAnalysisTaskPi0v2.cxx:1414
 AliAnalysisTaskPi0v2.cxx:1415
 AliAnalysisTaskPi0v2.cxx:1416
 AliAnalysisTaskPi0v2.cxx:1417
 AliAnalysisTaskPi0v2.cxx:1418
 AliAnalysisTaskPi0v2.cxx:1419
 AliAnalysisTaskPi0v2.cxx:1420
 AliAnalysisTaskPi0v2.cxx:1421
 AliAnalysisTaskPi0v2.cxx:1422
 AliAnalysisTaskPi0v2.cxx:1423
 AliAnalysisTaskPi0v2.cxx:1424
 AliAnalysisTaskPi0v2.cxx:1425
 AliAnalysisTaskPi0v2.cxx:1426
 AliAnalysisTaskPi0v2.cxx:1427
 AliAnalysisTaskPi0v2.cxx:1428
 AliAnalysisTaskPi0v2.cxx:1429
 AliAnalysisTaskPi0v2.cxx:1430
 AliAnalysisTaskPi0v2.cxx:1431
 AliAnalysisTaskPi0v2.cxx:1432
 AliAnalysisTaskPi0v2.cxx:1433
 AliAnalysisTaskPi0v2.cxx:1434
 AliAnalysisTaskPi0v2.cxx:1435
 AliAnalysisTaskPi0v2.cxx:1436
 AliAnalysisTaskPi0v2.cxx:1437
 AliAnalysisTaskPi0v2.cxx:1438
 AliAnalysisTaskPi0v2.cxx:1439
 AliAnalysisTaskPi0v2.cxx:1440
 AliAnalysisTaskPi0v2.cxx:1441
 AliAnalysisTaskPi0v2.cxx:1442
 AliAnalysisTaskPi0v2.cxx:1443
 AliAnalysisTaskPi0v2.cxx:1444
 AliAnalysisTaskPi0v2.cxx:1445
 AliAnalysisTaskPi0v2.cxx:1446
 AliAnalysisTaskPi0v2.cxx:1447
 AliAnalysisTaskPi0v2.cxx:1448
 AliAnalysisTaskPi0v2.cxx:1449
 AliAnalysisTaskPi0v2.cxx:1450
 AliAnalysisTaskPi0v2.cxx:1451
 AliAnalysisTaskPi0v2.cxx:1452
 AliAnalysisTaskPi0v2.cxx:1453
 AliAnalysisTaskPi0v2.cxx:1454
 AliAnalysisTaskPi0v2.cxx:1455
 AliAnalysisTaskPi0v2.cxx:1456
 AliAnalysisTaskPi0v2.cxx:1457
 AliAnalysisTaskPi0v2.cxx:1458
 AliAnalysisTaskPi0v2.cxx:1459
 AliAnalysisTaskPi0v2.cxx:1460
 AliAnalysisTaskPi0v2.cxx:1461
 AliAnalysisTaskPi0v2.cxx:1462
 AliAnalysisTaskPi0v2.cxx:1463
 AliAnalysisTaskPi0v2.cxx:1464
 AliAnalysisTaskPi0v2.cxx:1465
 AliAnalysisTaskPi0v2.cxx:1466
 AliAnalysisTaskPi0v2.cxx:1467
 AliAnalysisTaskPi0v2.cxx:1468
 AliAnalysisTaskPi0v2.cxx:1469
 AliAnalysisTaskPi0v2.cxx:1470
 AliAnalysisTaskPi0v2.cxx:1471
 AliAnalysisTaskPi0v2.cxx:1472
 AliAnalysisTaskPi0v2.cxx:1473
 AliAnalysisTaskPi0v2.cxx:1474
 AliAnalysisTaskPi0v2.cxx:1475
 AliAnalysisTaskPi0v2.cxx:1476
 AliAnalysisTaskPi0v2.cxx:1477
 AliAnalysisTaskPi0v2.cxx:1478
 AliAnalysisTaskPi0v2.cxx:1479
 AliAnalysisTaskPi0v2.cxx:1480
 AliAnalysisTaskPi0v2.cxx:1481
 AliAnalysisTaskPi0v2.cxx:1482
 AliAnalysisTaskPi0v2.cxx:1483
 AliAnalysisTaskPi0v2.cxx:1484
 AliAnalysisTaskPi0v2.cxx:1485
 AliAnalysisTaskPi0v2.cxx:1486
 AliAnalysisTaskPi0v2.cxx:1487
 AliAnalysisTaskPi0v2.cxx:1488
 AliAnalysisTaskPi0v2.cxx:1489
 AliAnalysisTaskPi0v2.cxx:1490
 AliAnalysisTaskPi0v2.cxx:1491
 AliAnalysisTaskPi0v2.cxx:1492
 AliAnalysisTaskPi0v2.cxx:1493
 AliAnalysisTaskPi0v2.cxx:1494
 AliAnalysisTaskPi0v2.cxx:1495
 AliAnalysisTaskPi0v2.cxx:1496
 AliAnalysisTaskPi0v2.cxx:1497
 AliAnalysisTaskPi0v2.cxx:1498
 AliAnalysisTaskPi0v2.cxx:1499
 AliAnalysisTaskPi0v2.cxx:1500
 AliAnalysisTaskPi0v2.cxx:1501
 AliAnalysisTaskPi0v2.cxx:1502
 AliAnalysisTaskPi0v2.cxx:1503
 AliAnalysisTaskPi0v2.cxx:1504
 AliAnalysisTaskPi0v2.cxx:1505
 AliAnalysisTaskPi0v2.cxx:1506
 AliAnalysisTaskPi0v2.cxx:1507
 AliAnalysisTaskPi0v2.cxx:1508
 AliAnalysisTaskPi0v2.cxx:1509
 AliAnalysisTaskPi0v2.cxx:1510
 AliAnalysisTaskPi0v2.cxx:1511
 AliAnalysisTaskPi0v2.cxx:1512
 AliAnalysisTaskPi0v2.cxx:1513
 AliAnalysisTaskPi0v2.cxx:1514
 AliAnalysisTaskPi0v2.cxx:1515
 AliAnalysisTaskPi0v2.cxx:1516
 AliAnalysisTaskPi0v2.cxx:1517
 AliAnalysisTaskPi0v2.cxx:1518
 AliAnalysisTaskPi0v2.cxx:1519
 AliAnalysisTaskPi0v2.cxx:1520
 AliAnalysisTaskPi0v2.cxx:1521
 AliAnalysisTaskPi0v2.cxx:1522
 AliAnalysisTaskPi0v2.cxx:1523
 AliAnalysisTaskPi0v2.cxx:1524
 AliAnalysisTaskPi0v2.cxx:1525
 AliAnalysisTaskPi0v2.cxx:1526
 AliAnalysisTaskPi0v2.cxx:1527
 AliAnalysisTaskPi0v2.cxx:1528
 AliAnalysisTaskPi0v2.cxx:1529
 AliAnalysisTaskPi0v2.cxx:1530
 AliAnalysisTaskPi0v2.cxx:1531
 AliAnalysisTaskPi0v2.cxx:1532
 AliAnalysisTaskPi0v2.cxx:1533
 AliAnalysisTaskPi0v2.cxx:1534
 AliAnalysisTaskPi0v2.cxx:1535
 AliAnalysisTaskPi0v2.cxx:1536
 AliAnalysisTaskPi0v2.cxx:1537
 AliAnalysisTaskPi0v2.cxx:1538
 AliAnalysisTaskPi0v2.cxx:1539
 AliAnalysisTaskPi0v2.cxx:1540
 AliAnalysisTaskPi0v2.cxx:1541
 AliAnalysisTaskPi0v2.cxx:1542
 AliAnalysisTaskPi0v2.cxx:1543
 AliAnalysisTaskPi0v2.cxx:1544
 AliAnalysisTaskPi0v2.cxx:1545
 AliAnalysisTaskPi0v2.cxx:1546
 AliAnalysisTaskPi0v2.cxx:1547
 AliAnalysisTaskPi0v2.cxx:1548
 AliAnalysisTaskPi0v2.cxx:1549
 AliAnalysisTaskPi0v2.cxx:1550
 AliAnalysisTaskPi0v2.cxx:1551
 AliAnalysisTaskPi0v2.cxx:1552
 AliAnalysisTaskPi0v2.cxx:1553
 AliAnalysisTaskPi0v2.cxx:1554
 AliAnalysisTaskPi0v2.cxx:1555
 AliAnalysisTaskPi0v2.cxx:1556
 AliAnalysisTaskPi0v2.cxx:1557
 AliAnalysisTaskPi0v2.cxx:1558
 AliAnalysisTaskPi0v2.cxx:1559
 AliAnalysisTaskPi0v2.cxx:1560
 AliAnalysisTaskPi0v2.cxx:1561
 AliAnalysisTaskPi0v2.cxx:1562
 AliAnalysisTaskPi0v2.cxx:1563
 AliAnalysisTaskPi0v2.cxx:1564
 AliAnalysisTaskPi0v2.cxx:1565
 AliAnalysisTaskPi0v2.cxx:1566
 AliAnalysisTaskPi0v2.cxx:1567
 AliAnalysisTaskPi0v2.cxx:1568
 AliAnalysisTaskPi0v2.cxx:1569
 AliAnalysisTaskPi0v2.cxx:1570
 AliAnalysisTaskPi0v2.cxx:1571
 AliAnalysisTaskPi0v2.cxx:1572
 AliAnalysisTaskPi0v2.cxx:1573
 AliAnalysisTaskPi0v2.cxx:1574
 AliAnalysisTaskPi0v2.cxx:1575
 AliAnalysisTaskPi0v2.cxx:1576
 AliAnalysisTaskPi0v2.cxx:1577
 AliAnalysisTaskPi0v2.cxx:1578
 AliAnalysisTaskPi0v2.cxx:1579
 AliAnalysisTaskPi0v2.cxx:1580
 AliAnalysisTaskPi0v2.cxx:1581
 AliAnalysisTaskPi0v2.cxx:1582
 AliAnalysisTaskPi0v2.cxx:1583
 AliAnalysisTaskPi0v2.cxx:1584
 AliAnalysisTaskPi0v2.cxx:1585
 AliAnalysisTaskPi0v2.cxx:1586
 AliAnalysisTaskPi0v2.cxx:1587
 AliAnalysisTaskPi0v2.cxx:1588
 AliAnalysisTaskPi0v2.cxx:1589
 AliAnalysisTaskPi0v2.cxx:1590
 AliAnalysisTaskPi0v2.cxx:1591
 AliAnalysisTaskPi0v2.cxx:1592
 AliAnalysisTaskPi0v2.cxx:1593
 AliAnalysisTaskPi0v2.cxx:1594
 AliAnalysisTaskPi0v2.cxx:1595
 AliAnalysisTaskPi0v2.cxx:1596
 AliAnalysisTaskPi0v2.cxx:1597
 AliAnalysisTaskPi0v2.cxx:1598
 AliAnalysisTaskPi0v2.cxx:1599
 AliAnalysisTaskPi0v2.cxx:1600
 AliAnalysisTaskPi0v2.cxx:1601
 AliAnalysisTaskPi0v2.cxx:1602
 AliAnalysisTaskPi0v2.cxx:1603
 AliAnalysisTaskPi0v2.cxx:1604
 AliAnalysisTaskPi0v2.cxx:1605
 AliAnalysisTaskPi0v2.cxx:1606
 AliAnalysisTaskPi0v2.cxx:1607
 AliAnalysisTaskPi0v2.cxx:1608
 AliAnalysisTaskPi0v2.cxx:1609
 AliAnalysisTaskPi0v2.cxx:1610
 AliAnalysisTaskPi0v2.cxx:1611
 AliAnalysisTaskPi0v2.cxx:1612
 AliAnalysisTaskPi0v2.cxx:1613
 AliAnalysisTaskPi0v2.cxx:1614
 AliAnalysisTaskPi0v2.cxx:1615
 AliAnalysisTaskPi0v2.cxx:1616
 AliAnalysisTaskPi0v2.cxx:1617
 AliAnalysisTaskPi0v2.cxx:1618
 AliAnalysisTaskPi0v2.cxx:1619
 AliAnalysisTaskPi0v2.cxx:1620
 AliAnalysisTaskPi0v2.cxx:1621
 AliAnalysisTaskPi0v2.cxx:1622
 AliAnalysisTaskPi0v2.cxx:1623
 AliAnalysisTaskPi0v2.cxx:1624
 AliAnalysisTaskPi0v2.cxx:1625
 AliAnalysisTaskPi0v2.cxx:1626
 AliAnalysisTaskPi0v2.cxx:1627
 AliAnalysisTaskPi0v2.cxx:1628
 AliAnalysisTaskPi0v2.cxx:1629
 AliAnalysisTaskPi0v2.cxx:1630
 AliAnalysisTaskPi0v2.cxx:1631
 AliAnalysisTaskPi0v2.cxx:1632
 AliAnalysisTaskPi0v2.cxx:1633
 AliAnalysisTaskPi0v2.cxx:1634
 AliAnalysisTaskPi0v2.cxx:1635
 AliAnalysisTaskPi0v2.cxx:1636
 AliAnalysisTaskPi0v2.cxx:1637
 AliAnalysisTaskPi0v2.cxx:1638
 AliAnalysisTaskPi0v2.cxx:1639
 AliAnalysisTaskPi0v2.cxx:1640
 AliAnalysisTaskPi0v2.cxx:1641
 AliAnalysisTaskPi0v2.cxx:1642
 AliAnalysisTaskPi0v2.cxx:1643
 AliAnalysisTaskPi0v2.cxx:1644
 AliAnalysisTaskPi0v2.cxx:1645
 AliAnalysisTaskPi0v2.cxx:1646
 AliAnalysisTaskPi0v2.cxx:1647
 AliAnalysisTaskPi0v2.cxx:1648
 AliAnalysisTaskPi0v2.cxx:1649
 AliAnalysisTaskPi0v2.cxx:1650
 AliAnalysisTaskPi0v2.cxx:1651
 AliAnalysisTaskPi0v2.cxx:1652
 AliAnalysisTaskPi0v2.cxx:1653
 AliAnalysisTaskPi0v2.cxx:1654
 AliAnalysisTaskPi0v2.cxx:1655
 AliAnalysisTaskPi0v2.cxx:1656
 AliAnalysisTaskPi0v2.cxx:1657
 AliAnalysisTaskPi0v2.cxx:1658
 AliAnalysisTaskPi0v2.cxx:1659
 AliAnalysisTaskPi0v2.cxx:1660
 AliAnalysisTaskPi0v2.cxx:1661
 AliAnalysisTaskPi0v2.cxx:1662
 AliAnalysisTaskPi0v2.cxx:1663
 AliAnalysisTaskPi0v2.cxx:1664
 AliAnalysisTaskPi0v2.cxx:1665
 AliAnalysisTaskPi0v2.cxx:1666
 AliAnalysisTaskPi0v2.cxx:1667
 AliAnalysisTaskPi0v2.cxx:1668
 AliAnalysisTaskPi0v2.cxx:1669
 AliAnalysisTaskPi0v2.cxx:1670
 AliAnalysisTaskPi0v2.cxx:1671
 AliAnalysisTaskPi0v2.cxx:1672
 AliAnalysisTaskPi0v2.cxx:1673
 AliAnalysisTaskPi0v2.cxx:1674
 AliAnalysisTaskPi0v2.cxx:1675
 AliAnalysisTaskPi0v2.cxx:1676
 AliAnalysisTaskPi0v2.cxx:1677
 AliAnalysisTaskPi0v2.cxx:1678
 AliAnalysisTaskPi0v2.cxx:1679
 AliAnalysisTaskPi0v2.cxx:1680
 AliAnalysisTaskPi0v2.cxx:1681
 AliAnalysisTaskPi0v2.cxx:1682
 AliAnalysisTaskPi0v2.cxx:1683
 AliAnalysisTaskPi0v2.cxx:1684
 AliAnalysisTaskPi0v2.cxx:1685
 AliAnalysisTaskPi0v2.cxx:1686
 AliAnalysisTaskPi0v2.cxx:1687
 AliAnalysisTaskPi0v2.cxx:1688
 AliAnalysisTaskPi0v2.cxx:1689
 AliAnalysisTaskPi0v2.cxx:1690
 AliAnalysisTaskPi0v2.cxx:1691
 AliAnalysisTaskPi0v2.cxx:1692
 AliAnalysisTaskPi0v2.cxx:1693
 AliAnalysisTaskPi0v2.cxx:1694
 AliAnalysisTaskPi0v2.cxx:1695
 AliAnalysisTaskPi0v2.cxx:1696
 AliAnalysisTaskPi0v2.cxx:1697
 AliAnalysisTaskPi0v2.cxx:1698
 AliAnalysisTaskPi0v2.cxx:1699
 AliAnalysisTaskPi0v2.cxx:1700
 AliAnalysisTaskPi0v2.cxx:1701
 AliAnalysisTaskPi0v2.cxx:1702
 AliAnalysisTaskPi0v2.cxx:1703
 AliAnalysisTaskPi0v2.cxx:1704
 AliAnalysisTaskPi0v2.cxx:1705
 AliAnalysisTaskPi0v2.cxx:1706
 AliAnalysisTaskPi0v2.cxx:1707
 AliAnalysisTaskPi0v2.cxx:1708
 AliAnalysisTaskPi0v2.cxx:1709
 AliAnalysisTaskPi0v2.cxx:1710
 AliAnalysisTaskPi0v2.cxx:1711
 AliAnalysisTaskPi0v2.cxx:1712
 AliAnalysisTaskPi0v2.cxx:1713
 AliAnalysisTaskPi0v2.cxx:1714
 AliAnalysisTaskPi0v2.cxx:1715
 AliAnalysisTaskPi0v2.cxx:1716
 AliAnalysisTaskPi0v2.cxx:1717
 AliAnalysisTaskPi0v2.cxx:1718
 AliAnalysisTaskPi0v2.cxx:1719
 AliAnalysisTaskPi0v2.cxx:1720
 AliAnalysisTaskPi0v2.cxx:1721
 AliAnalysisTaskPi0v2.cxx:1722
 AliAnalysisTaskPi0v2.cxx:1723
 AliAnalysisTaskPi0v2.cxx:1724
 AliAnalysisTaskPi0v2.cxx:1725
 AliAnalysisTaskPi0v2.cxx:1726
 AliAnalysisTaskPi0v2.cxx:1727
 AliAnalysisTaskPi0v2.cxx:1728
 AliAnalysisTaskPi0v2.cxx:1729
 AliAnalysisTaskPi0v2.cxx:1730
 AliAnalysisTaskPi0v2.cxx:1731
 AliAnalysisTaskPi0v2.cxx:1732
 AliAnalysisTaskPi0v2.cxx:1733
 AliAnalysisTaskPi0v2.cxx:1734
 AliAnalysisTaskPi0v2.cxx:1735
 AliAnalysisTaskPi0v2.cxx:1736
 AliAnalysisTaskPi0v2.cxx:1737
 AliAnalysisTaskPi0v2.cxx:1738
 AliAnalysisTaskPi0v2.cxx:1739
 AliAnalysisTaskPi0v2.cxx:1740
 AliAnalysisTaskPi0v2.cxx:1741
 AliAnalysisTaskPi0v2.cxx:1742
 AliAnalysisTaskPi0v2.cxx:1743
 AliAnalysisTaskPi0v2.cxx:1744
 AliAnalysisTaskPi0v2.cxx:1745
 AliAnalysisTaskPi0v2.cxx:1746
 AliAnalysisTaskPi0v2.cxx:1747
 AliAnalysisTaskPi0v2.cxx:1748
 AliAnalysisTaskPi0v2.cxx:1749
 AliAnalysisTaskPi0v2.cxx:1750
 AliAnalysisTaskPi0v2.cxx:1751
 AliAnalysisTaskPi0v2.cxx:1752
 AliAnalysisTaskPi0v2.cxx:1753
 AliAnalysisTaskPi0v2.cxx:1754
 AliAnalysisTaskPi0v2.cxx:1755
 AliAnalysisTaskPi0v2.cxx:1756
 AliAnalysisTaskPi0v2.cxx:1757
 AliAnalysisTaskPi0v2.cxx:1758
 AliAnalysisTaskPi0v2.cxx:1759
 AliAnalysisTaskPi0v2.cxx:1760
 AliAnalysisTaskPi0v2.cxx:1761
 AliAnalysisTaskPi0v2.cxx:1762
 AliAnalysisTaskPi0v2.cxx:1763
 AliAnalysisTaskPi0v2.cxx:1764
 AliAnalysisTaskPi0v2.cxx:1765
 AliAnalysisTaskPi0v2.cxx:1766
 AliAnalysisTaskPi0v2.cxx:1767
 AliAnalysisTaskPi0v2.cxx:1768
 AliAnalysisTaskPi0v2.cxx:1769
 AliAnalysisTaskPi0v2.cxx:1770
 AliAnalysisTaskPi0v2.cxx:1771
 AliAnalysisTaskPi0v2.cxx:1772
 AliAnalysisTaskPi0v2.cxx:1773
 AliAnalysisTaskPi0v2.cxx:1774
 AliAnalysisTaskPi0v2.cxx:1775
 AliAnalysisTaskPi0v2.cxx:1776
 AliAnalysisTaskPi0v2.cxx:1777
 AliAnalysisTaskPi0v2.cxx:1778
 AliAnalysisTaskPi0v2.cxx:1779
 AliAnalysisTaskPi0v2.cxx:1780
 AliAnalysisTaskPi0v2.cxx:1781
 AliAnalysisTaskPi0v2.cxx:1782
 AliAnalysisTaskPi0v2.cxx:1783
 AliAnalysisTaskPi0v2.cxx:1784
 AliAnalysisTaskPi0v2.cxx:1785
 AliAnalysisTaskPi0v2.cxx:1786
 AliAnalysisTaskPi0v2.cxx:1787
 AliAnalysisTaskPi0v2.cxx:1788
 AliAnalysisTaskPi0v2.cxx:1789
 AliAnalysisTaskPi0v2.cxx:1790
 AliAnalysisTaskPi0v2.cxx:1791
 AliAnalysisTaskPi0v2.cxx:1792
 AliAnalysisTaskPi0v2.cxx:1793
 AliAnalysisTaskPi0v2.cxx:1794
 AliAnalysisTaskPi0v2.cxx:1795
 AliAnalysisTaskPi0v2.cxx:1796
 AliAnalysisTaskPi0v2.cxx:1797
 AliAnalysisTaskPi0v2.cxx:1798
 AliAnalysisTaskPi0v2.cxx:1799
 AliAnalysisTaskPi0v2.cxx:1800
 AliAnalysisTaskPi0v2.cxx:1801
 AliAnalysisTaskPi0v2.cxx:1802
 AliAnalysisTaskPi0v2.cxx:1803
 AliAnalysisTaskPi0v2.cxx:1804
 AliAnalysisTaskPi0v2.cxx:1805
 AliAnalysisTaskPi0v2.cxx:1806
 AliAnalysisTaskPi0v2.cxx:1807
 AliAnalysisTaskPi0v2.cxx:1808
 AliAnalysisTaskPi0v2.cxx:1809
 AliAnalysisTaskPi0v2.cxx:1810
 AliAnalysisTaskPi0v2.cxx:1811
 AliAnalysisTaskPi0v2.cxx:1812
 AliAnalysisTaskPi0v2.cxx:1813
 AliAnalysisTaskPi0v2.cxx:1814
 AliAnalysisTaskPi0v2.cxx:1815
 AliAnalysisTaskPi0v2.cxx:1816
 AliAnalysisTaskPi0v2.cxx:1817
 AliAnalysisTaskPi0v2.cxx:1818
 AliAnalysisTaskPi0v2.cxx:1819
 AliAnalysisTaskPi0v2.cxx:1820
 AliAnalysisTaskPi0v2.cxx:1821
 AliAnalysisTaskPi0v2.cxx:1822
 AliAnalysisTaskPi0v2.cxx:1823
 AliAnalysisTaskPi0v2.cxx:1824
 AliAnalysisTaskPi0v2.cxx:1825
 AliAnalysisTaskPi0v2.cxx:1826
 AliAnalysisTaskPi0v2.cxx:1827
 AliAnalysisTaskPi0v2.cxx:1828
 AliAnalysisTaskPi0v2.cxx:1829
 AliAnalysisTaskPi0v2.cxx:1830
 AliAnalysisTaskPi0v2.cxx:1831
 AliAnalysisTaskPi0v2.cxx:1832
 AliAnalysisTaskPi0v2.cxx:1833
 AliAnalysisTaskPi0v2.cxx:1834
 AliAnalysisTaskPi0v2.cxx:1835
 AliAnalysisTaskPi0v2.cxx:1836
 AliAnalysisTaskPi0v2.cxx:1837
 AliAnalysisTaskPi0v2.cxx:1838
 AliAnalysisTaskPi0v2.cxx:1839
 AliAnalysisTaskPi0v2.cxx:1840
 AliAnalysisTaskPi0v2.cxx:1841
 AliAnalysisTaskPi0v2.cxx:1842
 AliAnalysisTaskPi0v2.cxx:1843
 AliAnalysisTaskPi0v2.cxx:1844
 AliAnalysisTaskPi0v2.cxx:1845
 AliAnalysisTaskPi0v2.cxx:1846
 AliAnalysisTaskPi0v2.cxx:1847
 AliAnalysisTaskPi0v2.cxx:1848
 AliAnalysisTaskPi0v2.cxx:1849
 AliAnalysisTaskPi0v2.cxx:1850
 AliAnalysisTaskPi0v2.cxx:1851
 AliAnalysisTaskPi0v2.cxx:1852
 AliAnalysisTaskPi0v2.cxx:1853
 AliAnalysisTaskPi0v2.cxx:1854
 AliAnalysisTaskPi0v2.cxx:1855
 AliAnalysisTaskPi0v2.cxx:1856
 AliAnalysisTaskPi0v2.cxx:1857
 AliAnalysisTaskPi0v2.cxx:1858
 AliAnalysisTaskPi0v2.cxx:1859
 AliAnalysisTaskPi0v2.cxx:1860
 AliAnalysisTaskPi0v2.cxx:1861
 AliAnalysisTaskPi0v2.cxx:1862
 AliAnalysisTaskPi0v2.cxx:1863
 AliAnalysisTaskPi0v2.cxx:1864
 AliAnalysisTaskPi0v2.cxx:1865
 AliAnalysisTaskPi0v2.cxx:1866
 AliAnalysisTaskPi0v2.cxx:1867
 AliAnalysisTaskPi0v2.cxx:1868
 AliAnalysisTaskPi0v2.cxx:1869
 AliAnalysisTaskPi0v2.cxx:1870
 AliAnalysisTaskPi0v2.cxx:1871
 AliAnalysisTaskPi0v2.cxx:1872
 AliAnalysisTaskPi0v2.cxx:1873
 AliAnalysisTaskPi0v2.cxx:1874
 AliAnalysisTaskPi0v2.cxx:1875
 AliAnalysisTaskPi0v2.cxx:1876
 AliAnalysisTaskPi0v2.cxx:1877
 AliAnalysisTaskPi0v2.cxx:1878
 AliAnalysisTaskPi0v2.cxx:1879
 AliAnalysisTaskPi0v2.cxx:1880
 AliAnalysisTaskPi0v2.cxx:1881
 AliAnalysisTaskPi0v2.cxx:1882
 AliAnalysisTaskPi0v2.cxx:1883
 AliAnalysisTaskPi0v2.cxx:1884
 AliAnalysisTaskPi0v2.cxx:1885
 AliAnalysisTaskPi0v2.cxx:1886
 AliAnalysisTaskPi0v2.cxx:1887
 AliAnalysisTaskPi0v2.cxx:1888
 AliAnalysisTaskPi0v2.cxx:1889
 AliAnalysisTaskPi0v2.cxx:1890
 AliAnalysisTaskPi0v2.cxx:1891
 AliAnalysisTaskPi0v2.cxx:1892
 AliAnalysisTaskPi0v2.cxx:1893
 AliAnalysisTaskPi0v2.cxx:1894
 AliAnalysisTaskPi0v2.cxx:1895
 AliAnalysisTaskPi0v2.cxx:1896
 AliAnalysisTaskPi0v2.cxx:1897
 AliAnalysisTaskPi0v2.cxx:1898
 AliAnalysisTaskPi0v2.cxx:1899
 AliAnalysisTaskPi0v2.cxx:1900
 AliAnalysisTaskPi0v2.cxx:1901
 AliAnalysisTaskPi0v2.cxx:1902
 AliAnalysisTaskPi0v2.cxx:1903
 AliAnalysisTaskPi0v2.cxx:1904
 AliAnalysisTaskPi0v2.cxx:1905
 AliAnalysisTaskPi0v2.cxx:1906
 AliAnalysisTaskPi0v2.cxx:1907
 AliAnalysisTaskPi0v2.cxx:1908
 AliAnalysisTaskPi0v2.cxx:1909
 AliAnalysisTaskPi0v2.cxx:1910
 AliAnalysisTaskPi0v2.cxx:1911
 AliAnalysisTaskPi0v2.cxx:1912
 AliAnalysisTaskPi0v2.cxx:1913
 AliAnalysisTaskPi0v2.cxx:1914
 AliAnalysisTaskPi0v2.cxx:1915
 AliAnalysisTaskPi0v2.cxx:1916
 AliAnalysisTaskPi0v2.cxx:1917
 AliAnalysisTaskPi0v2.cxx:1918
 AliAnalysisTaskPi0v2.cxx:1919
 AliAnalysisTaskPi0v2.cxx:1920
 AliAnalysisTaskPi0v2.cxx:1921
 AliAnalysisTaskPi0v2.cxx:1922
 AliAnalysisTaskPi0v2.cxx:1923
 AliAnalysisTaskPi0v2.cxx:1924
 AliAnalysisTaskPi0v2.cxx:1925
 AliAnalysisTaskPi0v2.cxx:1926
 AliAnalysisTaskPi0v2.cxx:1927
 AliAnalysisTaskPi0v2.cxx:1928
 AliAnalysisTaskPi0v2.cxx:1929
 AliAnalysisTaskPi0v2.cxx:1930
 AliAnalysisTaskPi0v2.cxx:1931
 AliAnalysisTaskPi0v2.cxx:1932
 AliAnalysisTaskPi0v2.cxx:1933
 AliAnalysisTaskPi0v2.cxx:1934
 AliAnalysisTaskPi0v2.cxx:1935
 AliAnalysisTaskPi0v2.cxx:1936
 AliAnalysisTaskPi0v2.cxx:1937
 AliAnalysisTaskPi0v2.cxx:1938
 AliAnalysisTaskPi0v2.cxx:1939
 AliAnalysisTaskPi0v2.cxx:1940
 AliAnalysisTaskPi0v2.cxx:1941
 AliAnalysisTaskPi0v2.cxx:1942