ROOT logo
#include "TChain.h"
#include "TTree.h"
#include "TH1F.h"
#include "TCanvas.h"
#include "TFile.h"
#include "TObjArray.h"

#include "AliAnalysisTask.h"
#include "AliAnalysisManager.h"

#include "AliESDEvent.h"
#include "AliESDInputHandler.h"
#include "AliAODEvent.h"
#include "AliAODInputHandler.h"

#include "AliVEvent.h"
#include "AliVCaloCells.h"
#include "AliVCluster.h"

#include "AliEMCALGeometry.h"
#include "AliGeomManager.h"

#include "AliAnalysisTaskEMCALIsolation.h"

#include "AliStack.h"
#include "AliMCEventHandler.h"
#include "AliMCEvent.h"
#include "AliMCParticle.h"

#include "TDatabasePDG.h"
#include "TParticlePDG.h"

// Task for isolating gammas with EMCAL
// Author: Marco Marquard

ClassImp(AliAnalysisTaskEMCALIsolation)

	//________________________________________________________________________

AliAnalysisTaskEMCALIsolation::AliAnalysisTaskEMCALIsolation()
	: AliAnalysisTaskSE(),
	bVerbose(0),
	bMC(0),
	fESD(0),
	fAOD(0),
	fMC(0),
	fStack(0),
	fOutputList(0),
	fHistGlobalHmap(0),
	fHistGlobalHmap0(0),
	fTreeEvent(0),
	fTreeCluster(0),
	emclus(0),
	prodrad(0),
	contPID(-999),
	mothPID(-999),
	trackmatch(0),
	fGeom(0),
	fGeoName("EMCAL_COMPLETE"),
	fESDCells(0),
	fAODCells(0),
	fEsdClusters(0),
	fAodClusters(0)
{
	//default constructor
	DefineInput(0, TChain::Class());
	DefineOutput(1, TList::Class());
}

//________________________________________________________________________
AliAnalysisTaskEMCALIsolation::AliAnalysisTaskEMCALIsolation(const char *name) 
	: AliAnalysisTaskSE(name),
	bVerbose(0),
	bMC(0),
	fESD(0),
	fAOD(0),
	fMC(0),
	fStack(0),
	fOutputList(0),
	fHistGlobalHmap(0),
	fHistGlobalHmap0(0),
	fTreeEvent(0),
	fTreeCluster(0),
	emclus(0),
	prodrad(0),
	contPID(-999),
	mothPID(-999),
	trackmatch(0),
	fGeom(0),
	fGeoName("EMCAL_COMPLETE"),
	fESDCells(0),
	fAODCells(0),
	fEsdClusters(0),
	fAodClusters(0)
{
	// Constructor

	// Define input and output slots here
	// Input slot #0 works with a TChain
	DefineInput(0, TChain::Class());
	// Output slot #0 id reserved by the base class for AOD
	// Output slot #1 writes into a TH1 container
	DefineOutput(1, TList::Class());
}

//________________________________________________________________________
AliAnalysisTaskEMCALIsolation::~AliAnalysisTaskEMCALIsolation() 
{
	//Destructor

	delete fESD;
	delete fAOD;
	delete fOutputList;
	delete fHistGlobalHmap;
	delete fHistGlobalHmap0;
	delete fTreeCluster;
	delete fTreeEvent;
}

//________________________________________________________________________
void AliAnalysisTaskEMCALIsolation::UserCreateOutputObjects()
{
	// Create histograms
	// Called once
	Double_t etagaps[97]= {-0.66687,-0.653,-0.63913,-0.62526,-0.61139,-0.59752,-0.58365,-0.56978,-0.55591,-0.54204,-0.52817,-0.5143,-0.50043,-0.48656,-0.47269,-0.45882,-0.44495,-0.43108,-0.41721,-0.40334,-0.38947,-0.3756,-0.36173,-0.34786,-0.33399,-0.32012,-0.30625,-0.29238,-0.27851,-0.26464,-0.25077,-0.2369,-0.22303,-0.20916,-0.19529,-0.18142,-0.16755,-0.15368,-0.13981,-0.12594,-0.11207,-0.0982,-0.08433,-0.07046,-0.05659,-0.04272,-0.02885,-0.01498,-0.00111,0.01276,0.02663,0.0405,0.05437,0.06824,0.08211,0.09598,0.10985,0.12372,0.13759,0.15146,0.16533,0.1792,0.19307,0.20694,0.22081,0.23468,0.24855,0.26242,0.27629,0.29016,0.30403,0.3179,0.33177,0.34564,0.35951,0.37338,0.38725,0.40112,0.41499,0.42886,0.44273,0.4566,0.47047,0.48434,0.49821,0.51208,0.52595,0.53982,0.55369,0.56756,0.58143,0.5953,0.60917,0.62304,0.63691,0.65078,0.66465};

	Double_t phigaps[125]= {1.408,1.4215,1.435,1.4485,1.462,1.4755,1.489,1.5025,1.516,1.5295,1.543,1.5565,1.57,1.5835,1.597,1.6105,1.624,1.6375,1.651,1.6645,1.678,1.6915,1.705,1.7185,1.732,1.758,1.7715,1.785,1.7985,1.812,1.8255,1.839,1.8525,1.866,1.8795,1.893,1.9065,1.92,1.9335,1.947,1.9605,1.974,1.9875,2.001,2.0145,2.028,2.0415,2.055,2.0685,2.082,2.108,2.1215,2.135,2.1485,2.162,2.1755,2.189,2.2025,2.216,2.2295,2.243,2.2565,2.27,2.2835,2.297,2.3105,2.324,2.3375,2.351,2.3645,2.378,2.3915,2.405,2.4185,2.432,2.456,2.4695,2.483,2.4965,2.51,2.5235,2.537,2.5505,2.564,2.5775,2.591,2.6045,2.618,2.6315,2.645,2.6585,2.672,2.6855,2.699,2.7125,2.726,2.7395,2.753,2.7665,2.78,2.804,2.8175,2.831,2.8445,2.858,2.8715,2.885,2.8985,2.912,2.9255,2.939,2.9525,2.966,2.9795,2.993,3.0065,3.02,3.0335,3.047,3.0605,3.074,3.0875,3.101,3.1145,3.128};

	fOutputList = new TList();

	fHistGlobalHmap = new TH2F("fHistGlobalHmap","Hit map for EMCAL",96,etagaps,124,phigaps);
	fHistGlobalHmap->GetXaxis()->SetTitle("#eta");
	fHistGlobalHmap->GetYaxis()->SetTitle("#phi");
	fOutputList->Add(fHistGlobalHmap);

	fHistGlobalHmap0 = new TH2F("fHistGlobalHmap0","Hit map for EMCAL",96,0,96,120,0,120);
	fHistGlobalHmap0->GetXaxis()->SetTitle("#eta");
	fHistGlobalHmap0->GetYaxis()->SetTitle("#phi");
	fOutputList->Add(fHistGlobalHmap0);
	/*	
		fHist = new TH1F("","",,,,);
		fHist->GetXaxis()->SetTitle("");
		fHist->GetYaxis()->SetTitle("");
		fHist->SetMarkerStyle(kFullCircle);
		fOutputList->Add(fHist);
		*/

	fTreeEvent = new TTree("eventsT","eventsT");
	fTreeEvent->Branch("emclus",	&emclus);

	fTreeCluster = new TTree("clusterT","clusterT");
	fTreeCluster->Branch("emclus",	&emclus);
	fTreeCluster->Branch("prodrad",	&prodrad);
	fTreeCluster->Branch("contPID",	&contPID);
	fTreeCluster->Branch("mothPID",	&mothPID);

	fOutputList->Add(fHistGlobalHmap);
	fOutputList->Add(fHistGlobalHmap0);
	fOutputList->Add(fTreeEvent);
	fOutputList->Add(fTreeCluster);



}

