ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: Andrea Dubla, Redmer Alexander Bertens, Friederike Bock	      *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its	  *
 * documentation strictly for non-commercial purposes is hereby granted	  *
 * without fee, provided that the above copyright notice appears in all	  *
 * copies and that both the copyright notice and this permission notice	  *
 * appear in the supporting documentation. The authors make no claims	  *
 * about the suitability of this software for any purpose. It is	      *
 * provided "as is" without express or implied warranty.       		      *
 **************************************************************************/

////////////////////////////////////////////////
//---------------------------------------------

// Class used to do analysis on conversion pairs
//---------------------------------------------
///////////////////////////////////////////////
#include "TChain.h"
#include "TTree.h"
#include "TBranch.h"
#include "TFile.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TH3F.h"
#include "THnSparse.h"
#include "TCanvas.h"
#include "TNtuple.h"
#include "AliAnalysisTask.h"
#include "AliAnalysisManager.h"
#include "AliESDEvent.h"
#include "AliESDInputHandler.h"
#include "AliMCEventHandler.h"
#include "AliMCEvent.h"
#include "AliMCParticle.h"
#include "AliCentrality.h"
#include "AliESDVZERO.h"
#include "AliESDpid.h"
#include "AliAnalysisTaskGammaConvFlow.h"
#include "AliVParticle.h"
#include "AliESDtrack.h"
#include "AliESDtrackCuts.h"
#include "AliKFVertex.h"
#include "AliV0ReaderV1.h"
#include "AliGenCocktailEventHeader.h"
#include "AliConversionAODBGHandlerRP.h"
#include "AliAODMCParticle.h"
#include "AliAODMCHeader.h"
#include "AliEventplane.h"

#include "AliFlowCandidateTrack.h"
#include "AliFlowTrackCuts.h"
#include "AliFlowEventSimple.h"
#include "AliFlowCommonConstants.h"
#include "AliFlowEvent.h"
#include "AliFlowTrack.h"

class AliFlowTrackCuts;

using namespace std;

ClassImp(AliAnalysisTaskGammaConvFlow)

//________________________________________________________________________
AliAnalysisTaskGammaConvFlow::AliAnalysisTaskGammaConvFlow(): AliAnalysisTaskSE(),
fV0Reader(NULL),
fBGHandler(NULL),
fBGHandlerRP(NULL),
fInputEvent(NULL),

fCutFolder(NULL),
fESDList(NULL),
fBackList(NULL),
fMotherList(NULL),
fPhotonDCAList(NULL),
fMesonDCAList(NULL),
//fTrueList(NULL),
//fMCList(NULL),
fHeaderNameList(NULL),
fOutputContainer(0),
fReaderGammas(NULL),
fGammaCandidates(NULL),
fEventCutArray(NULL),
fEventCuts(NULL),
fCutArray(NULL),
fConversionCuts(NULL),
fMesonCutArray(NULL),
fMesonCuts(NULL),
hESDConvGammaPt(NULL),
hESDConvGammaR(NULL),
hESDConvGammaEta(NULL),
//tESDConvGammaPtDcazCat(NULL),
fPtGamma(0),
fDCAzPhoton(0),
fRConvPhoton(0),
fEtaPhoton(0),
iCatPhoton(0),
iPhotonMCInfo(0),
hESDMotherInvMassPt(NULL),
//sESDMotherInvMassPtZM(NULL),
hESDMotherBackInvMassPt(NULL),
//sESDMotherBackInvMassPtZM(NULL),
hESDMotherInvMassEalpha(NULL),
hESDMotherPi0PtY(NULL),
hESDMotherEtaPtY(NULL),
hESDMotherPi0PtAlpha(NULL),
hESDMotherEtaPtAlpha(NULL),
hESDMotherPi0PtOpenAngle(NULL),
hESDMotherEtaPtOpenAngle(NULL),

hNEvents(NULL),
hNGoodESDTracks(NULL),
hNGammaCandidates(NULL),
hNGoodESDTracksVsNGammaCanditates(NULL),
hNV0Tracks(NULL),
hEtaShift(NULL),
tESDMesonsInvMassPtDcazMinDcazMaxFlag(NULL),
fInvMass(0),
fPt(0),
fDCAzGammaMin(0),
fDCAzGammaMax(0),
iFlag(0),
iMesonMCInfo(0),
fEventPlaneAngle(-100),
fRandom(0),
fnGammaCandidates(0),
fUnsmearedPx(NULL),
fUnsmearedPy(NULL),
fUnsmearedPz(NULL),
fUnsmearedE(NULL),
fMCStackPos(NULL),
fMCStackNeg(NULL),
fESDArrayPos(NULL),
fESDArrayNeg(NULL),
fnCuts(0),
fiCut(0),
fMoveParticleAccordingToVertex(kTRUE),
fIsHeavyIon(0),
fDoMesonAnalysis(kTRUE),
fDoMesonQA(0),
fDoPhotonQA(0),
fIsFromMBHeader(kTRUE),
fhistoEPVZ(NULL),
fDebug(0),
fCutsRP(0),
fNullCuts(0), 
fFlowEvent(0)
{
	// DefineOutput(1, TList::Class());
	// DefineOutput(2, AliFlowEventSimple::Class());
}

//________________________________________________________________________
AliAnalysisTaskGammaConvFlow::AliAnalysisTaskGammaConvFlow(const char *name):
AliAnalysisTaskSE(name),
fV0Reader(NULL),
fBGHandler(NULL),
fBGHandlerRP(NULL),
fInputEvent(NULL),
fCutFolder(NULL),
fESDList(NULL),
fBackList(NULL),
fMotherList(NULL),
fPhotonDCAList(NULL),
fMesonDCAList(NULL),
//fTrueList(NULL),
//fMCList(NULL),
fHeaderNameList(NULL),
fOutputContainer(0),
fReaderGammas(NULL),
fGammaCandidates(NULL),
fEventCutArray(NULL),
fEventCuts(NULL),
fCutArray(NULL),
fConversionCuts(NULL),
fMesonCutArray(NULL),
fMesonCuts(NULL),
hESDConvGammaPt(NULL),
hESDConvGammaR(NULL),
hESDConvGammaEta(NULL),
//tESDConvGammaPtDcazCat(NULL),
fPtGamma(0),
fDCAzPhoton(0),
fRConvPhoton(0),
fEtaPhoton(0),
iCatPhoton(0),
iPhotonMCInfo(0),
hESDMotherInvMassPt(NULL),
//sESDMotherInvMassPtZM(NULL),
hESDMotherBackInvMassPt(NULL),
//sESDMotherBackInvMassPtZM(NULL),
hESDMotherInvMassEalpha(NULL),
hESDMotherPi0PtY(NULL),
hESDMotherEtaPtY(NULL),
hESDMotherPi0PtAlpha(NULL),
hESDMotherEtaPtAlpha(NULL),
hESDMotherPi0PtOpenAngle(NULL),
hESDMotherEtaPtOpenAngle(NULL),
hNEvents(NULL),
hNGoodESDTracks(NULL),
hNGammaCandidates(NULL),
hNGoodESDTracksVsNGammaCanditates(NULL),
hNV0Tracks(NULL),
hEtaShift(NULL),
tESDMesonsInvMassPtDcazMinDcazMaxFlag(NULL),
fInvMass(0),
fPt(0),
fDCAzGammaMin(0),
fDCAzGammaMax(0),
iFlag(0),
iMesonMCInfo(0),
fEventPlaneAngle(-100),
fRandom(0),
fnGammaCandidates(0),
fUnsmearedPx(NULL),
fUnsmearedPy(NULL),
fUnsmearedPz(NULL),
fUnsmearedE(NULL),
fMCStackPos(NULL),
fMCStackNeg(NULL),
fESDArrayPos(NULL),
fESDArrayNeg(NULL),
fnCuts(0),
fiCut(0),
fMoveParticleAccordingToVertex(kTRUE),
fIsHeavyIon(0),
fDoMesonAnalysis(kTRUE),
fDoMesonQA(0),
fDoPhotonQA(0),
fIsFromMBHeader(kTRUE),
fhistoEPVZ(NULL),
fDebug(0),
fCutsRP(0), 
fNullCuts(0), 
fFlowEvent(0)

{
    // Define output slots here
    DefineOutput(1, TList::Class());
    DefineOutput(2, AliFlowEventSimple::Class());

}
//___________________________________________________________
AliAnalysisTaskGammaConvFlow::~AliAnalysisTaskGammaConvFlow()
{
	if(fGammaCandidates){
		delete fGammaCandidates;
		fGammaCandidates = 0x0;
	}
	if(fBGHandler){
		delete[] fBGHandler;
		fBGHandler = 0x0;
	}
	if(fBGHandlerRP){
		delete[] fBGHandlerRP;
		fBGHandlerRP = 0x0;
	}
	
	if (fFlowEvent) delete fFlowEvent;

}