//________________________________________________________________________
void AliAnalysisTaskEMCALIsolation::UserExec(Option_t *) 
{

	AliAnalysisManager *am = AliAnalysisManager::GetAnalysisManager();


	AliESDInputHandler *esdH = dynamic_cast<AliESDInputHandler*> (am->GetInputEventHandler());
	if (!esdH)
	{
		Printf("ERROR: Could not get ESDInputHandler");
	}

	AliAODInputHandler *aodH = dynamic_cast<AliAODInputHandler*> (am->GetInputEventHandler());
	if (!aodH && !esdH)
	{
		Printf("ERROR: Could not get AODInputHandler");
	}

	if(esdH){
		fESD = esdH->GetEvent();
		am->LoadBranch("AliESDRun.");
		am->LoadBranch("AliESDHeader.");
	}
	else if(aodH){
		fAOD = aodH->GetEvent();
	}
	else{
		AliFatal("Neither ESD nor AOD event found");
		return;
	}

	AliMCEventHandler* mcH = dynamic_cast<AliMCEventHandler*> (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler());
	if (!mcH) {
		Printf("ERROR: Could not retrieve MC event handler");
		return;
	}
	fMC = mcH->MCEvent();
	if (!fMC) {
		Printf("ERROR: Could not retrieve MC event");
		return;
	}
	// stack to get truth infos of particles:
	fStack = fMC->Stack();
	if (!fStack) {
		Printf("ERROR: Could not retrieve stack from MC event");
		return;
	}
	//Printf(" MC particles: %d", fMC->GetNumberOfTracks());


	fGeom = AliEMCALGeometry::GetInstance(fGeoName);
	//AliEMCALEMCGeometry *emc = fGeom->GetEMCGeometry();
	//Double_t phimin = emc->GetArm1PhiMin();
	//Double_t phimax = emc->GetArm1PhiMax();
	//printf("EMCAL coverage in phi from: %f to: %f \n",phimin,phimax);
	if (!fGeom){
		AliFatal("EMCAL(fGeom) geometry is not initialized");
		return;
	}

	AliVCaloCells *cells = 0;

	if (fESD){
		am->LoadBranch("EMCALCells."); 
		fESDCells = fESD->GetEMCALCells();
		cells = fESDCells;
	}
	else{
		am->LoadBranch("emcalCells");
		fAODCells = fAOD->GetEMCALCells();
		cells = fAODCells;
	}




	if (!cells){
		AliFatal("No cells loaded");
		return;
	}

	if(fESD){ 
		am->LoadBranch("CaloClusters");
		TList *l = fESD->GetList();
		fEsdClusters = dynamic_cast<TClonesArray*>(l->FindObject("CaloClusters"));
	}
	else if(fAOD){
		am->LoadBranch("caloClusters");
		TList *l = fAOD->GetList();
		fAodClusters = dynamic_cast<TClonesArray*>(l->FindObject("caloClusters"));
	}
	else{
		AliFatal("Impossible to not have either pointer to ESD or AOD event");
	}

	TObjArray *clusters = fEsdClusters;
	if (!clusters)
		clusters = fAodClusters;
	if (!clusters){
		Printf("ERROR: no clusters node in event!");
		//return;
	}

	//========================================= start of analysis ============================================


	//============> DATA LOOP =================>

	//------------> cell loop ----------------->
	Int_t ncells = cells->GetNumberOfCells();
	//for (Int_t i = 0; i<15000; ++i){
	//	Int_t absID    = i;
	for (Int_t i = 0; i<ncells; ++i){
		Int_t absID    = TMath::Abs(cells->GetCellNumber(i));

		//Check if this absId exists
		if(!(fGeom->CheckAbsCellId(absID))){ 
			continue;
		}
		Int_t nSupMod, nModule, nIphi, nIeta, iphi, ieta;
		// Get from the absId the super module number, the module number and the eta-phi index (0 or 1) in the module
		fGeom->GetCellIndex(absID, nSupMod, nModule, nIphi, nIeta);

		// Get from the  the super module number, the module number and the eta-phi index (0 or 1) in the module the tower row (iphi) and column (ieta)
		fGeom->GetCellPhiEtaIndexInSModule(nSupMod,nModule,nIphi,nIeta, iphi, ieta);

		if(bVerbose)
			printf("ID: %d ; supermodule: %d ; module %d ; phi %d ; eta %d \n",absID, nSupMod, nModule, nIphi, nIeta);


		Int_t etainv = 47-ieta;
		//fHSMCellE[nSupMod]->Fill(etainv,phi,i);


		Int_t binx = etainv + 48*((nSupMod+1) % 2);
		Int_t biny = iphi + 24*nSupMod/2;
		if(nSupMod % 2 != 0)
			biny -= 12;

		Double_t cellE = cells->GetAmplitude(i);
		//fHistGlobalHmap0->Fill(binx,biny,cellE);

		Double_t nEtaGlobal, nPhiGlobal; 
		Int_t nSupMod2;

		nSupMod2 = fGeom->GetSuperModuleNumber(absID);
		fGeom->EtaPhiFromIndex(absID,nEtaGlobal,nPhiGlobal);

		if(bVerbose){
			printf("SM number: %d ; global eta: \t%6.4f ; global phi: \t%6.4f \n",nSupMod2,nEtaGlobal,nPhiGlobal);
		}


		//Double_t nPhi;
		//if(nPhiGlobal < 0){
		//	nPhi = TMath::Pi()+TMath::Abs(TMath::Pi()+nPhiGlobal);
		//}
		//else{
		//nPhi = nPhiGlobal;
		//}
		fHistGlobalHmap0->Fill(binx,biny,cellE);
		fHistGlobalHmap->Fill(nEtaGlobal,nPhiGlobal,cellE);

	}

	if(bVerbose){
		printf("\nThere are %d cells in this event\n", ncells);
		printf("There are %d tracks in this event\n", fESD->GetNumberOfTracks());
	}


	//<------------ cell loop <-----------------

	//------------> track loop ----------------->
	for (Int_t iTracks = 0; iTracks < fESD->GetNumberOfTracks(); iTracks++) {
		AliESDtrack* track = fESD->GetTrack(iTracks);
		if (!track) {
			printf("ERROR: Could not receive track %d\n", iTracks);
			continue;
		}


	}
	//<------------ track loop <-----------------

	//------------> cluster loop ----------------->
	emclus = 0;
	Int_t nclus = clusters->GetEntries();
	//printf("%d clusters\n",nclus);
	//cluster loop 1 for counting EMCal cluster
	for(int i = 0; i < nclus; i++){ 
		AliVCluster *clus = static_cast<AliVCluster*>(clusters->At(i));
		if (!clus){
			//printf("Cluster empty!\n");
			continue;
		}
		if (!clus->IsEMCAL()){
			//printf("Cluster %d is not EMCAL!\n",i);
			//      cout << "at " << i << " cluster not EMCAL" << endl;
			continue;
		}

		emclus++;
	}

	//<------------ cluster loop <-----------------


	//<============ DATA LOOP <=================


	//============> MC LOOP =================>
	if(bMC){

		//------------> cell loop ----------------->
		//<------------ cell loop <-----------------

		//------------> track loop ----------------->
		//<------------ track loop <-----------------

		//------------> cluster loop  ----------------->
		for(int i = 0; i < nclus; i++){
			AliVCluster *clus = static_cast<AliVCluster*>(clusters->At(i));
			if (!clus){
				//printf("Cluster empty!\n");
				continue;
			}
			if (!clus->IsEMCAL()){
				//printf("Cluster %d is not EMCAL!\n",i);
				//      cout << "at " << i << " cluster not EMCAL" << endl;
				continue;
			}
			//MCTruth
			int clslabel = -1;

			// all contributors
			Int_t* mcarr =  clus->GetLabels();
			// number of contributors
			Int_t nl = clus->GetNLabels();




			for(int ip=0;ip<nl;ip++){
				Int_t entry = mcarr[ip];
				AliMCParticle *mcPart = static_cast<AliMCParticle*>(fMC->GetTrack(entry));
				if(!mcPart){
					continue;
				}
				contPID = mcPart->PdgCode();
				if(bVerbose){
					printf("%d \t %d \n",clslabel,mcPart->PdgCode());
				}
				prodrad = mcPart->Particle()->R();
				Int_t indexMoth = mcPart->GetMother();
				if(indexMoth >= 0)
				{
					AliMCParticle* moth = static_cast<AliMCParticle*>(fMC->GetTrack(indexMoth));
					//	//AliMCParticle* moth = (AliMCParticle*)stack->At(indexMoth);
					mothPID = moth->PdgCode();
				}





				//printf("%d \t %d \n",clslabel,nl);

			}
			fTreeCluster->Fill();

		}

		//<------------ cluster loop <-----------------

	}
	//<============ MC LOOP <=================







	//cluster loop 2 for analysis
	//\cluster loop


	fTreeEvent->Fill();


	PostData(1, fOutputList);
}      