//________________________________________________________________________
void AliAnalysisTaskGammaConvFlow::UserCreateOutputObjects(){
	
	// Create histograms
	if(fOutputContainer != NULL){
		delete fOutputContainer;
		fOutputContainer = NULL;
	}
	if(fOutputContainer == NULL){
		fOutputContainer = new TList();
		fOutputContainer->SetOwner(kTRUE);
	}
	
	//========================= again flow setting==========================
	//Create histograms
	//----------hfe initialising begin---------
	fNullCuts = new AliFlowTrackCuts("null_cuts");
	
	AliFlowCommonConstants* cc = AliFlowCommonConstants::GetMaster();
	cc->SetNbinsMult(10000);
	cc->SetMultMin(0);
	cc->SetMultMax(10000);
	
	cc->SetNbinsPt(100);
	cc->SetPtMin(0);
	cc->SetPtMax(20);
	
	cc->SetNbinsPhi(180);
	cc->SetPhiMin(0.0);
	cc->SetPhiMax(TMath::TwoPi());
	
	cc->SetNbinsEta(30);
	cc->SetEtaMin(-8.0);
	cc->SetEtaMax(+8.0);
	
	cc->SetNbinsQ(500);
	cc->SetQMin(0.0);
	cc->SetQMax(3.0);

	// Array of current cut's gammas
	fGammaCandidates = new TList();
	
	fCutFolder = new TList*[fnCuts];
	fESDList = new TList*[fnCuts];
	fBackList = new TList*[fnCuts];
	fMotherList = new TList*[fnCuts];
	hNEvents = new TH1I*[fnCuts];
	hNGoodESDTracks = new TH1I*[fnCuts];
	hNGammaCandidates = new TH1I*[fnCuts];
	hNGoodESDTracksVsNGammaCanditates = new TH2F*[fnCuts];
	hNV0Tracks = new TH1I*[fnCuts];
	hEtaShift = new TProfile*[fnCuts];
	hESDConvGammaPt = new TH1F*[fnCuts];
	
	if (fDoPhotonQA == 2){
		fPhotonDCAList = new TList*[fnCuts];
//      tESDConvGammaPtDcazCat = new TTree*[fnCuts];
	}
	if (fDoPhotonQA > 0){
		hESDConvGammaR = new TH1F*[fnCuts];
		hESDConvGammaEta = new TH1F*[fnCuts];
	}
	
	if(fDoMesonAnalysis){
		hESDMotherInvMassPt = new TH2F*[fnCuts];
		hESDMotherBackInvMassPt = new TH2F*[fnCuts];
		hESDMotherInvMassEalpha = new TH2F*[fnCuts];
		if (fDoMesonQA == 2){
			fMesonDCAList = new TList*[fnCuts];
			tESDMesonsInvMassPtDcazMinDcazMaxFlag = new TTree*[fnCuts];
		}
		if (fDoMesonQA > 0){
			hESDMotherPi0PtY =  new TH2F*[fnCuts];
			hESDMotherEtaPtY =  new TH2F*[fnCuts];
			hESDMotherPi0PtAlpha =  new TH2F*[fnCuts];
			hESDMotherEtaPtAlpha =  new TH2F*[fnCuts];
			hESDMotherPi0PtOpenAngle =  new TH2F*[fnCuts];
			hESDMotherEtaPtOpenAngle =  new TH2F*[fnCuts];
		}
	}
	
	for(Int_t iCut = 0; iCut<fnCuts;iCut++){
		
		TString cutstringEvent 	= ((AliConvEventCuts*)fEventCutArray->At(iCut))->GetCutNumber();
		TString cutstringPhoton = ((AliConversionPhotonCuts*)fCutArray->At(iCut))->GetCutNumber();
		TString cutstringMeson = "NoMesonCut";
		if(fDoMesonAnalysis)cutstringMeson = ((AliConversionMesonCuts*)fMesonCutArray->At(iCut))->GetCutNumber();
		
		fCutFolder[iCut] = new TList();
		fCutFolder[iCut]->SetName(Form("Cut Number %s_%s_%s",cutstringEvent.Data() ,cutstringPhoton.Data(),cutstringMeson.Data()));
		fCutFolder[iCut]->SetOwner(kTRUE);
		fOutputContainer->Add(fCutFolder[iCut]);
		fESDList[iCut] = new TList();
		fESDList[iCut]->SetName(Form("%s_%s_%s ESD histograms",cutstringEvent.Data() ,cutstringPhoton.Data(),cutstringMeson.Data()));
		fESDList[iCut]->SetOwner(kTRUE);
		fCutFolder[iCut]->Add(fESDList[iCut]);
		
		hNEvents[iCut] = new TH1I("NEvents","NEvents",10,-0.5,9.5);
		hNEvents[iCut]->GetXaxis()->SetBinLabel(1,"Accepted");
		hNEvents[iCut]->GetXaxis()->SetBinLabel(2,"Centrality");
		hNEvents[iCut]->GetXaxis()->SetBinLabel(3,"Missing MC");
		if (((AliConvEventCuts*)fEventCutArray->At(iCut))->IsSpecialTrigger() > 1 ){
			TString TriggerNames = "Not Trigger: ";
			TriggerNames = TriggerNames+ ( (AliConvEventCuts*)fEventCutArray->At(iCut))->GetSpecialTriggerName();
			hNEvents[iCut]->GetXaxis()->SetBinLabel(4,TriggerNames.Data());
		} else {
			hNEvents[iCut]->GetXaxis()->SetBinLabel(4,"Trigger");
		}
		hNEvents[iCut]->GetXaxis()->SetBinLabel(5,"Vertex Z");
		hNEvents[iCut]->GetXaxis()->SetBinLabel(6,"Cont. Vertex");
		hNEvents[iCut]->GetXaxis()->SetBinLabel(7,"Pile-Up");
		hNEvents[iCut]->GetXaxis()->SetBinLabel(8,"no SDD");
		hNEvents[iCut]->GetXaxis()->SetBinLabel(9,"no V0AND");
		hNEvents[iCut]->GetXaxis()->SetBinLabel(10,"EMCAL problem");
		fESDList[iCut]->Add(hNEvents[iCut]);
		
		if(fIsHeavyIon == 1) hNGoodESDTracks[iCut] = new TH1I("GoodESDTracks","GoodESDTracks",4000,0,4000);
		else if(fIsHeavyIon == 2) hNGoodESDTracks[iCut] = new TH1I("GoodESDTracks","GoodESDTracks",400,0,400);
		else hNGoodESDTracks[iCut] = new TH1I("GoodESDTracks","GoodESDTracks",200,0,200);
		fESDList[iCut]->Add(hNGoodESDTracks[iCut]);
		if(fIsHeavyIon == 1) hNGammaCandidates[iCut] = new TH1I("GammaCandidates","GammaCandidates",100,0,100);
		else if(fIsHeavyIon == 2) hNGammaCandidates[iCut] = new TH1I("GammaCandidates","GammaCandidates",50,0,50);
		else hNGammaCandidates[iCut] = new TH1I("GammaCandidates","GammaCandidates",50,0,50);
		fESDList[iCut]->Add(hNGammaCandidates[iCut]);
		if(fIsHeavyIon == 1) hNGoodESDTracksVsNGammaCanditates[iCut] = new TH2F("GoodESDTracksVsGammaCandidates","GoodESDTracksVsGammaCandidates",4000,0,4000,100,0,100);
		else if(fIsHeavyIon == 2) hNGoodESDTracksVsNGammaCanditates[iCut] = new TH2F("GoodESDTracksVsGammaCandidates","GoodESDTracksVsGammaCandidates",400,0,400,50,0,50);
		else hNGoodESDTracksVsNGammaCanditates[iCut] = new TH2F("GoodESDTracksVsGammaCandidates","GoodESDTracksVsGammaCandidates",200,0,200,50,0,50);
		fESDList[iCut]->Add(hNGoodESDTracksVsNGammaCanditates[iCut]);
		
		
		if(fIsHeavyIon == 1) hNV0Tracks[iCut] = new TH1I("V0 Multiplicity","V0 Multiplicity",30000,0,30000);
		else if(fIsHeavyIon == 2) hNV0Tracks[iCut] = new TH1I("V0 Multiplicity","V0 Multiplicity",2500,0,2500);
		else hNV0Tracks[iCut] = new TH1I("V0 Multiplicity","V0 Multiplicity",1500,0,1500);
		fESDList[iCut]->Add(hNV0Tracks[iCut]);
		hEtaShift[iCut] = new TProfile("Eta Shift","Eta Shift",1, -0.5,0.5);
		fESDList[iCut]->Add(hEtaShift[iCut]);
		hESDConvGammaPt[iCut] = new TH1F("ESD_ConvGamma_Pt","ESD_ConvGamma_Pt",250,0,25);
		fESDList[iCut]->Add(hESDConvGammaPt[iCut]);
		
		if (fDoPhotonQA == 2){
			fPhotonDCAList[iCut] = new TList();
			fPhotonDCAList[iCut]->SetName(Form("%s_%s_%s Photon DCA tree",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringMeson.Data()));
			fPhotonDCAList[iCut]->SetOwner(kTRUE);
			fCutFolder[iCut]->Add(fPhotonDCAList[iCut]);
			
//            tESDConvGammaPtDcazCat[iCut] = new TTree("ESD_ConvGamma_Pt_Dcaz_R_Eta","ESD_ConvGamma_Pt_Dcaz_R_Eta_Cat");
//            tESDConvGammaPtDcazCat[iCut]->Branch("Pt",&fPtGamma,"fPtGamma/F");
//            tESDConvGammaPtDcazCat[iCut]->Branch("DcaZPhoton",&fDCAzPhoton,"fDCAzPhoton/F");
			//          tESDConvGammaPtDcazCat[iCut]->Branch("R",&fRConvPhoton,"fRConvPhoton/F");
			//          tESDConvGammaPtDcazCat[iCut]->Branch("Eta",&fEtaPhoton,"fEtaPhoton/F");
			
		//    tESDConvGammaPtDcazCat[iCut]->Branch("cat",&iCatPhoton,"iCatPhoton/b");

	//        fPhotonDCAList[iCut]->Add(tESDConvGammaPtDcazCat[iCut]);
		}
		
		if (fDoPhotonQA > 0){
			hESDConvGammaR[iCut] = new TH1F("ESD_ConvGamma_R","ESD_ConvGamma_R",800,0,200);
			fESDList[iCut]->Add(hESDConvGammaR[iCut]);
			hESDConvGammaEta[iCut] = new TH1F("ESD_ConvGamma_Eta","ESD_ConvGamma_Eta",2000,-2,2);
			fESDList[iCut]->Add(hESDConvGammaEta[iCut]);
		}
		
		if(fDoMesonAnalysis){
			hESDMotherInvMassPt[iCut] = new TH2F("ESD_Mother_InvMass_Pt","ESD_Mother_InvMass_Pt",800,0,0.8,250,0,25);
			fESDList[iCut]->Add(hESDMotherInvMassPt[iCut]);
			hESDMotherBackInvMassPt[iCut] = new TH2F("ESD_Background_InvMass_Pt","ESD_Background_InvMass_Pt",800,0,0.8,250,0,25);
			fESDList[iCut]->Add(hESDMotherBackInvMassPt[iCut]);
			hESDMotherInvMassEalpha[iCut] = new TH2F("ESD_Mother_InvMass_vs_E_alpha","ESD_Mother_InvMass_vs_E_alpha",800,0,0.8,250,0,25);
			fESDList[iCut]->Add(hESDMotherInvMassEalpha[iCut]);
			if (fDoMesonQA == 2){
				fMesonDCAList[iCut] = new TList();
				fMesonDCAList[iCut]->SetName(Form("%s_%s_%s Meson DCA tree",cutstringEvent.Data() ,cutstringPhoton.Data(),cutstringMeson.Data()));
				fMesonDCAList[iCut]->SetOwner(kTRUE);
				fCutFolder[iCut]->Add(fMesonDCAList[iCut]);
				
				tESDMesonsInvMassPtDcazMinDcazMaxFlag[iCut] = new TTree("ESD_Mesons_InvMass_Pt_DcazMin_DcazMax_Flag","ESD_Mesons_InvMass_Pt_DcazMin_DcazMax_Flag");
				tESDMesonsInvMassPtDcazMinDcazMaxFlag[iCut]->Branch("InvMass",&fInvMass,"fInvMass/F");
				tESDMesonsInvMassPtDcazMinDcazMaxFlag[iCut]->Branch("Pt",&fPt,"fPt/F");
				tESDMesonsInvMassPtDcazMinDcazMaxFlag[iCut]->Branch("DcaZMin",&fDCAzGammaMin,"fDCAzGammaMin/F");
				tESDMesonsInvMassPtDcazMinDcazMaxFlag[iCut]->Branch("DcaZMax",&fDCAzGammaMax,"fDCAzGammaMax/F");
				
				fMesonDCAList[iCut]->Add(tESDMesonsInvMassPtDcazMinDcazMaxFlag[iCut]);
				
			}
			if (fDoMesonQA > 0 ){
				hESDMotherPi0PtY[iCut] = new TH2F("ESD_MotherPi0_Pt_Y","ESD_MotherPi0_Pt_Y",150,0.03,15.,150,-1.5,1.5);
				SetLogBinningXTH2(hESDMotherPi0PtY[iCut]);
				fESDList[iCut]->Add(hESDMotherPi0PtY[iCut]);
				hESDMotherEtaPtY[iCut] = new TH2F("ESD_MotherEta_Pt_Y","ESD_MotherEta_Pt_Y",150,0.03,15.,150,-1.5,1.5);
				SetLogBinningXTH2(hESDMotherEtaPtY[iCut]);
				fESDList[iCut]->Add(hESDMotherEtaPtY[iCut]);
				hESDMotherPi0PtAlpha[iCut] = new TH2F("ESD_MotherPi0_Pt_Alpha","ESD_MotherPi0_Pt_Alpha",150,0.03,15.,100,0,1);
				SetLogBinningXTH2(hESDMotherPi0PtAlpha[iCut]);
				fESDList[iCut]->Add(hESDMotherPi0PtAlpha[iCut]);
				hESDMotherEtaPtAlpha[iCut] = new TH2F("ESD_MotherEta_Pt_Alpha","ESD_MotherEta_Pt_Alpha",150,0.03,15.,100,0,1);
				SetLogBinningXTH2(hESDMotherEtaPtAlpha[iCut]);
				fESDList[iCut]->Add(hESDMotherEtaPtAlpha[iCut]);
				hESDMotherPi0PtOpenAngle[iCut] = new TH2F("ESD_MotherPi0_Pt_OpenAngle","ESD_MotherPi0_Pt_OpenAngle",150,0.03,15.,100,0,TMath::Pi());
				SetLogBinningXTH2(hESDMotherPi0PtOpenAngle[iCut]);
				fESDList[iCut]->Add(hESDMotherPi0PtOpenAngle[iCut]);
				hESDMotherEtaPtOpenAngle[iCut] = new TH2F("ESD_MotherEta_Pt_OpenAngle","ESD_MotherEta_Pt_OpenAngle",150,0.03,15.,100,0,TMath::Pi());
				SetLogBinningXTH2(hESDMotherEtaPtOpenAngle[iCut]);
				fESDList[iCut]->Add(hESDMotherEtaPtOpenAngle[iCut]);
			}
			
			
		}
		
		
	}
//     if(fDoMesonAnalysis){
//         InitBack(); // Init Background Handler
//     }
	

	
	fV0Reader=(AliV0ReaderV1*)AliAnalysisManager::GetAnalysisManager()->GetTask("V0ReaderV1");
	if(!fV0Reader){printf("Error: No V0 Reader");return;} // GetV0Reader
	
	if(fV0Reader)
		if((AliConvEventCuts*)fV0Reader->GetEventCuts())
			if(((AliConvEventCuts*)fV0Reader->GetEventCuts())->GetCutHistograms())
				fOutputContainer->Add(((AliConvEventCuts*)fV0Reader->GetEventCuts())->GetCutHistograms());
	
	if(fV0Reader)
		if((AliConversionPhotonCuts*)fV0Reader->GetConversionCuts())
			if(((AliConversionPhotonCuts*)fV0Reader->GetConversionCuts())->GetCutHistograms())
				fOutputContainer->Add(((AliConversionPhotonCuts*)fV0Reader->GetConversionCuts())->GetCutHistograms());
	
	for(Int_t iCut = 0; iCut<fnCuts;iCut++){
		if(!((AliConvEventCuts*)fEventCutArray->At(iCut))) continue;
		if(((AliConvEventCuts*)fEventCutArray->At(iCut))->GetCutHistograms()){
			fCutFolder[iCut]->Add(((AliConvEventCuts*)fEventCutArray->At(iCut))->GetCutHistograms());
		}
		if(!((AliConversionPhotonCuts*)fCutArray->At(iCut))) continue;
		if(((AliConversionPhotonCuts*)fCutArray->At(iCut))->GetCutHistograms()){
			fCutFolder[iCut]->Add(((AliConversionPhotonCuts*)fCutArray->At(iCut))->GetCutHistograms());
		}
		if(fDoMesonAnalysis){
			if(!((AliConversionMesonCuts*)fMesonCutArray->At(iCut))) continue;
			if(((AliConversionMesonCuts*)fMesonCutArray->At(iCut))->GetCutHistograms()){
				fCutFolder[iCut]->Add(((AliConversionMesonCuts*)fMesonCutArray->At(iCut))->GetCutHistograms());
			}
		}
	}
	
	fhistoEPVZ = new TH1D("EPVZ", "EPVZ", 60, -TMath::Pi()/2, TMath::Pi()/2);
    fOutputContainer->Add(fhistoEPVZ);


	
	PostData(1, fOutputContainer);

	fFlowEvent = new AliFlowEvent(10000);
	PostData(2, fFlowEvent);
	
}