//________________________________________________________________________
void AliAnalysisTaskEMCALIsolation::Terminate(Option_t *) 
{
	// Draw result to the screen
	// Called once at the end of the query

	fOutputList = dynamic_cast<TList*> (GetOutputData(1));
	if (!fOutputList) {
		printf("ERROR: Output list not available\n");
		return;
	}

	fHistGlobalHmap = dynamic_cast<TH2F*> (fOutputList->At(2));
	if (!fHistGlobalHmap) {
		printf("ERROR: fHistGlobalHmap not available\n");
		return;
	}

	fHistGlobalHmap->DrawCopy("colz");

}


const char * AliAnalysisTaskEMCALIsolation::GetParticleName(Int_t pdg)
{
	TParticlePDG * p1 = TDatabasePDG::Instance()->GetParticle(pdg);
	if(p1) return p1->GetName();
	return Form("%d", pdg);
}
 AliAnalysisTaskEMCALIsolation.cxx:1
 AliAnalysisTaskEMCALIsolation.cxx:2
 AliAnalysisTaskEMCALIsolation.cxx:3
 AliAnalysisTaskEMCALIsolation.cxx:4
 AliAnalysisTaskEMCALIsolation.cxx:5
 AliAnalysisTaskEMCALIsolation.cxx:6
 AliAnalysisTaskEMCALIsolation.cxx:7
 AliAnalysisTaskEMCALIsolation.cxx:8
 AliAnalysisTaskEMCALIsolation.cxx:9
 AliAnalysisTaskEMCALIsolation.cxx:10
 AliAnalysisTaskEMCALIsolation.cxx:11
 AliAnalysisTaskEMCALIsolation.cxx:12
 AliAnalysisTaskEMCALIsolation.cxx:13
 AliAnalysisTaskEMCALIsolation.cxx:14
 AliAnalysisTaskEMCALIsolation.cxx:15
 AliAnalysisTaskEMCALIsolation.cxx:16
 AliAnalysisTaskEMCALIsolation.cxx:17
 AliAnalysisTaskEMCALIsolation.cxx:18
 AliAnalysisTaskEMCALIsolation.cxx:19
 AliAnalysisTaskEMCALIsolation.cxx:20
 AliAnalysisTaskEMCALIsolation.cxx:21
 AliAnalysisTaskEMCALIsolation.cxx:22
 AliAnalysisTaskEMCALIsolation.cxx:23
 AliAnalysisTaskEMCALIsolation.cxx:24
 AliAnalysisTaskEMCALIsolation.cxx:25
 AliAnalysisTaskEMCALIsolation.cxx:26
 AliAnalysisTaskEMCALIsolation.cxx:27
 AliAnalysisTaskEMCALIsolation.cxx:28
 AliAnalysisTaskEMCALIsolation.cxx:29
 AliAnalysisTaskEMCALIsolation.cxx:30
 AliAnalysisTaskEMCALIsolation.cxx:31
 AliAnalysisTaskEMCALIsolation.cxx:32
 AliAnalysisTaskEMCALIsolation.cxx:33
 AliAnalysisTaskEMCALIsolation.cxx:34
 AliAnalysisTaskEMCALIsolation.cxx:35
 AliAnalysisTaskEMCALIsolation.cxx:36
 AliAnalysisTaskEMCALIsolation.cxx:37
 AliAnalysisTaskEMCALIsolation.cxx:38
 AliAnalysisTaskEMCALIsolation.cxx:39
 AliAnalysisTaskEMCALIsolation.cxx:40
 AliAnalysisTaskEMCALIsolation.cxx:41
 AliAnalysisTaskEMCALIsolation.cxx:42
 AliAnalysisTaskEMCALIsolation.cxx:43
 AliAnalysisTaskEMCALIsolation.cxx:44
 AliAnalysisTaskEMCALIsolation.cxx:45
 AliAnalysisTaskEMCALIsolation.cxx:46
 AliAnalysisTaskEMCALIsolation.cxx:47
 AliAnalysisTaskEMCALIsolation.cxx:48
 AliAnalysisTaskEMCALIsolation.cxx:49
 AliAnalysisTaskEMCALIsolation.cxx:50
 AliAnalysisTaskEMCALIsolation.cxx:51
 AliAnalysisTaskEMCALIsolation.cxx:52
 AliAnalysisTaskEMCALIsolation.cxx:53
 AliAnalysisTaskEMCALIsolation.cxx:54
 AliAnalysisTaskEMCALIsolation.cxx:55
 AliAnalysisTaskEMCALIsolation.cxx:56
 AliAnalysisTaskEMCALIsolation.cxx:57
 AliAnalysisTaskEMCALIsolation.cxx:58
 AliAnalysisTaskEMCALIsolation.cxx:59
 AliAnalysisTaskEMCALIsolation.cxx:60
 AliAnalysisTaskEMCALIsolation.cxx:61
 AliAnalysisTaskEMCALIsolation.cxx:62
 AliAnalysisTaskEMCALIsolation.cxx:63
 AliAnalysisTaskEMCALIsolation.cxx:64
 AliAnalysisTaskEMCALIsolation.cxx:65
 AliAnalysisTaskEMCALIsolation.cxx:66
 AliAnalysisTaskEMCALIsolation.cxx:67
 AliAnalysisTaskEMCALIsolation.cxx:68
 AliAnalysisTaskEMCALIsolation.cxx:69
 AliAnalysisTaskEMCALIsolation.cxx:70
 AliAnalysisTaskEMCALIsolation.cxx:71
 AliAnalysisTaskEMCALIsolation.cxx:72
 AliAnalysisTaskEMCALIsolation.cxx:73
 AliAnalysisTaskEMCALIsolation.cxx:74
 AliAnalysisTaskEMCALIsolation.cxx:75
 AliAnalysisTaskEMCALIsolation.cxx:76
 AliAnalysisTaskEMCALIsolation.cxx:77
 AliAnalysisTaskEMCALIsolation.cxx:78
 AliAnalysisTaskEMCALIsolation.cxx:79
 AliAnalysisTaskEMCALIsolation.cxx:80
 AliAnalysisTaskEMCALIsolation.cxx:81
 AliAnalysisTaskEMCALIsolation.cxx:82
 AliAnalysisTaskEMCALIsolation.cxx:83
 AliAnalysisTaskEMCALIsolation.cxx:84
 AliAnalysisTaskEMCALIsolation.cxx:85
 AliAnalysisTaskEMCALIsolation.cxx:86
 AliAnalysisTaskEMCALIsolation.cxx:87
 AliAnalysisTaskEMCALIsolation.cxx:88
 AliAnalysisTaskEMCALIsolation.cxx:89
 AliAnalysisTaskEMCALIsolation.cxx:90
 AliAnalysisTaskEMCALIsolation.cxx:91
 AliAnalysisTaskEMCALIsolation.cxx:92
 AliAnalysisTaskEMCALIsolation.cxx:93
 AliAnalysisTaskEMCALIsolation.cxx:94
 AliAnalysisTaskEMCALIsolation.cxx:95
 AliAnalysisTaskEMCALIsolation.cxx:96
 AliAnalysisTaskEMCALIsolation.cxx:97
 AliAnalysisTaskEMCALIsolation.cxx:98
 AliAnalysisTaskEMCALIsolation.cxx:99
 AliAnalysisTaskEMCALIsolation.cxx:100
 AliAnalysisTaskEMCALIsolation.cxx:101
 AliAnalysisTaskEMCALIsolation.cxx:102
 AliAnalysisTaskEMCALIsolation.cxx:103
 AliAnalysisTaskEMCALIsolation.cxx:104
 AliAnalysisTaskEMCALIsolation.cxx:105
 AliAnalysisTaskEMCALIsolation.cxx:106
 AliAnalysisTaskEMCALIsolation.cxx:107
 AliAnalysisTaskEMCALIsolation.cxx:108
 AliAnalysisTaskEMCALIsolation.cxx:109
 AliAnalysisTaskEMCALIsolation.cxx:110
 AliAnalysisTaskEMCALIsolation.cxx:111
 AliAnalysisTaskEMCALIsolation.cxx:112
 AliAnalysisTaskEMCALIsolation.cxx:113
 AliAnalysisTaskEMCALIsolation.cxx:114
 AliAnalysisTaskEMCALIsolation.cxx:115
 AliAnalysisTaskEMCALIsolation.cxx:116
 AliAnalysisTaskEMCALIsolation.cxx:117
 AliAnalysisTaskEMCALIsolation.cxx:118
 AliAnalysisTaskEMCALIsolation.cxx:119
 AliAnalysisTaskEMCALIsolation.cxx:120
 AliAnalysisTaskEMCALIsolation.cxx:121
 AliAnalysisTaskEMCALIsolation.cxx:122
 AliAnalysisTaskEMCALIsolation.cxx:123
 AliAnalysisTaskEMCALIsolation.cxx:124
 AliAnalysisTaskEMCALIsolation.cxx:125
 AliAnalysisTaskEMCALIsolation.cxx:126
 AliAnalysisTaskEMCALIsolation.cxx:127
 AliAnalysisTaskEMCALIsolation.cxx:128
 AliAnalysisTaskEMCALIsolation.cxx:129
 AliAnalysisTaskEMCALIsolation.cxx:130
 AliAnalysisTaskEMCALIsolation.cxx:131
 AliAnalysisTaskEMCALIsolation.cxx:132
 AliAnalysisTaskEMCALIsolation.cxx:133
 AliAnalysisTaskEMCALIsolation.cxx:134
 AliAnalysisTaskEMCALIsolation.cxx:135
 AliAnalysisTaskEMCALIsolation.cxx:136
 AliAnalysisTaskEMCALIsolation.cxx:137
 AliAnalysisTaskEMCALIsolation.cxx:138
 AliAnalysisTaskEMCALIsolation.cxx:139
 AliAnalysisTaskEMCALIsolation.cxx:140
 AliAnalysisTaskEMCALIsolation.cxx:141
 AliAnalysisTaskEMCALIsolation.cxx:142
 AliAnalysisTaskEMCALIsolation.cxx:143
 AliAnalysisTaskEMCALIsolation.cxx:144
 AliAnalysisTaskEMCALIsolation.cxx:145
 AliAnalysisTaskEMCALIsolation.cxx:146
 AliAnalysisTaskEMCALIsolation.cxx:147
 AliAnalysisTaskEMCALIsolation.cxx:148
 AliAnalysisTaskEMCALIsolation.cxx:149
 AliAnalysisTaskEMCALIsolation.cxx:150
 AliAnalysisTaskEMCALIsolation.cxx:151
 AliAnalysisTaskEMCALIsolation.cxx:152
 AliAnalysisTaskEMCALIsolation.cxx:153
 AliAnalysisTaskEMCALIsolation.cxx:154
 AliAnalysisTaskEMCALIsolation.cxx:155
 AliAnalysisTaskEMCALIsolation.cxx:156
 AliAnalysisTaskEMCALIsolation.cxx:157
 AliAnalysisTaskEMCALIsolation.cxx:158
 AliAnalysisTaskEMCALIsolation.cxx:159
 AliAnalysisTaskEMCALIsolation.cxx:160
 AliAnalysisTaskEMCALIsolation.cxx:161
 AliAnalysisTaskEMCALIsolation.cxx:162
 AliAnalysisTaskEMCALIsolation.cxx:163
 AliAnalysisTaskEMCALIsolation.cxx:164
 AliAnalysisTaskEMCALIsolation.cxx:165
 AliAnalysisTaskEMCALIsolation.cxx:166
 AliAnalysisTaskEMCALIsolation.cxx:167
 AliAnalysisTaskEMCALIsolation.cxx:168
 AliAnalysisTaskEMCALIsolation.cxx:169
 AliAnalysisTaskEMCALIsolation.cxx:170
 AliAnalysisTaskEMCALIsolation.cxx:171
 AliAnalysisTaskEMCALIsolation.cxx:172
 AliAnalysisTaskEMCALIsolation.cxx:173
 AliAnalysisTaskEMCALIsolation.cxx:174
 AliAnalysisTaskEMCALIsolation.cxx:175
 AliAnalysisTaskEMCALIsolation.cxx:176
 AliAnalysisTaskEMCALIsolation.cxx:177
 AliAnalysisTaskEMCALIsolation.cxx:178
 AliAnalysisTaskEMCALIsolation.cxx:179
 AliAnalysisTaskEMCALIsolation.cxx:180
 AliAnalysisTaskEMCALIsolation.cxx:181
 AliAnalysisTaskEMCALIsolation.cxx:182
 AliAnalysisTaskEMCALIsolation.cxx:183
 AliAnalysisTaskEMCALIsolation.cxx:184
 AliAnalysisTaskEMCALIsolation.cxx:185
 AliAnalysisTaskEMCALIsolation.cxx:186
 AliAnalysisTaskEMCALIsolation.cxx:187
 AliAnalysisTaskEMCALIsolation.cxx:188
 AliAnalysisTaskEMCALIsolation.cxx:189
 AliAnalysisTaskEMCALIsolation.cxx:190
 AliAnalysisTaskEMCALIsolation.cxx:191
 AliAnalysisTaskEMCALIsolation.cxx:192
 AliAnalysisTaskEMCALIsolation.cxx:193
 AliAnalysisTaskEMCALIsolation.cxx:194
 AliAnalysisTaskEMCALIsolation.cxx:195
 AliAnalysisTaskEMCALIsolation.cxx:196
 AliAnalysisTaskEMCALIsolation.cxx:197
 AliAnalysisTaskEMCALIsolation.cxx:198
 AliAnalysisTaskEMCALIsolation.cxx:199
 AliAnalysisTaskEMCALIsolation.cxx:200
 AliAnalysisTaskEMCALIsolation.cxx:201
 AliAnalysisTaskEMCALIsolation.cxx:202
 AliAnalysisTaskEMCALIsolation.cxx:203
 AliAnalysisTaskEMCALIsolation.cxx:204
 AliAnalysisTaskEMCALIsolation.cxx:205
 AliAnalysisTaskEMCALIsolation.cxx:206
 AliAnalysisTaskEMCALIsolation.cxx:207
 AliAnalysisTaskEMCALIsolation.cxx:208
 AliAnalysisTaskEMCALIsolation.cxx:209
 AliAnalysisTaskEMCALIsolation.cxx:210
 AliAnalysisTaskEMCALIsolation.cxx:211
 AliAnalysisTaskEMCALIsolation.cxx:212
 AliAnalysisTaskEMCALIsolation.cxx:213
 AliAnalysisTaskEMCALIsolation.cxx:214
 AliAnalysisTaskEMCALIsolation.cxx:215
 AliAnalysisTaskEMCALIsolation.cxx:216
 AliAnalysisTaskEMCALIsolation.cxx:217
 AliAnalysisTaskEMCALIsolation.cxx:218
 AliAnalysisTaskEMCALIsolation.cxx:219
 AliAnalysisTaskEMCALIsolation.cxx:220
 AliAnalysisTaskEMCALIsolation.cxx:221
 AliAnalysisTaskEMCALIsolation.cxx:222
 AliAnalysisTaskEMCALIsolation.cxx:223
 AliAnalysisTaskEMCALIsolation.cxx:224
 AliAnalysisTaskEMCALIsolation.cxx:225
 AliAnalysisTaskEMCALIsolation.cxx:226
 AliAnalysisTaskEMCALIsolation.cxx:227
 AliAnalysisTaskEMCALIsolation.cxx:228
 AliAnalysisTaskEMCALIsolation.cxx:229
 AliAnalysisTaskEMCALIsolation.cxx:230
 AliAnalysisTaskEMCALIsolation.cxx:231
 AliAnalysisTaskEMCALIsolation.cxx:232
 AliAnalysisTaskEMCALIsolation.cxx:233
 AliAnalysisTaskEMCALIsolation.cxx:234
 AliAnalysisTaskEMCALIsolation.cxx:235
 AliAnalysisTaskEMCALIsolation.cxx:236
 AliAnalysisTaskEMCALIsolation.cxx:237
 AliAnalysisTaskEMCALIsolation.cxx:238
 AliAnalysisTaskEMCALIsolation.cxx:239
 AliAnalysisTaskEMCALIsolation.cxx:240
 AliAnalysisTaskEMCALIsolation.cxx:241
 AliAnalysisTaskEMCALIsolation.cxx:242
 AliAnalysisTaskEMCALIsolation.cxx:243
 AliAnalysisTaskEMCALIsolation.cxx:244
 AliAnalysisTaskEMCALIsolation.cxx:245
 AliAnalysisTaskEMCALIsolation.cxx:246
 AliAnalysisTaskEMCALIsolation.cxx:247
 AliAnalysisTaskEMCALIsolation.cxx:248
 AliAnalysisTaskEMCALIsolation.cxx:249
 AliAnalysisTaskEMCALIsolation.cxx:250
 AliAnalysisTaskEMCALIsolation.cxx:251
 AliAnalysisTaskEMCALIsolation.cxx:252
 AliAnalysisTaskEMCALIsolation.cxx:253
 AliAnalysisTaskEMCALIsolation.cxx:254
 AliAnalysisTaskEMCALIsolation.cxx:255
 AliAnalysisTaskEMCALIsolation.cxx:256
 AliAnalysisTaskEMCALIsolation.cxx:257
 AliAnalysisTaskEMCALIsolation.cxx:258
 AliAnalysisTaskEMCALIsolation.cxx:259
 AliAnalysisTaskEMCALIsolation.cxx:260
 AliAnalysisTaskEMCALIsolation.cxx:261
 AliAnalysisTaskEMCALIsolation.cxx:262
 AliAnalysisTaskEMCALIsolation.cxx:263
 AliAnalysisTaskEMCALIsolation.cxx:264
 AliAnalysisTaskEMCALIsolation.cxx:265
 AliAnalysisTaskEMCALIsolation.cxx:266
 AliAnalysisTaskEMCALIsolation.cxx:267
 AliAnalysisTaskEMCALIsolation.cxx:268
 AliAnalysisTaskEMCALIsolation.cxx:269
 AliAnalysisTaskEMCALIsolation.cxx:270
 AliAnalysisTaskEMCALIsolation.cxx:271
 AliAnalysisTaskEMCALIsolation.cxx:272
 AliAnalysisTaskEMCALIsolation.cxx:273
 AliAnalysisTaskEMCALIsolation.cxx:274
 AliAnalysisTaskEMCALIsolation.cxx:275
 AliAnalysisTaskEMCALIsolation.cxx:276
 AliAnalysisTaskEMCALIsolation.cxx:277
 AliAnalysisTaskEMCALIsolation.cxx:278
 AliAnalysisTaskEMCALIsolation.cxx:279
 AliAnalysisTaskEMCALIsolation.cxx:280
 AliAnalysisTaskEMCALIsolation.cxx:281
 AliAnalysisTaskEMCALIsolation.cxx:282
 AliAnalysisTaskEMCALIsolation.cxx:283
 AliAnalysisTaskEMCALIsolation.cxx:284
 AliAnalysisTaskEMCALIsolation.cxx:285
 AliAnalysisTaskEMCALIsolation.cxx:286
 AliAnalysisTaskEMCALIsolation.cxx:287
 AliAnalysisTaskEMCALIsolation.cxx:288
 AliAnalysisTaskEMCALIsolation.cxx:289
 AliAnalysisTaskEMCALIsolation.cxx:290
 AliAnalysisTaskEMCALIsolation.cxx:291
 AliAnalysisTaskEMCALIsolation.cxx:292
 AliAnalysisTaskEMCALIsolation.cxx:293
 AliAnalysisTaskEMCALIsolation.cxx:294
 AliAnalysisTaskEMCALIsolation.cxx:295
 AliAnalysisTaskEMCALIsolation.cxx:296
 AliAnalysisTaskEMCALIsolation.cxx:297
 AliAnalysisTaskEMCALIsolation.cxx:298
 AliAnalysisTaskEMCALIsolation.cxx:299
 AliAnalysisTaskEMCALIsolation.cxx:300
 AliAnalysisTaskEMCALIsolation.cxx:301
 AliAnalysisTaskEMCALIsolation.cxx:302
 AliAnalysisTaskEMCALIsolation.cxx:303
 AliAnalysisTaskEMCALIsolation.cxx:304
 AliAnalysisTaskEMCALIsolation.cxx:305
 AliAnalysisTaskEMCALIsolation.cxx:306
 AliAnalysisTaskEMCALIsolation.cxx:307
 AliAnalysisTaskEMCALIsolation.cxx:308
 AliAnalysisTaskEMCALIsolation.cxx:309
 AliAnalysisTaskEMCALIsolation.cxx:310
 AliAnalysisTaskEMCALIsolation.cxx:311
 AliAnalysisTaskEMCALIsolation.cxx:312
 AliAnalysisTaskEMCALIsolation.cxx:313
 AliAnalysisTaskEMCALIsolation.cxx:314
 AliAnalysisTaskEMCALIsolation.cxx:315
 AliAnalysisTaskEMCALIsolation.cxx:316
 AliAnalysisTaskEMCALIsolation.cxx:317
 AliAnalysisTaskEMCALIsolation.cxx:318
 AliAnalysisTaskEMCALIsolation.cxx:319
 AliAnalysisTaskEMCALIsolation.cxx:320
 AliAnalysisTaskEMCALIsolation.cxx:321
 AliAnalysisTaskEMCALIsolation.cxx:322
 AliAnalysisTaskEMCALIsolation.cxx:323
 AliAnalysisTaskEMCALIsolation.cxx:324
 AliAnalysisTaskEMCALIsolation.cxx:325
 AliAnalysisTaskEMCALIsolation.cxx:326
 AliAnalysisTaskEMCALIsolation.cxx:327
 AliAnalysisTaskEMCALIsolation.cxx:328
 AliAnalysisTaskEMCALIsolation.cxx:329
 AliAnalysisTaskEMCALIsolation.cxx:330
 AliAnalysisTaskEMCALIsolation.cxx:331
 AliAnalysisTaskEMCALIsolation.cxx:332
 AliAnalysisTaskEMCALIsolation.cxx:333
 AliAnalysisTaskEMCALIsolation.cxx:334
 AliAnalysisTaskEMCALIsolation.cxx:335
 AliAnalysisTaskEMCALIsolation.cxx:336
 AliAnalysisTaskEMCALIsolation.cxx:337
 AliAnalysisTaskEMCALIsolation.cxx:338
 AliAnalysisTaskEMCALIsolation.cxx:339
 AliAnalysisTaskEMCALIsolation.cxx:340
 AliAnalysisTaskEMCALIsolation.cxx:341
 AliAnalysisTaskEMCALIsolation.cxx:342
 AliAnalysisTaskEMCALIsolation.cxx:343
 AliAnalysisTaskEMCALIsolation.cxx:344
 AliAnalysisTaskEMCALIsolation.cxx:345
 AliAnalysisTaskEMCALIsolation.cxx:346
 AliAnalysisTaskEMCALIsolation.cxx:347
 AliAnalysisTaskEMCALIsolation.cxx:348
 AliAnalysisTaskEMCALIsolation.cxx:349
 AliAnalysisTaskEMCALIsolation.cxx:350
 AliAnalysisTaskEMCALIsolation.cxx:351
 AliAnalysisTaskEMCALIsolation.cxx:352
 AliAnalysisTaskEMCALIsolation.cxx:353
 AliAnalysisTaskEMCALIsolation.cxx:354
 AliAnalysisTaskEMCALIsolation.cxx:355
 AliAnalysisTaskEMCALIsolation.cxx:356
 AliAnalysisTaskEMCALIsolation.cxx:357
 AliAnalysisTaskEMCALIsolation.cxx:358
 AliAnalysisTaskEMCALIsolation.cxx:359
 AliAnalysisTaskEMCALIsolation.cxx:360
 AliAnalysisTaskEMCALIsolation.cxx:361
 AliAnalysisTaskEMCALIsolation.cxx:362
 AliAnalysisTaskEMCALIsolation.cxx:363
 AliAnalysisTaskEMCALIsolation.cxx:364
 AliAnalysisTaskEMCALIsolation.cxx:365
 AliAnalysisTaskEMCALIsolation.cxx:366
 AliAnalysisTaskEMCALIsolation.cxx:367
 AliAnalysisTaskEMCALIsolation.cxx:368
 AliAnalysisTaskEMCALIsolation.cxx:369
 AliAnalysisTaskEMCALIsolation.cxx:370
 AliAnalysisTaskEMCALIsolation.cxx:371
 AliAnalysisTaskEMCALIsolation.cxx:372
 AliAnalysisTaskEMCALIsolation.cxx:373
 AliAnalysisTaskEMCALIsolation.cxx:374
 AliAnalysisTaskEMCALIsolation.cxx:375
 AliAnalysisTaskEMCALIsolation.cxx:376
 AliAnalysisTaskEMCALIsolation.cxx:377
 AliAnalysisTaskEMCALIsolation.cxx:378
 AliAnalysisTaskEMCALIsolation.cxx:379
 AliAnalysisTaskEMCALIsolation.cxx:380
 AliAnalysisTaskEMCALIsolation.cxx:381
 AliAnalysisTaskEMCALIsolation.cxx:382
 AliAnalysisTaskEMCALIsolation.cxx:383
 AliAnalysisTaskEMCALIsolation.cxx:384
 AliAnalysisTaskEMCALIsolation.cxx:385
 AliAnalysisTaskEMCALIsolation.cxx:386
 AliAnalysisTaskEMCALIsolation.cxx:387
 AliAnalysisTaskEMCALIsolation.cxx:388
 AliAnalysisTaskEMCALIsolation.cxx:389
 AliAnalysisTaskEMCALIsolation.cxx:390
 AliAnalysisTaskEMCALIsolation.cxx:391
 AliAnalysisTaskEMCALIsolation.cxx:392
 AliAnalysisTaskEMCALIsolation.cxx:393
 AliAnalysisTaskEMCALIsolation.cxx:394
 AliAnalysisTaskEMCALIsolation.cxx:395
 AliAnalysisTaskEMCALIsolation.cxx:396
 AliAnalysisTaskEMCALIsolation.cxx:397
 AliAnalysisTaskEMCALIsolation.cxx:398
 AliAnalysisTaskEMCALIsolation.cxx:399
 AliAnalysisTaskEMCALIsolation.cxx:400
 AliAnalysisTaskEMCALIsolation.cxx:401
 AliAnalysisTaskEMCALIsolation.cxx:402
 AliAnalysisTaskEMCALIsolation.cxx:403
 AliAnalysisTaskEMCALIsolation.cxx:404
 AliAnalysisTaskEMCALIsolation.cxx:405
 AliAnalysisTaskEMCALIsolation.cxx:406
 AliAnalysisTaskEMCALIsolation.cxx:407
 AliAnalysisTaskEMCALIsolation.cxx:408
 AliAnalysisTaskEMCALIsolation.cxx:409
 AliAnalysisTaskEMCALIsolation.cxx:410
 AliAnalysisTaskEMCALIsolation.cxx:411
 AliAnalysisTaskEMCALIsolation.cxx:412
 AliAnalysisTaskEMCALIsolation.cxx:413
 AliAnalysisTaskEMCALIsolation.cxx:414
 AliAnalysisTaskEMCALIsolation.cxx:415
 AliAnalysisTaskEMCALIsolation.cxx:416
 AliAnalysisTaskEMCALIsolation.cxx:417
 AliAnalysisTaskEMCALIsolation.cxx:418
 AliAnalysisTaskEMCALIsolation.cxx:419
 AliAnalysisTaskEMCALIsolation.cxx:420
 AliAnalysisTaskEMCALIsolation.cxx:421
 AliAnalysisTaskEMCALIsolation.cxx:422
 AliAnalysisTaskEMCALIsolation.cxx:423
 AliAnalysisTaskEMCALIsolation.cxx:424
 AliAnalysisTaskEMCALIsolation.cxx:425
 AliAnalysisTaskEMCALIsolation.cxx:426
 AliAnalysisTaskEMCALIsolation.cxx:427
 AliAnalysisTaskEMCALIsolation.cxx:428
 AliAnalysisTaskEMCALIsolation.cxx:429
 AliAnalysisTaskEMCALIsolation.cxx:430
 AliAnalysisTaskEMCALIsolation.cxx:431
 AliAnalysisTaskEMCALIsolation.cxx:432
 AliAnalysisTaskEMCALIsolation.cxx:433
 AliAnalysisTaskEMCALIsolation.cxx:434
 AliAnalysisTaskEMCALIsolation.cxx:435
 AliAnalysisTaskEMCALIsolation.cxx:436
 AliAnalysisTaskEMCALIsolation.cxx:437
 AliAnalysisTaskEMCALIsolation.cxx:438
 AliAnalysisTaskEMCALIsolation.cxx:439
 AliAnalysisTaskEMCALIsolation.cxx:440
 AliAnalysisTaskEMCALIsolation.cxx:441
 AliAnalysisTaskEMCALIsolation.cxx:442
 AliAnalysisTaskEMCALIsolation.cxx:443
 AliAnalysisTaskEMCALIsolation.cxx:444
 AliAnalysisTaskEMCALIsolation.cxx:445
 AliAnalysisTaskEMCALIsolation.cxx:446
 AliAnalysisTaskEMCALIsolation.cxx:447
 AliAnalysisTaskEMCALIsolation.cxx:448
 AliAnalysisTaskEMCALIsolation.cxx:449
 AliAnalysisTaskEMCALIsolation.cxx:450
 AliAnalysisTaskEMCALIsolation.cxx:451
 AliAnalysisTaskEMCALIsolation.cxx:452
 AliAnalysisTaskEMCALIsolation.cxx:453
 AliAnalysisTaskEMCALIsolation.cxx:454
 AliAnalysisTaskEMCALIsolation.cxx:455
 AliAnalysisTaskEMCALIsolation.cxx:456
 AliAnalysisTaskEMCALIsolation.cxx:457
 AliAnalysisTaskEMCALIsolation.cxx:458
 AliAnalysisTaskEMCALIsolation.cxx:459
 AliAnalysisTaskEMCALIsolation.cxx:460
 AliAnalysisTaskEMCALIsolation.cxx:461
 AliAnalysisTaskEMCALIsolation.cxx:462
 AliAnalysisTaskEMCALIsolation.cxx:463
 AliAnalysisTaskEMCALIsolation.cxx:464
 AliAnalysisTaskEMCALIsolation.cxx:465
 AliAnalysisTaskEMCALIsolation.cxx:466
 AliAnalysisTaskEMCALIsolation.cxx:467
 AliAnalysisTaskEMCALIsolation.cxx:468
 AliAnalysisTaskEMCALIsolation.cxx:469
 AliAnalysisTaskEMCALIsolation.cxx:470
 AliAnalysisTaskEMCALIsolation.cxx:471
 AliAnalysisTaskEMCALIsolation.cxx:472
 AliAnalysisTaskEMCALIsolation.cxx:473
 AliAnalysisTaskEMCALIsolation.cxx:474
 AliAnalysisTaskEMCALIsolation.cxx:475
 AliAnalysisTaskEMCALIsolation.cxx:476
 AliAnalysisTaskEMCALIsolation.cxx:477
 AliAnalysisTaskEMCALIsolation.cxx:478
 AliAnalysisTaskEMCALIsolation.cxx:479
 AliAnalysisTaskEMCALIsolation.cxx:480
 AliAnalysisTaskEMCALIsolation.cxx:481
 AliAnalysisTaskEMCALIsolation.cxx:482
 AliAnalysisTaskEMCALIsolation.cxx:483
 AliAnalysisTaskEMCALIsolation.cxx:484
 AliAnalysisTaskEMCALIsolation.cxx:485
 AliAnalysisTaskEMCALIsolation.cxx:486
 AliAnalysisTaskEMCALIsolation.cxx:487
 AliAnalysisTaskEMCALIsolation.cxx:488
 AliAnalysisTaskEMCALIsolation.cxx:489