//_____________________________________________________________________________
Bool_t AliAnalysisTaskGammaConvFlow::Notify()
{
	for(Int_t iCut = 0; iCut<fnCuts;iCut++){
		if(!((AliConvEventCuts*)fEventCutArray->At(iCut))->GetDoEtaShift()){
			hEtaShift[iCut]->Fill(0.,(((AliConvEventCuts*)fEventCutArray->At(iCut))->GetEtaShift()));
			continue; // No Eta Shift requested, continue
		}
		if(((AliConvEventCuts*)fEventCutArray->At(iCut))->GetEtaShift() == 0.0){ // Eta Shift requested but not set, get shift automatically
			((AliConvEventCuts*)fEventCutArray->At(iCut))->GetCorrectEtaShiftFromPeriod(fV0Reader->GetPeriodName());
			hEtaShift[iCut]->Fill(0.,(((AliConvEventCuts*)fEventCutArray->At(iCut))->GetEtaShift()));
			((AliConvEventCuts*)fEventCutArray->At(iCut))->DoEtaShift(kFALSE); // Eta Shift Set, make sure that it is called only once
			continue;
		}
		else{
			printf(" Gamma Conversion Task %s :: Eta Shift Manually Set to %f \n\n",
				(((AliConvEventCuts*)fEventCutArray->At(iCut))->GetCutNumber()).Data(),((AliConvEventCuts*)fEventCutArray->At(iCut))->GetEtaShift());
			hEtaShift[iCut]->Fill(0.,(((AliConvEventCuts*)fEventCutArray->At(iCut))->GetEtaShift()));
			((AliConvEventCuts*)fEventCutArray->At(iCut))->DoEtaShift(kFALSE); // Eta Shift Set, make sure that it is called only once
		}
	}
	return kTRUE;
}
//_____________________________________________________________________________
void AliAnalysisTaskGammaConvFlow::UserExec(Option_t *)
{
	//
	// Called for each event
	//
	Int_t eventQuality = ((AliConvEventCuts*)fV0Reader->GetEventCuts())->GetEventQuality();
	if(eventQuality == 2 || eventQuality == 3){// Event Not Accepted due to MC event missing or wrong trigger for V0ReaderV1
		for(Int_t iCut = 0; iCut<fnCuts; iCut++){
			hNEvents[iCut]->Fill(eventQuality);
		}
		return;
	}
	
	fInputEvent = InputEvent();

	fReaderGammas = fV0Reader->GetReconstructedGammas(); // Gammas from default Cut
	
	// ------------------- BeginEvent ----------------------------
	
	AliEventplane *EventPlane = fInputEvent->GetEventplane();
	if(fIsHeavyIon ==1)fEventPlaneAngle = EventPlane->GetEventplane("V0",fInputEvent,2);
	else fEventPlaneAngle=0.0;
	
	SetNullCuts(fInputEvent);
	PrepareFlowEvent(fInputEvent->GetNumberOfTracks(),fFlowEvent);    //Calculate event plane Qvector and EP resolution for inclusive

	

	
// 	for(Int_t iCut = 0; iCut<fnCuts; iCut++){
		Int_t iCut = 0;
		fiCut = iCut;
		Int_t eventNotAccepted =
		((AliConvEventCuts*)fEventCutArray->At(iCut))
		->IsEventAcceptedByCut(fV0Reader->GetEventCuts(),fInputEvent,fMCEvent,fIsHeavyIon,kFALSE);
		if(eventNotAccepted){
			// cout << "event rejected due to wrong trigger: " <<eventNotAccepted << endl;
			hNEvents[iCut]->Fill(eventNotAccepted); // Check Centrality, PileUp, SDD and V0AND --> Not Accepted => eventQuality = 1
			return;
		}
		
		if(eventQuality != 0){// Event Not Accepted
			// cout << "event rejected due to: " <<eventQuality << endl;
			hNEvents[iCut]->Fill(eventQuality);
			return;
		}
				
		hNEvents[iCut]->Fill(eventQuality); // Should be 0 here
		hNGoodESDTracks[iCut]->Fill(fV0Reader->GetNumberOfPrimaryTracks());
		if(((AliConvEventCuts*)fEventCutArray->At(iCut))->IsHeavyIon() == 2)	hNV0Tracks[iCut]->Fill(fInputEvent->GetVZEROData()->GetMTotV0A());
		else hNV0Tracks[iCut]->Fill(fInputEvent->GetVZEROData()->GetMTotV0A()+fInputEvent->GetVZEROData()->GetMTotV0C());
		
		ProcessPhotonCandidates(); // Process this cuts gammas
		ProcessPhotonCandidatesforV2(); // Process this cuts gammas and do v2

		hNGammaCandidates[iCut]->Fill(fGammaCandidates->GetEntries());
		hNGoodESDTracksVsNGammaCanditates[iCut]->Fill(fV0Reader->GetNumberOfPrimaryTracks(),fGammaCandidates->GetEntries());

		fGammaCandidates->Clear(); // delete this cuts good gammas
// 	}
	
	fhistoEPVZ->Fill(fEventPlaneAngle);

	PostData(1, fOutputContainer);
	PostData(2, fFlowEvent);

}
//________________________________________________________________________
void AliAnalysisTaskGammaConvFlow::ProcessPhotonCandidates()
{
    Int_t nV0 = 0;
    TList *GammaCandidatesStepOne = new TList();
    TList *GammaCandidatesStepTwo = new TList();
    // Loop over Photon Candidates allocated by ReaderV1
    for(Int_t i = 0; i < fReaderGammas->GetEntriesFast(); i++){
        AliAODConversionPhoton* PhotonCandidate = (AliAODConversionPhoton*) fReaderGammas->At(i);
        if(!PhotonCandidate) continue;
        fIsFromMBHeader = kTRUE;

        
        if(!((AliConversionPhotonCuts*)fCutArray->At(fiCut))->PhotonIsSelected(PhotonCandidate,fInputEvent)) continue;
        if(!((AliConversionPhotonCuts*)fCutArray->At(fiCut))->InPlaneOutOfPlaneCut(PhotonCandidate->GetPhotonPhi(),fEventPlaneAngle)) continue;
        if(!((AliConversionPhotonCuts*)fCutArray->At(fiCut))->UseElecSharingCut() &&
           !((AliConversionPhotonCuts*)fCutArray->At(fiCut))->UseToCloseV0sCut()){
            fGammaCandidates->Add(PhotonCandidate); // if no second loop is required add to events good gammas
            
            if(fIsFromMBHeader){
                hESDConvGammaPt[fiCut]->Fill(PhotonCandidate->Pt());
                if (fDoPhotonQA > 0){
                    hESDConvGammaR[fiCut]->Fill(PhotonCandidate->GetConversionRadius());
                    hESDConvGammaEta[fiCut]->Fill(PhotonCandidate->Eta());
                }
            }

            
            if (fIsFromMBHeader && fDoPhotonQA == 2){
                if (fIsHeavyIon == 1 && PhotonCandidate->Pt() > 0.399 && PhotonCandidate->Pt() < 12.){
                    fPtGamma = PhotonCandidate->Pt();
                    fDCAzPhoton = PhotonCandidate->GetDCAzToPrimVtx();
                    fRConvPhoton = PhotonCandidate->GetConversionRadius();
                    fEtaPhoton = PhotonCandidate->GetPhotonEta();
                    iCatPhoton = PhotonCandidate->GetPhotonQuality();
                   // tESDConvGammaPtDcazCat[fiCut]->Fill();
                } else if ( PhotonCandidate->Pt() > 0.299 && PhotonCandidate->Pt() < 16.){
                    fPtGamma = PhotonCandidate->Pt();
                    fDCAzPhoton = PhotonCandidate->GetDCAzToPrimVtx();
                    fRConvPhoton = PhotonCandidate->GetConversionRadius();
                    fEtaPhoton = PhotonCandidate->GetPhotonEta();
                    iCatPhoton = PhotonCandidate->GetPhotonQuality();
                  //  tESDConvGammaPtDcazCat[fiCut]->Fill();
                }
            }
        } else if(((AliConversionPhotonCuts*)fCutArray->At(fiCut))->UseElecSharingCut()){ // if Shared Electron cut is enabled, Fill array, add to step one
            ((AliConversionPhotonCuts*)fCutArray->At(fiCut))->FillElectonLabelArray(PhotonCandidate,nV0);
            nV0++;
            GammaCandidatesStepOne->Add(PhotonCandidate);
        } else if(!((AliConversionPhotonCuts*)fCutArray->At(fiCut))->UseElecSharingCut() &&
                  ((AliConversionPhotonCuts*)fCutArray->At(fiCut))->UseToCloseV0sCut()){ // shared electron is disabled, step one not needed -> step two
            GammaCandidatesStepTwo->Add(PhotonCandidate);
        }
    }
    
    
    
    if(((AliConversionPhotonCuts*)fCutArray->At(fiCut))->UseElecSharingCut()){
        for(Int_t i = 0;i<GammaCandidatesStepOne->GetEntries();i++){
            AliAODConversionPhoton *PhotonCandidate= (AliAODConversionPhoton*) GammaCandidatesStepOne->At(i);
            if(!PhotonCandidate) continue;
            fIsFromMBHeader = kTRUE;

            if(!((AliConversionPhotonCuts*)fCutArray->At(fiCut))->RejectSharedElectronV0s(PhotonCandidate,i,GammaCandidatesStepOne->GetEntries())) continue;
            if(!((AliConversionPhotonCuts*)fCutArray->At(fiCut))->UseToCloseV0sCut()){ // To Colse v0s cut diabled, step two not needed
                fGammaCandidates->Add(PhotonCandidate);
                if(fIsFromMBHeader){
                    hESDConvGammaPt[fiCut]->Fill(PhotonCandidate->Pt());
                    if (fDoPhotonQA > 0){
                        hESDConvGammaR[fiCut]->Fill(PhotonCandidate->GetConversionRadius());
                        hESDConvGammaEta[fiCut]->Fill(PhotonCandidate->Eta());
                    }
                }
            }

                
                GammaCandidatesStepTwo->Add(PhotonCandidate); // Close v0s cut enabled -> add to list two
            
            if (fIsFromMBHeader && fDoPhotonQA == 2){
                if (fIsHeavyIon ==1 && PhotonCandidate->Pt() > 0.399 && PhotonCandidate->Pt() < 12.){
                    fPtGamma = PhotonCandidate->Pt();
                    fDCAzPhoton = PhotonCandidate->GetDCAzToPrimVtx();
                    fRConvPhoton = PhotonCandidate->GetConversionRadius();
                    fEtaPhoton = PhotonCandidate->GetPhotonEta();
                    iCatPhoton = PhotonCandidate->GetPhotonQuality();
                //    tESDConvGammaPtDcazCat[fiCut]->Fill();
                } else if ( PhotonCandidate->Pt() > 0.299 && PhotonCandidate->Pt() < 16.){
                    fPtGamma = PhotonCandidate->Pt();
                    fDCAzPhoton = PhotonCandidate->GetDCAzToPrimVtx();
                    fRConvPhoton = PhotonCandidate->GetConversionRadius();
                    fEtaPhoton = PhotonCandidate->GetPhotonEta();
                    iCatPhoton = PhotonCandidate->GetPhotonQuality();
                //    tESDConvGammaPtDcazCat[fiCut]->Fill();
                }
            }
        }
    }
    if(((AliConversionPhotonCuts*)fCutArray->At(fiCut))->UseToCloseV0sCut()){
        for(Int_t i = 0;i<GammaCandidatesStepTwo->GetEntries();i++){
            AliAODConversionPhoton* PhotonCandidate = (AliAODConversionPhoton*) GammaCandidatesStepTwo->At(i);
            if(!PhotonCandidate) continue;
            fIsFromMBHeader = kTRUE;

            if(!((AliConversionPhotonCuts*)fCutArray->At(fiCut))->RejectToCloseV0s(PhotonCandidate,GammaCandidatesStepTwo,i)) continue;
            fGammaCandidates->Add(PhotonCandidate); // Add gamma to current cut TList
            if(fIsFromMBHeader){
                hESDConvGammaPt[fiCut]->Fill(PhotonCandidate->Pt());
                if (fDoPhotonQA > 0){
                    hESDConvGammaR[fiCut]->Fill(PhotonCandidate->GetConversionRadius());
                    hESDConvGammaEta[fiCut]->Fill(PhotonCandidate->Eta());
                }
            }

            if (fIsFromMBHeader){
                if (fIsHeavyIon == 1 && PhotonCandidate->Pt() > 0.399 && PhotonCandidate->Pt() < 12.){
                    fPtGamma = PhotonCandidate->Pt();
                    fDCAzPhoton = PhotonCandidate->GetDCAzToPrimVtx();
                    fRConvPhoton = PhotonCandidate->GetConversionRadius();
                    fEtaPhoton = PhotonCandidate->GetPhotonEta();
                    iCatPhoton = PhotonCandidate->GetPhotonQuality();
               //     tESDConvGammaPtDcazCat[fiCut]->Fill();
                } else if ( PhotonCandidate->Pt() > 0.299 && PhotonCandidate->Pt() < 16.){
                    fPtGamma = PhotonCandidate->Pt();
                    fDCAzPhoton = PhotonCandidate->GetDCAzToPrimVtx();
                    fRConvPhoton = PhotonCandidate->GetConversionRadius();
                    fEtaPhoton = PhotonCandidate->GetPhotonEta();
                    iCatPhoton = PhotonCandidate->GetPhotonQuality();
                  //  tESDConvGammaPtDcazCat[fiCut]->Fill();
                }
            }
        }
    }
    
    delete GammaCandidatesStepOne;
    GammaCandidatesStepOne = 0x0;
    delete GammaCandidatesStepTwo;
    GammaCandidatesStepTwo = 0x0;
    
}
//________________________________________________________________________
void AliAnalysisTaskGammaConvFlow::UpdateEventByEventData(){
    //see header file for documentation
    if(fGammaCandidates->GetEntries() >0 ){
        if(((AliConversionMesonCuts*)fMesonCutArray->At(fiCut))->UseTrackMultiplicity()){
            fBGHandler[fiCut]->AddEvent(fGammaCandidates,fInputEvent->GetPrimaryVertex()->GetX(),fInputEvent->GetPrimaryVertex()->GetY(),fInputEvent->GetPrimaryVertex()->GetZ(),fV0Reader->GetNumberOfPrimaryTracks(),fEventPlaneAngle);
        }
        else{ // means we use #V0s for multiplicity
            fBGHandler[fiCut]->AddEvent(fGammaCandidates,fInputEvent->GetPrimaryVertex()->GetX(),fInputEvent->GetPrimaryVertex()->GetY(),fInputEvent->GetPrimaryVertex()->GetZ(),fGammaCandidates->GetEntries(),fEventPlaneAngle);
        }
    }
}
//________________________________________________________________________
void AliAnalysisTaskGammaConvFlow::SetLogBinningXTH2(TH2* histoRebin){
    TAxis *axisafter = histoRebin->GetXaxis(); 
    Int_t bins = axisafter->GetNbins();
    Double_t from = axisafter->GetXmin();
    Double_t to = axisafter->GetXmax();
    Double_t *newbins = new Double_t[bins+1];
    newbins[0] = from;
    Double_t factor = TMath::Power(to/from, 1./bins);
    for(Int_t i=1; i<=bins; ++i) newbins[i] = factor * newbins[i-1];
    axisafter->Set(bins, newbins);
    delete [] newbins;
}

//________________________________________________________________________
void AliAnalysisTaskGammaConvFlow::Terminate(const Option_t *)
{
    
    //fOutputContainer->Print(); // Will crash on GRID
}

//________________________________________________________________________
void AliAnalysisTaskGammaConvFlow::ProcessPhotonCandidatesforV2()
{

	// Loop over Photon Candidates allocated by ReaderV1
	
	
	for(Int_t i = 0; i < fGammaCandidates->GetEntries(); i++){
		
		AliAODConversionPhoton *gammaForv2=dynamic_cast<AliAODConversionPhoton*>(fGammaCandidates->At(i));

		AliFlowTrack *sTrack = new AliFlowTrack();
		sTrack->SetForRPSelection(kFALSE);
		sTrack->SetForPOISelection(kTRUE);
		sTrack->SetMass(263732);
		sTrack->SetPt(gammaForv2->Pt());
		sTrack->SetPhi(gammaForv2->GetPhotonPhi());
		sTrack->SetEta(gammaForv2->GetPhotonEta());

	/*     for(int iRPs=0; iRPs!=fFlowEvent->NumberOfTracks(); ++iRPs)
		{
			//   cout << " no of rps " << iRPs << endl;
			AliFlowTrack *iRP = dynamic_cast<AliFlowTrack*>(fFlowEvent->GetTrack( iRPs ));
			if (!iRP) continue;
			if (!iRP->InRPSelection()) continue;
			if( sTrack->GetID() == iRP->GetID())
			{
				if(fDebug) printf(" was in RP set");
				//  cout << sTrack->GetID() <<"   ==  " << iRP->GetID() << " was in RP set====REMOVED" <<endl;
				iRP->SetForRPSelection(kFALSE);
				// fFlowEvent->SetNumberOfRPs(fFlowEvent->GetNumberOfRPs() - 1);
			}
		} //end of for loop on RPs*/
		fFlowEvent->InsertTrack(((AliFlowTrack*) sTrack));
		fFlowEvent->SetNumberOfPOIs(fFlowEvent->GetNumberOfPOIs()+1);
	}
}

//_____________________________________________________________________________
template <typename T> void AliAnalysisTaskGammaConvFlow::SetNullCuts(T* event)
{
	// Set null cuts
	if (fDebug) cout << " fCutsRP " << fCutsRP << endl;
	fCutsRP->SetEvent(event, MCEvent());
	fNullCuts->SetParamType(AliFlowTrackCuts::kGlobal);
	fNullCuts->SetPtRange(+1, -1); // select nothing QUICK
	fNullCuts->SetEtaRange(+1, -1); // select nothing VZERO
	fNullCuts->SetEvent(event, MCEvent());
}

//_____________________________________________________________________________
void AliAnalysisTaskGammaConvFlow::PrepareFlowEvent(Int_t iMulti, AliFlowEvent *FlowEv) const
{
   //Prepare flow events
    FlowEv->ClearFast();
    FlowEv->Fill(fCutsRP, fNullCuts);
    FlowEv->SetReferenceMultiplicity(iMulti);
    FlowEv->DefineDeadZone(0, 0, 0, 0);
    //  FlowEv->TagSubeventsInEta(-0.7, 0, 0, 0.7);
}






 AliAnalysisTaskGammaConvFlow.cxx:1
 AliAnalysisTaskGammaConvFlow.cxx:2
 AliAnalysisTaskGammaConvFlow.cxx:3
 AliAnalysisTaskGammaConvFlow.cxx:4
 AliAnalysisTaskGammaConvFlow.cxx:5
 AliAnalysisTaskGammaConvFlow.cxx:6
 AliAnalysisTaskGammaConvFlow.cxx:7
 AliAnalysisTaskGammaConvFlow.cxx:8
 AliAnalysisTaskGammaConvFlow.cxx:9
 AliAnalysisTaskGammaConvFlow.cxx:10
 AliAnalysisTaskGammaConvFlow.cxx:11
 AliAnalysisTaskGammaConvFlow.cxx:12
 AliAnalysisTaskGammaConvFlow.cxx:13
 AliAnalysisTaskGammaConvFlow.cxx:14
 AliAnalysisTaskGammaConvFlow.cxx:15
 AliAnalysisTaskGammaConvFlow.cxx:16
 AliAnalysisTaskGammaConvFlow.cxx:17
 AliAnalysisTaskGammaConvFlow.cxx:18
 AliAnalysisTaskGammaConvFlow.cxx:19
 AliAnalysisTaskGammaConvFlow.cxx:20
 AliAnalysisTaskGammaConvFlow.cxx:21
 AliAnalysisTaskGammaConvFlow.cxx:22
 AliAnalysisTaskGammaConvFlow.cxx:23
 AliAnalysisTaskGammaConvFlow.cxx:24
 AliAnalysisTaskGammaConvFlow.cxx:25
 AliAnalysisTaskGammaConvFlow.cxx:26
 AliAnalysisTaskGammaConvFlow.cxx:27
 AliAnalysisTaskGammaConvFlow.cxx:28
 AliAnalysisTaskGammaConvFlow.cxx:29
 AliAnalysisTaskGammaConvFlow.cxx:30
 AliAnalysisTaskGammaConvFlow.cxx:31
 AliAnalysisTaskGammaConvFlow.cxx:32
 AliAnalysisTaskGammaConvFlow.cxx:33
 AliAnalysisTaskGammaConvFlow.cxx:34
 AliAnalysisTaskGammaConvFlow.cxx:35
 AliAnalysisTaskGammaConvFlow.cxx:36
 AliAnalysisTaskGammaConvFlow.cxx:37
 AliAnalysisTaskGammaConvFlow.cxx:38
 AliAnalysisTaskGammaConvFlow.cxx:39
 AliAnalysisTaskGammaConvFlow.cxx:40
 AliAnalysisTaskGammaConvFlow.cxx:41
 AliAnalysisTaskGammaConvFlow.cxx:42
 AliAnalysisTaskGammaConvFlow.cxx:43
 AliAnalysisTaskGammaConvFlow.cxx:44
 AliAnalysisTaskGammaConvFlow.cxx:45
 AliAnalysisTaskGammaConvFlow.cxx:46
 AliAnalysisTaskGammaConvFlow.cxx:47
 AliAnalysisTaskGammaConvFlow.cxx:48
 AliAnalysisTaskGammaConvFlow.cxx:49
 AliAnalysisTaskGammaConvFlow.cxx:50
 AliAnalysisTaskGammaConvFlow.cxx:51
 AliAnalysisTaskGammaConvFlow.cxx:52
 AliAnalysisTaskGammaConvFlow.cxx:53
 AliAnalysisTaskGammaConvFlow.cxx:54
 AliAnalysisTaskGammaConvFlow.cxx:55
 AliAnalysisTaskGammaConvFlow.cxx:56
 AliAnalysisTaskGammaConvFlow.cxx:57
 AliAnalysisTaskGammaConvFlow.cxx:58
 AliAnalysisTaskGammaConvFlow.cxx:59
 AliAnalysisTaskGammaConvFlow.cxx:60
 AliAnalysisTaskGammaConvFlow.cxx:61
 AliAnalysisTaskGammaConvFlow.cxx:62
 AliAnalysisTaskGammaConvFlow.cxx:63
 AliAnalysisTaskGammaConvFlow.cxx:64
 AliAnalysisTaskGammaConvFlow.cxx:65
 AliAnalysisTaskGammaConvFlow.cxx:66
 AliAnalysisTaskGammaConvFlow.cxx:67
 AliAnalysisTaskGammaConvFlow.cxx:68
 AliAnalysisTaskGammaConvFlow.cxx:69
 AliAnalysisTaskGammaConvFlow.cxx:70
 AliAnalysisTaskGammaConvFlow.cxx:71
 AliAnalysisTaskGammaConvFlow.cxx:72
 AliAnalysisTaskGammaConvFlow.cxx:73
 AliAnalysisTaskGammaConvFlow.cxx:74
 AliAnalysisTaskGammaConvFlow.cxx:75
 AliAnalysisTaskGammaConvFlow.cxx:76
 AliAnalysisTaskGammaConvFlow.cxx:77
 AliAnalysisTaskGammaConvFlow.cxx:78
 AliAnalysisTaskGammaConvFlow.cxx:79
 AliAnalysisTaskGammaConvFlow.cxx:80
 AliAnalysisTaskGammaConvFlow.cxx:81
 AliAnalysisTaskGammaConvFlow.cxx:82
 AliAnalysisTaskGammaConvFlow.cxx:83
 AliAnalysisTaskGammaConvFlow.cxx:84
 AliAnalysisTaskGammaConvFlow.cxx:85
 AliAnalysisTaskGammaConvFlow.cxx:86
 AliAnalysisTaskGammaConvFlow.cxx:87
 AliAnalysisTaskGammaConvFlow.cxx:88
 AliAnalysisTaskGammaConvFlow.cxx:89
 AliAnalysisTaskGammaConvFlow.cxx:90
 AliAnalysisTaskGammaConvFlow.cxx:91
 AliAnalysisTaskGammaConvFlow.cxx:92
 AliAnalysisTaskGammaConvFlow.cxx:93
 AliAnalysisTaskGammaConvFlow.cxx:94
 AliAnalysisTaskGammaConvFlow.cxx:95
 AliAnalysisTaskGammaConvFlow.cxx:96
 AliAnalysisTaskGammaConvFlow.cxx:97
 AliAnalysisTaskGammaConvFlow.cxx:98
 AliAnalysisTaskGammaConvFlow.cxx:99
 AliAnalysisTaskGammaConvFlow.cxx:100
 AliAnalysisTaskGammaConvFlow.cxx:101
 AliAnalysisTaskGammaConvFlow.cxx:102
 AliAnalysisTaskGammaConvFlow.cxx:103
 AliAnalysisTaskGammaConvFlow.cxx:104
 AliAnalysisTaskGammaConvFlow.cxx:105
 AliAnalysisTaskGammaConvFlow.cxx:106
 AliAnalysisTaskGammaConvFlow.cxx:107
 AliAnalysisTaskGammaConvFlow.cxx:108
 AliAnalysisTaskGammaConvFlow.cxx:109
 AliAnalysisTaskGammaConvFlow.cxx:110
 AliAnalysisTaskGammaConvFlow.cxx:111
 AliAnalysisTaskGammaConvFlow.cxx:112
 AliAnalysisTaskGammaConvFlow.cxx:113
 AliAnalysisTaskGammaConvFlow.cxx:114
 AliAnalysisTaskGammaConvFlow.cxx:115
 AliAnalysisTaskGammaConvFlow.cxx:116
 AliAnalysisTaskGammaConvFlow.cxx:117
 AliAnalysisTaskGammaConvFlow.cxx:118
 AliAnalysisTaskGammaConvFlow.cxx:119
 AliAnalysisTaskGammaConvFlow.cxx:120
 AliAnalysisTaskGammaConvFlow.cxx:121
 AliAnalysisTaskGammaConvFlow.cxx:122
 AliAnalysisTaskGammaConvFlow.cxx:123
 AliAnalysisTaskGammaConvFlow.cxx:124
 AliAnalysisTaskGammaConvFlow.cxx:125
 AliAnalysisTaskGammaConvFlow.cxx:126
 AliAnalysisTaskGammaConvFlow.cxx:127
 AliAnalysisTaskGammaConvFlow.cxx:128
 AliAnalysisTaskGammaConvFlow.cxx:129
 AliAnalysisTaskGammaConvFlow.cxx:130
 AliAnalysisTaskGammaConvFlow.cxx:131
 AliAnalysisTaskGammaConvFlow.cxx:132
 AliAnalysisTaskGammaConvFlow.cxx:133
 AliAnalysisTaskGammaConvFlow.cxx:134
 AliAnalysisTaskGammaConvFlow.cxx:135
 AliAnalysisTaskGammaConvFlow.cxx:136
 AliAnalysisTaskGammaConvFlow.cxx:137
 AliAnalysisTaskGammaConvFlow.cxx:138
 AliAnalysisTaskGammaConvFlow.cxx:139
 AliAnalysisTaskGammaConvFlow.cxx:140
 AliAnalysisTaskGammaConvFlow.cxx:141
 AliAnalysisTaskGammaConvFlow.cxx:142
 AliAnalysisTaskGammaConvFlow.cxx:143
 AliAnalysisTaskGammaConvFlow.cxx:144
 AliAnalysisTaskGammaConvFlow.cxx:145
 AliAnalysisTaskGammaConvFlow.cxx:146
 AliAnalysisTaskGammaConvFlow.cxx:147
 AliAnalysisTaskGammaConvFlow.cxx:148
 AliAnalysisTaskGammaConvFlow.cxx:149
 AliAnalysisTaskGammaConvFlow.cxx:150
 AliAnalysisTaskGammaConvFlow.cxx:151
 AliAnalysisTaskGammaConvFlow.cxx:152
 AliAnalysisTaskGammaConvFlow.cxx:153
 AliAnalysisTaskGammaConvFlow.cxx:154
 AliAnalysisTaskGammaConvFlow.cxx:155
 AliAnalysisTaskGammaConvFlow.cxx:156
 AliAnalysisTaskGammaConvFlow.cxx:157
 AliAnalysisTaskGammaConvFlow.cxx:158
 AliAnalysisTaskGammaConvFlow.cxx:159
 AliAnalysisTaskGammaConvFlow.cxx:160
 AliAnalysisTaskGammaConvFlow.cxx:161
 AliAnalysisTaskGammaConvFlow.cxx:162
 AliAnalysisTaskGammaConvFlow.cxx:163
 AliAnalysisTaskGammaConvFlow.cxx:164
 AliAnalysisTaskGammaConvFlow.cxx:165
 AliAnalysisTaskGammaConvFlow.cxx:166
 AliAnalysisTaskGammaConvFlow.cxx:167
 AliAnalysisTaskGammaConvFlow.cxx:168
 AliAnalysisTaskGammaConvFlow.cxx:169
 AliAnalysisTaskGammaConvFlow.cxx:170
 AliAnalysisTaskGammaConvFlow.cxx:171
 AliAnalysisTaskGammaConvFlow.cxx:172
 AliAnalysisTaskGammaConvFlow.cxx:173
 AliAnalysisTaskGammaConvFlow.cxx:174
 AliAnalysisTaskGammaConvFlow.cxx:175
 AliAnalysisTaskGammaConvFlow.cxx:176
 AliAnalysisTaskGammaConvFlow.cxx:177
 AliAnalysisTaskGammaConvFlow.cxx:178
 AliAnalysisTaskGammaConvFlow.cxx:179
 AliAnalysisTaskGammaConvFlow.cxx:180
 AliAnalysisTaskGammaConvFlow.cxx:181
 AliAnalysisTaskGammaConvFlow.cxx:182
 AliAnalysisTaskGammaConvFlow.cxx:183
 AliAnalysisTaskGammaConvFlow.cxx:184
 AliAnalysisTaskGammaConvFlow.cxx:185
 AliAnalysisTaskGammaConvFlow.cxx:186
 AliAnalysisTaskGammaConvFlow.cxx:187
 AliAnalysisTaskGammaConvFlow.cxx:188
 AliAnalysisTaskGammaConvFlow.cxx:189
 AliAnalysisTaskGammaConvFlow.cxx:190
 AliAnalysisTaskGammaConvFlow.cxx:191
 AliAnalysisTaskGammaConvFlow.cxx:192
 AliAnalysisTaskGammaConvFlow.cxx:193
 AliAnalysisTaskGammaConvFlow.cxx:194
 AliAnalysisTaskGammaConvFlow.cxx:195
 AliAnalysisTaskGammaConvFlow.cxx:196
 AliAnalysisTaskGammaConvFlow.cxx:197
 AliAnalysisTaskGammaConvFlow.cxx:198
 AliAnalysisTaskGammaConvFlow.cxx:199
 AliAnalysisTaskGammaConvFlow.cxx:200
 AliAnalysisTaskGammaConvFlow.cxx:201
 AliAnalysisTaskGammaConvFlow.cxx:202
 AliAnalysisTaskGammaConvFlow.cxx:203
 AliAnalysisTaskGammaConvFlow.cxx:204
 AliAnalysisTaskGammaConvFlow.cxx:205
 AliAnalysisTaskGammaConvFlow.cxx:206
 AliAnalysisTaskGammaConvFlow.cxx:207
 AliAnalysisTaskGammaConvFlow.cxx:208
 AliAnalysisTaskGammaConvFlow.cxx:209
 AliAnalysisTaskGammaConvFlow.cxx:210
 AliAnalysisTaskGammaConvFlow.cxx:211
 AliAnalysisTaskGammaConvFlow.cxx:212
 AliAnalysisTaskGammaConvFlow.cxx:213
 AliAnalysisTaskGammaConvFlow.cxx:214
 AliAnalysisTaskGammaConvFlow.cxx:215
 AliAnalysisTaskGammaConvFlow.cxx:216
 AliAnalysisTaskGammaConvFlow.cxx:217
 AliAnalysisTaskGammaConvFlow.cxx:218
 AliAnalysisTaskGammaConvFlow.cxx:219
 AliAnalysisTaskGammaConvFlow.cxx:220
 AliAnalysisTaskGammaConvFlow.cxx:221
 AliAnalysisTaskGammaConvFlow.cxx:222
 AliAnalysisTaskGammaConvFlow.cxx:223
 AliAnalysisTaskGammaConvFlow.cxx:224
 AliAnalysisTaskGammaConvFlow.cxx:225
 AliAnalysisTaskGammaConvFlow.cxx:226
 AliAnalysisTaskGammaConvFlow.cxx:227
 AliAnalysisTaskGammaConvFlow.cxx:228
 AliAnalysisTaskGammaConvFlow.cxx:229
 AliAnalysisTaskGammaConvFlow.cxx:230
 AliAnalysisTaskGammaConvFlow.cxx:231
 AliAnalysisTaskGammaConvFlow.cxx:232
 AliAnalysisTaskGammaConvFlow.cxx:233
 AliAnalysisTaskGammaConvFlow.cxx:234
 AliAnalysisTaskGammaConvFlow.cxx:235
 AliAnalysisTaskGammaConvFlow.cxx:236
 AliAnalysisTaskGammaConvFlow.cxx:237
 AliAnalysisTaskGammaConvFlow.cxx:238
 AliAnalysisTaskGammaConvFlow.cxx:239
 AliAnalysisTaskGammaConvFlow.cxx:240
 AliAnalysisTaskGammaConvFlow.cxx:241
 AliAnalysisTaskGammaConvFlow.cxx:242
 AliAnalysisTaskGammaConvFlow.cxx:243
 AliAnalysisTaskGammaConvFlow.cxx:244
 AliAnalysisTaskGammaConvFlow.cxx:245
 AliAnalysisTaskGammaConvFlow.cxx:246
 AliAnalysisTaskGammaConvFlow.cxx:247
 AliAnalysisTaskGammaConvFlow.cxx:248
 AliAnalysisTaskGammaConvFlow.cxx:249
 AliAnalysisTaskGammaConvFlow.cxx:250
 AliAnalysisTaskGammaConvFlow.cxx:251
 AliAnalysisTaskGammaConvFlow.cxx:252
 AliAnalysisTaskGammaConvFlow.cxx:253
 AliAnalysisTaskGammaConvFlow.cxx:254
 AliAnalysisTaskGammaConvFlow.cxx:255
 AliAnalysisTaskGammaConvFlow.cxx:256
 AliAnalysisTaskGammaConvFlow.cxx:257
 AliAnalysisTaskGammaConvFlow.cxx:258
 AliAnalysisTaskGammaConvFlow.cxx:259
 AliAnalysisTaskGammaConvFlow.cxx:260
 AliAnalysisTaskGammaConvFlow.cxx:261
 AliAnalysisTaskGammaConvFlow.cxx:262
 AliAnalysisTaskGammaConvFlow.cxx:263
 AliAnalysisTaskGammaConvFlow.cxx:264
 AliAnalysisTaskGammaConvFlow.cxx:265
 AliAnalysisTaskGammaConvFlow.cxx:266
 AliAnalysisTaskGammaConvFlow.cxx:267
 AliAnalysisTaskGammaConvFlow.cxx:268
 AliAnalysisTaskGammaConvFlow.cxx:269
 AliAnalysisTaskGammaConvFlow.cxx:270
 AliAnalysisTaskGammaConvFlow.cxx:271
 AliAnalysisTaskGammaConvFlow.cxx:272
 AliAnalysisTaskGammaConvFlow.cxx:273
 AliAnalysisTaskGammaConvFlow.cxx:274
 AliAnalysisTaskGammaConvFlow.cxx:275
 AliAnalysisTaskGammaConvFlow.cxx:276
 AliAnalysisTaskGammaConvFlow.cxx:277
 AliAnalysisTaskGammaConvFlow.cxx:278
 AliAnalysisTaskGammaConvFlow.cxx:279
 AliAnalysisTaskGammaConvFlow.cxx:280
 AliAnalysisTaskGammaConvFlow.cxx:281
 AliAnalysisTaskGammaConvFlow.cxx:282
 AliAnalysisTaskGammaConvFlow.cxx:283
 AliAnalysisTaskGammaConvFlow.cxx:284
 AliAnalysisTaskGammaConvFlow.cxx:285
 AliAnalysisTaskGammaConvFlow.cxx:286
 AliAnalysisTaskGammaConvFlow.cxx:287
 AliAnalysisTaskGammaConvFlow.cxx:288
 AliAnalysisTaskGammaConvFlow.cxx:289
 AliAnalysisTaskGammaConvFlow.cxx:290
 AliAnalysisTaskGammaConvFlow.cxx:291
 AliAnalysisTaskGammaConvFlow.cxx:292
 AliAnalysisTaskGammaConvFlow.cxx:293
 AliAnalysisTaskGammaConvFlow.cxx:294
 AliAnalysisTaskGammaConvFlow.cxx:295
 AliAnalysisTaskGammaConvFlow.cxx:296
 AliAnalysisTaskGammaConvFlow.cxx:297
 AliAnalysisTaskGammaConvFlow.cxx:298
 AliAnalysisTaskGammaConvFlow.cxx:299
 AliAnalysisTaskGammaConvFlow.cxx:300
 AliAnalysisTaskGammaConvFlow.cxx:301
 AliAnalysisTaskGammaConvFlow.cxx:302
 AliAnalysisTaskGammaConvFlow.cxx:303
 AliAnalysisTaskGammaConvFlow.cxx:304
 AliAnalysisTaskGammaConvFlow.cxx:305
 AliAnalysisTaskGammaConvFlow.cxx:306
 AliAnalysisTaskGammaConvFlow.cxx:307
 AliAnalysisTaskGammaConvFlow.cxx:308
 AliAnalysisTaskGammaConvFlow.cxx:309
 AliAnalysisTaskGammaConvFlow.cxx:310
 AliAnalysisTaskGammaConvFlow.cxx:311
 AliAnalysisTaskGammaConvFlow.cxx:312
 AliAnalysisTaskGammaConvFlow.cxx:313
 AliAnalysisTaskGammaConvFlow.cxx:314
 AliAnalysisTaskGammaConvFlow.cxx:315
 AliAnalysisTaskGammaConvFlow.cxx:316
 AliAnalysisTaskGammaConvFlow.cxx:317
 AliAnalysisTaskGammaConvFlow.cxx:318
 AliAnalysisTaskGammaConvFlow.cxx:319
 AliAnalysisTaskGammaConvFlow.cxx:320
 AliAnalysisTaskGammaConvFlow.cxx:321
 AliAnalysisTaskGammaConvFlow.cxx:322
 AliAnalysisTaskGammaConvFlow.cxx:323
 AliAnalysisTaskGammaConvFlow.cxx:324
 AliAnalysisTaskGammaConvFlow.cxx:325
 AliAnalysisTaskGammaConvFlow.cxx:326
 AliAnalysisTaskGammaConvFlow.cxx:327
 AliAnalysisTaskGammaConvFlow.cxx:328
 AliAnalysisTaskGammaConvFlow.cxx:329
 AliAnalysisTaskGammaConvFlow.cxx:330
 AliAnalysisTaskGammaConvFlow.cxx:331
 AliAnalysisTaskGammaConvFlow.cxx:332
 AliAnalysisTaskGammaConvFlow.cxx:333
 AliAnalysisTaskGammaConvFlow.cxx:334
 AliAnalysisTaskGammaConvFlow.cxx:335
 AliAnalysisTaskGammaConvFlow.cxx:336
 AliAnalysisTaskGammaConvFlow.cxx:337
 AliAnalysisTaskGammaConvFlow.cxx:338
 AliAnalysisTaskGammaConvFlow.cxx:339
 AliAnalysisTaskGammaConvFlow.cxx:340
 AliAnalysisTaskGammaConvFlow.cxx:341
 AliAnalysisTaskGammaConvFlow.cxx:342
 AliAnalysisTaskGammaConvFlow.cxx:343
 AliAnalysisTaskGammaConvFlow.cxx:344
 AliAnalysisTaskGammaConvFlow.cxx:345
 AliAnalysisTaskGammaConvFlow.cxx:346
 AliAnalysisTaskGammaConvFlow.cxx:347
 AliAnalysisTaskGammaConvFlow.cxx:348
 AliAnalysisTaskGammaConvFlow.cxx:349
 AliAnalysisTaskGammaConvFlow.cxx:350
 AliAnalysisTaskGammaConvFlow.cxx:351
 AliAnalysisTaskGammaConvFlow.cxx:352
 AliAnalysisTaskGammaConvFlow.cxx:353
 AliAnalysisTaskGammaConvFlow.cxx:354
 AliAnalysisTaskGammaConvFlow.cxx:355
 AliAnalysisTaskGammaConvFlow.cxx:356
 AliAnalysisTaskGammaConvFlow.cxx:357
 AliAnalysisTaskGammaConvFlow.cxx:358
 AliAnalysisTaskGammaConvFlow.cxx:359
 AliAnalysisTaskGammaConvFlow.cxx:360
 AliAnalysisTaskGammaConvFlow.cxx:361
 AliAnalysisTaskGammaConvFlow.cxx:362
 AliAnalysisTaskGammaConvFlow.cxx:363
 AliAnalysisTaskGammaConvFlow.cxx:364
 AliAnalysisTaskGammaConvFlow.cxx:365
 AliAnalysisTaskGammaConvFlow.cxx:366
 AliAnalysisTaskGammaConvFlow.cxx:367
 AliAnalysisTaskGammaConvFlow.cxx:368
 AliAnalysisTaskGammaConvFlow.cxx:369
 AliAnalysisTaskGammaConvFlow.cxx:370
 AliAnalysisTaskGammaConvFlow.cxx:371
 AliAnalysisTaskGammaConvFlow.cxx:372
 AliAnalysisTaskGammaConvFlow.cxx:373
 AliAnalysisTaskGammaConvFlow.cxx:374
 AliAnalysisTaskGammaConvFlow.cxx:375
 AliAnalysisTaskGammaConvFlow.cxx:376
 AliAnalysisTaskGammaConvFlow.cxx:377
 AliAnalysisTaskGammaConvFlow.cxx:378
 AliAnalysisTaskGammaConvFlow.cxx:379
 AliAnalysisTaskGammaConvFlow.cxx:380
 AliAnalysisTaskGammaConvFlow.cxx:381
 AliAnalysisTaskGammaConvFlow.cxx:382
 AliAnalysisTaskGammaConvFlow.cxx:383
 AliAnalysisTaskGammaConvFlow.cxx:384
 AliAnalysisTaskGammaConvFlow.cxx:385
 AliAnalysisTaskGammaConvFlow.cxx:386
 AliAnalysisTaskGammaConvFlow.cxx:387
 AliAnalysisTaskGammaConvFlow.cxx:388
 AliAnalysisTaskGammaConvFlow.cxx:389
 AliAnalysisTaskGammaConvFlow.cxx:390
 AliAnalysisTaskGammaConvFlow.cxx:391
 AliAnalysisTaskGammaConvFlow.cxx:392
 AliAnalysisTaskGammaConvFlow.cxx:393
 AliAnalysisTaskGammaConvFlow.cxx:394
 AliAnalysisTaskGammaConvFlow.cxx:395
 AliAnalysisTaskGammaConvFlow.cxx:396
 AliAnalysisTaskGammaConvFlow.cxx:397
 AliAnalysisTaskGammaConvFlow.cxx:398
 AliAnalysisTaskGammaConvFlow.cxx:399
 AliAnalysisTaskGammaConvFlow.cxx:400
 AliAnalysisTaskGammaConvFlow.cxx:401
 AliAnalysisTaskGammaConvFlow.cxx:402
 AliAnalysisTaskGammaConvFlow.cxx:403
 AliAnalysisTaskGammaConvFlow.cxx:404
 AliAnalysisTaskGammaConvFlow.cxx:405
 AliAnalysisTaskGammaConvFlow.cxx:406
 AliAnalysisTaskGammaConvFlow.cxx:407
 AliAnalysisTaskGammaConvFlow.cxx:408
 AliAnalysisTaskGammaConvFlow.cxx:409
 AliAnalysisTaskGammaConvFlow.cxx:410
 AliAnalysisTaskGammaConvFlow.cxx:411
 AliAnalysisTaskGammaConvFlow.cxx:412
 AliAnalysisTaskGammaConvFlow.cxx:413
 AliAnalysisTaskGammaConvFlow.cxx:414
 AliAnalysisTaskGammaConvFlow.cxx:415
 AliAnalysisTaskGammaConvFlow.cxx:416
 AliAnalysisTaskGammaConvFlow.cxx:417
 AliAnalysisTaskGammaConvFlow.cxx:418
 AliAnalysisTaskGammaConvFlow.cxx:419
 AliAnalysisTaskGammaConvFlow.cxx:420
 AliAnalysisTaskGammaConvFlow.cxx:421
 AliAnalysisTaskGammaConvFlow.cxx:422
 AliAnalysisTaskGammaConvFlow.cxx:423
 AliAnalysisTaskGammaConvFlow.cxx:424
 AliAnalysisTaskGammaConvFlow.cxx:425
 AliAnalysisTaskGammaConvFlow.cxx:426
 AliAnalysisTaskGammaConvFlow.cxx:427
 AliAnalysisTaskGammaConvFlow.cxx:428
 AliAnalysisTaskGammaConvFlow.cxx:429
 AliAnalysisTaskGammaConvFlow.cxx:430
 AliAnalysisTaskGammaConvFlow.cxx:431
 AliAnalysisTaskGammaConvFlow.cxx:432
 AliAnalysisTaskGammaConvFlow.cxx:433
 AliAnalysisTaskGammaConvFlow.cxx:434
 AliAnalysisTaskGammaConvFlow.cxx:435
 AliAnalysisTaskGammaConvFlow.cxx:436
 AliAnalysisTaskGammaConvFlow.cxx:437
 AliAnalysisTaskGammaConvFlow.cxx:438
 AliAnalysisTaskGammaConvFlow.cxx:439
 AliAnalysisTaskGammaConvFlow.cxx:440
 AliAnalysisTaskGammaConvFlow.cxx:441
 AliAnalysisTaskGammaConvFlow.cxx:442
 AliAnalysisTaskGammaConvFlow.cxx:443
 AliAnalysisTaskGammaConvFlow.cxx:444
 AliAnalysisTaskGammaConvFlow.cxx:445
 AliAnalysisTaskGammaConvFlow.cxx:446
 AliAnalysisTaskGammaConvFlow.cxx:447
 AliAnalysisTaskGammaConvFlow.cxx:448
 AliAnalysisTaskGammaConvFlow.cxx:449
 AliAnalysisTaskGammaConvFlow.cxx:450
 AliAnalysisTaskGammaConvFlow.cxx:451
 AliAnalysisTaskGammaConvFlow.cxx:452
 AliAnalysisTaskGammaConvFlow.cxx:453
 AliAnalysisTaskGammaConvFlow.cxx:454
 AliAnalysisTaskGammaConvFlow.cxx:455
 AliAnalysisTaskGammaConvFlow.cxx:456
 AliAnalysisTaskGammaConvFlow.cxx:457
 AliAnalysisTaskGammaConvFlow.cxx:458
 AliAnalysisTaskGammaConvFlow.cxx:459
 AliAnalysisTaskGammaConvFlow.cxx:460
 AliAnalysisTaskGammaConvFlow.cxx:461
 AliAnalysisTaskGammaConvFlow.cxx:462
 AliAnalysisTaskGammaConvFlow.cxx:463
 AliAnalysisTaskGammaConvFlow.cxx:464
 AliAnalysisTaskGammaConvFlow.cxx:465
 AliAnalysisTaskGammaConvFlow.cxx:466
 AliAnalysisTaskGammaConvFlow.cxx:467
 AliAnalysisTaskGammaConvFlow.cxx:468
 AliAnalysisTaskGammaConvFlow.cxx:469
 AliAnalysisTaskGammaConvFlow.cxx:470
 AliAnalysisTaskGammaConvFlow.cxx:471
 AliAnalysisTaskGammaConvFlow.cxx:472
 AliAnalysisTaskGammaConvFlow.cxx:473
 AliAnalysisTaskGammaConvFlow.cxx:474
 AliAnalysisTaskGammaConvFlow.cxx:475
 AliAnalysisTaskGammaConvFlow.cxx:476
 AliAnalysisTaskGammaConvFlow.cxx:477
 AliAnalysisTaskGammaConvFlow.cxx:478
 AliAnalysisTaskGammaConvFlow.cxx:479
 AliAnalysisTaskGammaConvFlow.cxx:480
 AliAnalysisTaskGammaConvFlow.cxx:481
 AliAnalysisTaskGammaConvFlow.cxx:482
 AliAnalysisTaskGammaConvFlow.cxx:483
 AliAnalysisTaskGammaConvFlow.cxx:484
 AliAnalysisTaskGammaConvFlow.cxx:485
 AliAnalysisTaskGammaConvFlow.cxx:486
 AliAnalysisTaskGammaConvFlow.cxx:487
 AliAnalysisTaskGammaConvFlow.cxx:488
 AliAnalysisTaskGammaConvFlow.cxx:489
 AliAnalysisTaskGammaConvFlow.cxx:490
 AliAnalysisTaskGammaConvFlow.cxx:491
 AliAnalysisTaskGammaConvFlow.cxx:492
 AliAnalysisTaskGammaConvFlow.cxx:493
 AliAnalysisTaskGammaConvFlow.cxx:494
 AliAnalysisTaskGammaConvFlow.cxx:495
 AliAnalysisTaskGammaConvFlow.cxx:496
 AliAnalysisTaskGammaConvFlow.cxx:497
 AliAnalysisTaskGammaConvFlow.cxx:498
 AliAnalysisTaskGammaConvFlow.cxx:499
 AliAnalysisTaskGammaConvFlow.cxx:500
 AliAnalysisTaskGammaConvFlow.cxx:501
 AliAnalysisTaskGammaConvFlow.cxx:502
 AliAnalysisTaskGammaConvFlow.cxx:503
 AliAnalysisTaskGammaConvFlow.cxx:504
 AliAnalysisTaskGammaConvFlow.cxx:505
 AliAnalysisTaskGammaConvFlow.cxx:506
 AliAnalysisTaskGammaConvFlow.cxx:507
 AliAnalysisTaskGammaConvFlow.cxx:508
 AliAnalysisTaskGammaConvFlow.cxx:509
 AliAnalysisTaskGammaConvFlow.cxx:510
 AliAnalysisTaskGammaConvFlow.cxx:511
 AliAnalysisTaskGammaConvFlow.cxx:512
 AliAnalysisTaskGammaConvFlow.cxx:513
 AliAnalysisTaskGammaConvFlow.cxx:514
 AliAnalysisTaskGammaConvFlow.cxx:515
 AliAnalysisTaskGammaConvFlow.cxx:516
 AliAnalysisTaskGammaConvFlow.cxx:517
 AliAnalysisTaskGammaConvFlow.cxx:518
 AliAnalysisTaskGammaConvFlow.cxx:519
 AliAnalysisTaskGammaConvFlow.cxx:520
 AliAnalysisTaskGammaConvFlow.cxx:521
 AliAnalysisTaskGammaConvFlow.cxx:522
 AliAnalysisTaskGammaConvFlow.cxx:523
 AliAnalysisTaskGammaConvFlow.cxx:524
 AliAnalysisTaskGammaConvFlow.cxx:525
 AliAnalysisTaskGammaConvFlow.cxx:526
 AliAnalysisTaskGammaConvFlow.cxx:527
 AliAnalysisTaskGammaConvFlow.cxx:528
 AliAnalysisTaskGammaConvFlow.cxx:529
 AliAnalysisTaskGammaConvFlow.cxx:530
 AliAnalysisTaskGammaConvFlow.cxx:531
 AliAnalysisTaskGammaConvFlow.cxx:532
 AliAnalysisTaskGammaConvFlow.cxx:533
 AliAnalysisTaskGammaConvFlow.cxx:534
 AliAnalysisTaskGammaConvFlow.cxx:535
 AliAnalysisTaskGammaConvFlow.cxx:536
 AliAnalysisTaskGammaConvFlow.cxx:537
 AliAnalysisTaskGammaConvFlow.cxx:538
 AliAnalysisTaskGammaConvFlow.cxx:539
 AliAnalysisTaskGammaConvFlow.cxx:540
 AliAnalysisTaskGammaConvFlow.cxx:541
 AliAnalysisTaskGammaConvFlow.cxx:542
 AliAnalysisTaskGammaConvFlow.cxx:543
 AliAnalysisTaskGammaConvFlow.cxx:544
 AliAnalysisTaskGammaConvFlow.cxx:545
 AliAnalysisTaskGammaConvFlow.cxx:546
 AliAnalysisTaskGammaConvFlow.cxx:547
 AliAnalysisTaskGammaConvFlow.cxx:548
 AliAnalysisTaskGammaConvFlow.cxx:549
 AliAnalysisTaskGammaConvFlow.cxx:550
 AliAnalysisTaskGammaConvFlow.cxx:551
 AliAnalysisTaskGammaConvFlow.cxx:552
 AliAnalysisTaskGammaConvFlow.cxx:553
 AliAnalysisTaskGammaConvFlow.cxx:554
 AliAnalysisTaskGammaConvFlow.cxx:555
 AliAnalysisTaskGammaConvFlow.cxx:556
 AliAnalysisTaskGammaConvFlow.cxx:557
 AliAnalysisTaskGammaConvFlow.cxx:558
 AliAnalysisTaskGammaConvFlow.cxx:559
 AliAnalysisTaskGammaConvFlow.cxx:560
 AliAnalysisTaskGammaConvFlow.cxx:561
 AliAnalysisTaskGammaConvFlow.cxx:562
 AliAnalysisTaskGammaConvFlow.cxx:563
 AliAnalysisTaskGammaConvFlow.cxx:564
 AliAnalysisTaskGammaConvFlow.cxx:565
 AliAnalysisTaskGammaConvFlow.cxx:566
 AliAnalysisTaskGammaConvFlow.cxx:567
 AliAnalysisTaskGammaConvFlow.cxx:568
 AliAnalysisTaskGammaConvFlow.cxx:569
 AliAnalysisTaskGammaConvFlow.cxx:570
 AliAnalysisTaskGammaConvFlow.cxx:571
 AliAnalysisTaskGammaConvFlow.cxx:572
 AliAnalysisTaskGammaConvFlow.cxx:573
 AliAnalysisTaskGammaConvFlow.cxx:574
 AliAnalysisTaskGammaConvFlow.cxx:575
 AliAnalysisTaskGammaConvFlow.cxx:576
 AliAnalysisTaskGammaConvFlow.cxx:577
 AliAnalysisTaskGammaConvFlow.cxx:578
 AliAnalysisTaskGammaConvFlow.cxx:579
 AliAnalysisTaskGammaConvFlow.cxx:580
 AliAnalysisTaskGammaConvFlow.cxx:581
 AliAnalysisTaskGammaConvFlow.cxx:582
 AliAnalysisTaskGammaConvFlow.cxx:583
 AliAnalysisTaskGammaConvFlow.cxx:584
 AliAnalysisTaskGammaConvFlow.cxx:585
 AliAnalysisTaskGammaConvFlow.cxx:586
 AliAnalysisTaskGammaConvFlow.cxx:587
 AliAnalysisTaskGammaConvFlow.cxx:588
 AliAnalysisTaskGammaConvFlow.cxx:589
 AliAnalysisTaskGammaConvFlow.cxx:590
 AliAnalysisTaskGammaConvFlow.cxx:591
 AliAnalysisTaskGammaConvFlow.cxx:592
 AliAnalysisTaskGammaConvFlow.cxx:593
 AliAnalysisTaskGammaConvFlow.cxx:594
 AliAnalysisTaskGammaConvFlow.cxx:595
 AliAnalysisTaskGammaConvFlow.cxx:596
 AliAnalysisTaskGammaConvFlow.cxx:597
 AliAnalysisTaskGammaConvFlow.cxx:598
 AliAnalysisTaskGammaConvFlow.cxx:599
 AliAnalysisTaskGammaConvFlow.cxx:600
 AliAnalysisTaskGammaConvFlow.cxx:601
 AliAnalysisTaskGammaConvFlow.cxx:602
 AliAnalysisTaskGammaConvFlow.cxx:603
 AliAnalysisTaskGammaConvFlow.cxx:604
 AliAnalysisTaskGammaConvFlow.cxx:605
 AliAnalysisTaskGammaConvFlow.cxx:606
 AliAnalysisTaskGammaConvFlow.cxx:607
 AliAnalysisTaskGammaConvFlow.cxx:608
 AliAnalysisTaskGammaConvFlow.cxx:609
 AliAnalysisTaskGammaConvFlow.cxx:610
 AliAnalysisTaskGammaConvFlow.cxx:611
 AliAnalysisTaskGammaConvFlow.cxx:612
 AliAnalysisTaskGammaConvFlow.cxx:613
 AliAnalysisTaskGammaConvFlow.cxx:614
 AliAnalysisTaskGammaConvFlow.cxx:615
 AliAnalysisTaskGammaConvFlow.cxx:616
 AliAnalysisTaskGammaConvFlow.cxx:617
 AliAnalysisTaskGammaConvFlow.cxx:618
 AliAnalysisTaskGammaConvFlow.cxx:619
 AliAnalysisTaskGammaConvFlow.cxx:620
 AliAnalysisTaskGammaConvFlow.cxx:621
 AliAnalysisTaskGammaConvFlow.cxx:622
 AliAnalysisTaskGammaConvFlow.cxx:623
 AliAnalysisTaskGammaConvFlow.cxx:624
 AliAnalysisTaskGammaConvFlow.cxx:625
 AliAnalysisTaskGammaConvFlow.cxx:626
 AliAnalysisTaskGammaConvFlow.cxx:627
 AliAnalysisTaskGammaConvFlow.cxx:628
 AliAnalysisTaskGammaConvFlow.cxx:629
 AliAnalysisTaskGammaConvFlow.cxx:630
 AliAnalysisTaskGammaConvFlow.cxx:631
 AliAnalysisTaskGammaConvFlow.cxx:632
 AliAnalysisTaskGammaConvFlow.cxx:633
 AliAnalysisTaskGammaConvFlow.cxx:634
 AliAnalysisTaskGammaConvFlow.cxx:635
 AliAnalysisTaskGammaConvFlow.cxx:636
 AliAnalysisTaskGammaConvFlow.cxx:637
 AliAnalysisTaskGammaConvFlow.cxx:638
 AliAnalysisTaskGammaConvFlow.cxx:639
 AliAnalysisTaskGammaConvFlow.cxx:640
 AliAnalysisTaskGammaConvFlow.cxx:641
 AliAnalysisTaskGammaConvFlow.cxx:642
 AliAnalysisTaskGammaConvFlow.cxx:643
 AliAnalysisTaskGammaConvFlow.cxx:644
 AliAnalysisTaskGammaConvFlow.cxx:645
 AliAnalysisTaskGammaConvFlow.cxx:646
 AliAnalysisTaskGammaConvFlow.cxx:647
 AliAnalysisTaskGammaConvFlow.cxx:648
 AliAnalysisTaskGammaConvFlow.cxx:649
 AliAnalysisTaskGammaConvFlow.cxx:650
 AliAnalysisTaskGammaConvFlow.cxx:651
 AliAnalysisTaskGammaConvFlow.cxx:652
 AliAnalysisTaskGammaConvFlow.cxx:653
 AliAnalysisTaskGammaConvFlow.cxx:654
 AliAnalysisTaskGammaConvFlow.cxx:655
 AliAnalysisTaskGammaConvFlow.cxx:656
 AliAnalysisTaskGammaConvFlow.cxx:657
 AliAnalysisTaskGammaConvFlow.cxx:658
 AliAnalysisTaskGammaConvFlow.cxx:659
 AliAnalysisTaskGammaConvFlow.cxx:660
 AliAnalysisTaskGammaConvFlow.cxx:661
 AliAnalysisTaskGammaConvFlow.cxx:662
 AliAnalysisTaskGammaConvFlow.cxx:663
 AliAnalysisTaskGammaConvFlow.cxx:664
 AliAnalysisTaskGammaConvFlow.cxx:665
 AliAnalysisTaskGammaConvFlow.cxx:666
 AliAnalysisTaskGammaConvFlow.cxx:667
 AliAnalysisTaskGammaConvFlow.cxx:668
 AliAnalysisTaskGammaConvFlow.cxx:669
 AliAnalysisTaskGammaConvFlow.cxx:670
 AliAnalysisTaskGammaConvFlow.cxx:671
 AliAnalysisTaskGammaConvFlow.cxx:672
 AliAnalysisTaskGammaConvFlow.cxx:673
 AliAnalysisTaskGammaConvFlow.cxx:674
 AliAnalysisTaskGammaConvFlow.cxx:675
 AliAnalysisTaskGammaConvFlow.cxx:676
 AliAnalysisTaskGammaConvFlow.cxx:677
 AliAnalysisTaskGammaConvFlow.cxx:678
 AliAnalysisTaskGammaConvFlow.cxx:679
 AliAnalysisTaskGammaConvFlow.cxx:680
 AliAnalysisTaskGammaConvFlow.cxx:681
 AliAnalysisTaskGammaConvFlow.cxx:682
 AliAnalysisTaskGammaConvFlow.cxx:683
 AliAnalysisTaskGammaConvFlow.cxx:684
 AliAnalysisTaskGammaConvFlow.cxx:685
 AliAnalysisTaskGammaConvFlow.cxx:686
 AliAnalysisTaskGammaConvFlow.cxx:687
 AliAnalysisTaskGammaConvFlow.cxx:688
 AliAnalysisTaskGammaConvFlow.cxx:689
 AliAnalysisTaskGammaConvFlow.cxx:690
 AliAnalysisTaskGammaConvFlow.cxx:691
 AliAnalysisTaskGammaConvFlow.cxx:692
 AliAnalysisTaskGammaConvFlow.cxx:693
 AliAnalysisTaskGammaConvFlow.cxx:694
 AliAnalysisTaskGammaConvFlow.cxx:695
 AliAnalysisTaskGammaConvFlow.cxx:696
 AliAnalysisTaskGammaConvFlow.cxx:697
 AliAnalysisTaskGammaConvFlow.cxx:698
 AliAnalysisTaskGammaConvFlow.cxx:699
 AliAnalysisTaskGammaConvFlow.cxx:700
 AliAnalysisTaskGammaConvFlow.cxx:701
 AliAnalysisTaskGammaConvFlow.cxx:702
 AliAnalysisTaskGammaConvFlow.cxx:703
 AliAnalysisTaskGammaConvFlow.cxx:704
 AliAnalysisTaskGammaConvFlow.cxx:705
 AliAnalysisTaskGammaConvFlow.cxx:706
 AliAnalysisTaskGammaConvFlow.cxx:707
 AliAnalysisTaskGammaConvFlow.cxx:708
 AliAnalysisTaskGammaConvFlow.cxx:709
 AliAnalysisTaskGammaConvFlow.cxx:710
 AliAnalysisTaskGammaConvFlow.cxx:711
 AliAnalysisTaskGammaConvFlow.cxx:712
 AliAnalysisTaskGammaConvFlow.cxx:713
 AliAnalysisTaskGammaConvFlow.cxx:714
 AliAnalysisTaskGammaConvFlow.cxx:715
 AliAnalysisTaskGammaConvFlow.cxx:716
 AliAnalysisTaskGammaConvFlow.cxx:717
 AliAnalysisTaskGammaConvFlow.cxx:718
 AliAnalysisTaskGammaConvFlow.cxx:719
 AliAnalysisTaskGammaConvFlow.cxx:720
 AliAnalysisTaskGammaConvFlow.cxx:721
 AliAnalysisTaskGammaConvFlow.cxx:722
 AliAnalysisTaskGammaConvFlow.cxx:723
 AliAnalysisTaskGammaConvFlow.cxx:724
 AliAnalysisTaskGammaConvFlow.cxx:725
 AliAnalysisTaskGammaConvFlow.cxx:726
 AliAnalysisTaskGammaConvFlow.cxx:727
 AliAnalysisTaskGammaConvFlow.cxx:728
 AliAnalysisTaskGammaConvFlow.cxx:729
 AliAnalysisTaskGammaConvFlow.cxx:730
 AliAnalysisTaskGammaConvFlow.cxx:731
 AliAnalysisTaskGammaConvFlow.cxx:732
 AliAnalysisTaskGammaConvFlow.cxx:733
 AliAnalysisTaskGammaConvFlow.cxx:734
 AliAnalysisTaskGammaConvFlow.cxx:735
 AliAnalysisTaskGammaConvFlow.cxx:736
 AliAnalysisTaskGammaConvFlow.cxx:737
 AliAnalysisTaskGammaConvFlow.cxx:738
 AliAnalysisTaskGammaConvFlow.cxx:739
 AliAnalysisTaskGammaConvFlow.cxx:740
 AliAnalysisTaskGammaConvFlow.cxx:741
 AliAnalysisTaskGammaConvFlow.cxx:742
 AliAnalysisTaskGammaConvFlow.cxx:743
 AliAnalysisTaskGammaConvFlow.cxx:744
 AliAnalysisTaskGammaConvFlow.cxx:745
 AliAnalysisTaskGammaConvFlow.cxx:746
 AliAnalysisTaskGammaConvFlow.cxx:747
 AliAnalysisTaskGammaConvFlow.cxx:748
 AliAnalysisTaskGammaConvFlow.cxx:749
 AliAnalysisTaskGammaConvFlow.cxx:750
 AliAnalysisTaskGammaConvFlow.cxx:751
 AliAnalysisTaskGammaConvFlow.cxx:752
 AliAnalysisTaskGammaConvFlow.cxx:753
 AliAnalysisTaskGammaConvFlow.cxx:754
 AliAnalysisTaskGammaConvFlow.cxx:755
 AliAnalysisTaskGammaConvFlow.cxx:756
 AliAnalysisTaskGammaConvFlow.cxx:757
 AliAnalysisTaskGammaConvFlow.cxx:758
 AliAnalysisTaskGammaConvFlow.cxx:759
 AliAnalysisTaskGammaConvFlow.cxx:760
 AliAnalysisTaskGammaConvFlow.cxx:761
 AliAnalysisTaskGammaConvFlow.cxx:762
 AliAnalysisTaskGammaConvFlow.cxx:763
 AliAnalysisTaskGammaConvFlow.cxx:764
 AliAnalysisTaskGammaConvFlow.cxx:765
 AliAnalysisTaskGammaConvFlow.cxx:766
 AliAnalysisTaskGammaConvFlow.cxx:767
 AliAnalysisTaskGammaConvFlow.cxx:768
 AliAnalysisTaskGammaConvFlow.cxx:769
 AliAnalysisTaskGammaConvFlow.cxx:770
 AliAnalysisTaskGammaConvFlow.cxx:771
 AliAnalysisTaskGammaConvFlow.cxx:772
 AliAnalysisTaskGammaConvFlow.cxx:773
 AliAnalysisTaskGammaConvFlow.cxx:774
 AliAnalysisTaskGammaConvFlow.cxx:775
 AliAnalysisTaskGammaConvFlow.cxx:776
 AliAnalysisTaskGammaConvFlow.cxx:777
 AliAnalysisTaskGammaConvFlow.cxx:778
 AliAnalysisTaskGammaConvFlow.cxx:779
 AliAnalysisTaskGammaConvFlow.cxx:780
 AliAnalysisTaskGammaConvFlow.cxx:781
 AliAnalysisTaskGammaConvFlow.cxx:782
 AliAnalysisTaskGammaConvFlow.cxx:783
 AliAnalysisTaskGammaConvFlow.cxx:784
 AliAnalysisTaskGammaConvFlow.cxx:785
 AliAnalysisTaskGammaConvFlow.cxx:786
 AliAnalysisTaskGammaConvFlow.cxx:787
 AliAnalysisTaskGammaConvFlow.cxx:788
 AliAnalysisTaskGammaConvFlow.cxx:789
 AliAnalysisTaskGammaConvFlow.cxx:790
 AliAnalysisTaskGammaConvFlow.cxx:791
 AliAnalysisTaskGammaConvFlow.cxx:792
 AliAnalysisTaskGammaConvFlow.cxx:793
 AliAnalysisTaskGammaConvFlow.cxx:794
 AliAnalysisTaskGammaConvFlow.cxx:795
 AliAnalysisTaskGammaConvFlow.cxx:796
 AliAnalysisTaskGammaConvFlow.cxx:797
 AliAnalysisTaskGammaConvFlow.cxx:798
 AliAnalysisTaskGammaConvFlow.cxx:799
 AliAnalysisTaskGammaConvFlow.cxx:800
 AliAnalysisTaskGammaConvFlow.cxx:801
 AliAnalysisTaskGammaConvFlow.cxx:802
 AliAnalysisTaskGammaConvFlow.cxx:803
 AliAnalysisTaskGammaConvFlow.cxx:804
 AliAnalysisTaskGammaConvFlow.cxx:805
 AliAnalysisTaskGammaConvFlow.cxx:806
 AliAnalysisTaskGammaConvFlow.cxx:807
 AliAnalysisTaskGammaConvFlow.cxx:808
 AliAnalysisTaskGammaConvFlow.cxx:809
 AliAnalysisTaskGammaConvFlow.cxx:810
 AliAnalysisTaskGammaConvFlow.cxx:811
 AliAnalysisTaskGammaConvFlow.cxx:812
 AliAnalysisTaskGammaConvFlow.cxx:813
 AliAnalysisTaskGammaConvFlow.cxx:814
 AliAnalysisTaskGammaConvFlow.cxx:815
 AliAnalysisTaskGammaConvFlow.cxx:816
 AliAnalysisTaskGammaConvFlow.cxx:817
 AliAnalysisTaskGammaConvFlow.cxx:818
 AliAnalysisTaskGammaConvFlow.cxx:819
 AliAnalysisTaskGammaConvFlow.cxx:820
 AliAnalysisTaskGammaConvFlow.cxx:821
 AliAnalysisTaskGammaConvFlow.cxx:822
 AliAnalysisTaskGammaConvFlow.cxx:823
 AliAnalysisTaskGammaConvFlow.cxx:824
 AliAnalysisTaskGammaConvFlow.cxx:825
 AliAnalysisTaskGammaConvFlow.cxx:826
 AliAnalysisTaskGammaConvFlow.cxx:827
 AliAnalysisTaskGammaConvFlow.cxx:828
 AliAnalysisTaskGammaConvFlow.cxx:829
 AliAnalysisTaskGammaConvFlow.cxx:830
 AliAnalysisTaskGammaConvFlow.cxx:831
 AliAnalysisTaskGammaConvFlow.cxx:832
 AliAnalysisTaskGammaConvFlow.cxx:833
 AliAnalysisTaskGammaConvFlow.cxx:834
 AliAnalysisTaskGammaConvFlow.cxx:835
 AliAnalysisTaskGammaConvFlow.cxx:836
 AliAnalysisTaskGammaConvFlow.cxx:837
 AliAnalysisTaskGammaConvFlow.cxx:838
 AliAnalysisTaskGammaConvFlow.cxx:839
 AliAnalysisTaskGammaConvFlow.cxx:840
 AliAnalysisTaskGammaConvFlow.cxx:841
 AliAnalysisTaskGammaConvFlow.cxx:842
 AliAnalysisTaskGammaConvFlow.cxx:843
 AliAnalysisTaskGammaConvFlow.cxx:844
 AliAnalysisTaskGammaConvFlow.cxx:845
 AliAnalysisTaskGammaConvFlow.cxx:846
 AliAnalysisTaskGammaConvFlow.cxx:847
 AliAnalysisTaskGammaConvFlow.cxx:848
 AliAnalysisTaskGammaConvFlow.cxx:849
 AliAnalysisTaskGammaConvFlow.cxx:850
 AliAnalysisTaskGammaConvFlow.cxx:851
 AliAnalysisTaskGammaConvFlow.cxx:852