ROOT logo
// $Id$
//
// Class to put collection of tracks into grid of PicoTracks
//
// Author: M. Verweij

#include <TClonesArray.h>
#include <TRandom3.h>
#include <TProfile.h>
#include <TH3F.h>

#include "AliAnalysisManager.h"
#include "AliLog.h"
#include "AliPicoTrack.h"
#include "AliVTrack.h"
#include "AliEmcalJet.h"
#include "AliParticleContainer.h"
#include "AliJetContainer.h"

#include "AliEmcalPicoTrackInGridMaker.h"

ClassImp(AliEmcalPicoTrackInGridMaker)

//________________________________________________________________________
AliEmcalPicoTrackInGridMaker::AliEmcalPicoTrackInGridMaker() : 
AliAnalysisTaskEmcalJet("AliEmcalPicoTrackInGridMaker",kTRUE),
  fTracksOutName("PicoTracksInGrid"),
  fTracksOut(0),
  fL1Slide(0),
  fCellSize(0.0145),
  fMinCellE(0.15),
  fExclLeadingPatch(0),
  fPatchSub(3),
  fRhoMean(184.),
  fNCells(-1),
  fNCellsEMCal(-1),
  fNCellsDCal(-1),
  fMultVsRho(0)
{
  // Constructor.

  for(Int_t i = 0; i<2; i++) {
    fCellGrid[i] = 0;
    fMiniPatchGrid[i] = 0;
    fActiveAreaMP[i] = 0;
  }

  fPhiMin[0] = 1.405;
  fPhiMax[0] = 1.405+TMath::DegToRad()*110.;
  fPhiMin[1] = 4.547;
  fPhiMax[1] = 5.71;
  fEtaMin[0] = -0.7;
  fEtaMax[0] = 0.7;
  fEtaMin[1] = -0.7;
  fEtaMax[1] = 0.7;

  for(Int_t i = 0; i<5; i++) {
    fNPatchesEMCal[i] = 0;
    fh1RhoEmcal[i] = 0;
    fh1RhoDcal[i] = 0;
    fPatchEnVsActivityEmcal[i] = 0;
    fPatchEnVsActivityDcal[i]  = 0;

    for(Int_t j = 0; j<2; j++) {
      fPatchGrid[j][i] = 0;
      fActiveAreaMPP[j][i] = 0;
      fActiveAreaCP[j][i]  = 0;
      fPatchECorr[j][i] = 0;
      fPatchECorrPar[j][i] = 0;
      fPatchERaw[j][i] = 0;
      fPatchECorrRho[j][i] = 0;
      fPatchECorrECorrRho[j][i] = 0;
      fh2JetPtPatchECorr[j][i] = 0;
    }
    fh2PatchEtaPhiEmcal[i] = 0;
    fh2PatchEtaPhiDcal[i]  = 0;
  }

  for(Int_t i = 0; i<3; i++) {
    fh2MedianTypeEmcal[i] = 0;
    fh2MedianTypeDcal[i] = 0;
    fpMedianTypeEmcal[i] = 0;
    fpMedianTypeDcal[i] = 0;
  }
  SetMakeGeneralHistograms(kTRUE);
}

//________________________________________________________________________
AliEmcalPicoTrackInGridMaker::AliEmcalPicoTrackInGridMaker(const char *name) : 
  AliAnalysisTaskEmcalJet(name,kTRUE),
  fTracksOutName("PicoTracksInGrid"),
  fTracksOut(0),
  fL1Slide(0),
  fCellSize(0.0145),
  fMinCellE(0.15),
  fExclLeadingPatch(0),
  fPatchSub(3),
  fRhoMean(184.),
  fNCells(-1),
  fNCellsEMCal(-1),
  fNCellsDCal(-1),
  fMultVsRho(0)
{
  // Constructor.

  for(Int_t i = 0; i<2; i++) {
    fCellGrid[i] = 0;
    fMiniPatchGrid[i] = 0;
    fActiveAreaMP[i] = 0;
  }

  fPhiMin[0] = 1.405;
  fPhiMax[0] = 1.405+TMath::DegToRad()*110.;
  fPhiMin[1] = 4.547;
  fPhiMax[1] = 5.71;
  fEtaMin[0] = -0.7;
  fEtaMax[0] = 0.7;
  fEtaMin[1] = -0.7;
  fEtaMax[1] = 0.7;

  for(Int_t i = 0; i<5; i++) {
    fNPatchesEMCal[i] = 0;
    fh1RhoEmcal[i] = 0;
    fh1RhoDcal[i] = 0;
    fPatchEnVsActivityEmcal[i] = 0;
    fPatchEnVsActivityDcal[i]  = 0;

    for(Int_t j = 0; j<2; j++) {
      fPatchGrid[j][i] = 0;
      fActiveAreaMPP[j][i] = 0;
      fActiveAreaCP[j][i]  = 0;
      fPatchECorr[j][i] = 0;
      fPatchECorrPar[j][i] = 0;
      fPatchERaw[j][i] = 0;
      fPatchECorrRho[j][i] = 0;
      fPatchECorrECorrRho[j][i] = 0;
      fh2JetPtPatchECorr[j][i] = 0;
    }
    fh2PatchEtaPhiEmcal[i] = 0;
    fh2PatchEtaPhiDcal[i]  = 0;
  }

  for(Int_t i = 0; i<3; i++) {
    fh2MedianTypeEmcal[i] = 0;
    fh2MedianTypeDcal[i] = 0;
    fpMedianTypeEmcal[i] = 0;
    fpMedianTypeDcal[i] = 0;
  }

  SetMakeGeneralHistograms(kTRUE);
}

//________________________________________________________________________
AliEmcalPicoTrackInGridMaker::~AliEmcalPicoTrackInGridMaker()
{
  // Destructor.
}

//________________________________________________________________________
void AliEmcalPicoTrackInGridMaker::UserCreateOutputObjects()
{
  // Create my user objects.
  AliAnalysisTaskEmcalJet::UserCreateOutputObjects();

  Int_t nBinsMed = 500;
  Double_t minMed = 0.;
  Double_t maxMed = 500.;

  Int_t nBinsPhiEmcal = 132+64;
  Double_t phiMinEmcal = 1.436931 - 32.*fCellSize;
  Double_t phiMaxEmcal = 3.292931 + 32.*fCellSize;

  Int_t nBinsPhiDcal = 80+64;
  Double_t phiMinDcal = 4.664500 - 32.*fCellSize;
  Double_t phiMaxDcal = 5.592500 + 32.*fCellSize;

  Int_t nBinsEta = 96+64;
  Double_t etaMin = -0.696 - 32.*fCellSize;
  Double_t etaMax =  0.696 + 32.*fCellSize;

  for(Int_t i = 0; i<3; i++) {
    fh2MedianTypeEmcal[i] = new TH2F(Form("fh2MedianTypeEmcalAreaType%d",i),Form("fh2MedianTypeEmcalAreaType%d",i),5,0.5,5.5,nBinsMed,minMed,maxMed);
    fOutput->Add(fh2MedianTypeEmcal[i]);

    fh2MedianTypeDcal[i] = new TH2F(Form("fh2MedianTypeDcalAreaType%d",i),Form("fh2MedianTypeDcalAreaType%d",i),5,0.5,5.5,nBinsMed,minMed,maxMed);
    fOutput->Add(fh2MedianTypeDcal[i]);

    fpMedianTypeEmcal[i] = new TProfile(Form("fpMedianTypeEmcalAreaType%d",i),Form("fpMedianTypeEmcalAreaType%d",i),5,0.5,5.5,"s");
    fOutput->Add(fpMedianTypeEmcal[i]);

    fpMedianTypeDcal[i] = new TProfile(Form("fpMedianTypeDcalAreaType%d",i),Form("fpMedianTypeDcalAreaType%d",i),5,0.5,5.5,"s");
    fOutput->Add(fpMedianTypeDcal[i]);
  }

  TString det[2] = {"Emcal","Dcal"};
  for(Int_t i = 0; i<5; i++) { //loop over patch types
    fh1RhoEmcal[i] = new TH1F(Form("fh1RhoEmcal_%d",i),Form("fh1RhoEmcal_%d",i),500,0.,1000.);
    fOutput->Add(fh1RhoEmcal[i]);
    fh1RhoDcal[i] = new TH1F(Form("fh1RhoDcal_%d",i),Form("fh1RhoDcal_%d",i),500,0.,1000.);
    fOutput->Add(fh1RhoDcal[i]);

    fPatchEnVsActivityEmcal[i] = new TH2F(Form("fh2PatchEnVsActivityEmcal_%d",i),Form("fh2PatchEnVsActivityEmcal_%d",i),300,0.,300.,150,-0.5,149.5);
    fOutput->Add(fPatchEnVsActivityEmcal[i]);

    fPatchEnVsActivityDcal[i] = new TH2F(Form("fh2PatchEnVsActivityDcal_%d",i),Form("fh2PatchEnVsActivityDcal_%d",i),300,0.,300.,150,-0.5,149.5);
    fOutput->Add(fPatchEnVsActivityDcal[i]);

    for(Int_t j = 0; j<2; j++) {
      fPatchECorr[j][i] = new TH1F(Form("fPatchECorr%s_%d",det[j].Data(),i),Form("fPatchECorr%s_%d;#it{E}_{patch}^{corr}",det[j].Data(),i),250,-50.,200.);
      fOutput->Add(fPatchECorr[j][i]);

      fPatchECorrPar[j][i] = new TH1F(Form("fPatchECorrPar%s_%d",det[j].Data(),i),Form("fPatchECorrPar%s_%d;#it{E}_{patch}^{corr}",det[j].Data(),i),250,-50.,200.);
      fOutput->Add(fPatchECorrPar[j][i]);  

      fPatchERaw[j][i] = new TH1F(Form("fPatchERaw%s_%d",det[j].Data(),i),Form("fPatchERaw%s_%d;#it{E}_{patch}^{corr}",det[j].Data(),i),250,-50.,200.);
      fOutput->Add(fPatchERaw[j][i]);

      fPatchECorrRho[j][i] = new TH2F(Form("fPatchECorrRho%s_%d",det[j].Data(),i),Form("fPatchECorrRho%s_%d;#it{E}_{patch}^{corr};#rho",det[j].Data(),i),250,-50.,200.,500,0.,500.);
      fOutput->Add(fPatchECorrRho[j][i]);  

      fPatchECorrECorrRho[j][i] = new TH3F(Form("fPatchECorrECorrRho%s_%d",det[j].Data(),i),Form("fPatchECorrECorrRho%s_%d;#it{E}_{patch,det1}^{corr};#it{E}_{patch,det2}^{corr};#rho",det[j].Data(),i),210,-30.,180.,210,-30.,180.,250,0.,250.);
      fOutput->Add(fPatchECorrECorrRho[j][i]);

      fh2JetPtPatchECorr[j][i] = new TH2F(Form("fh2JetPtPatchECorr%s_%d",det[j].Data(),i),Form("fh2JetPtPatchECorr%s_%d",det[j].Data(),i),250,-50.,200.,250,-50.,200.);
      fOutput->Add(fh2JetPtPatchECorr[j][i]);
    }

    fh2PatchEtaPhiEmcal[i] = new TH2F(Form("fh2PatchEtaPhiEmcal_%d",i),Form("fh2PatchEtaPhiEmcal_%d;#eta;#phi",i),nBinsEta,etaMin,etaMax,nBinsPhiEmcal,phiMinEmcal,phiMaxEmcal);
    fOutput->Add(fh2PatchEtaPhiEmcal[i]);

    fh2PatchEtaPhiDcal[i] = new TH2F(Form("fh2PatchEtaPhiDcal_%d",i),Form("fh2PatchEtaPhiDcal_%d;#eta;#phi",i),nBinsEta,etaMin,etaMax,nBinsPhiDcal,phiMinDcal,phiMaxDcal);
    fOutput->Add(fh2PatchEtaPhiDcal[i]);
  }

  fMultVsRho = new TH2F("fMultVsRho","fMultVsRho",3000,0,3000,400,0,400);
  fOutput->Add(fMultVsRho);

  PostData(1, fOutput);
}

//________________________________________________________________________
Bool_t AliEmcalPicoTrackInGridMaker::Run()
{
  // Main loop, called for each event.

  Bool_t b = CreateGridCells();
  if(!b) return kFALSE;
  b = CreateGridMiniPatches();
  if(!b) return kFALSE;

  //L0 single shower trigger
  CreateGridPatches(4,0);
  //  return kTRUE;

  //L1 triggers: sliding window
  CreateGridPatches(4,1);
  CreateGridPatches(8,1);
  CreateGridPatches(16,1);
  CreateGridPatches(32,1);


  Double_t medL0 = CalculateMedian(0,0);
  fh2MedianTypeEmcal[0]->Fill(0.5,medL0);
  fpMedianTypeEmcal[0]->Fill(0.5,medL0);
  medL0 = CalculateMedian(0,1);
  fh2MedianTypeDcal[0]->Fill(0.5,medL0);
  fpMedianTypeDcal[0]->Fill(0.5,medL0);

  Double_t medL1[4][2];
  for(Int_t i = 0; i<4; i++) { //patches
    for(Int_t type = 0; type<2; type++) { //EMCal or DCal
      for(Int_t areaT = 0; areaT<1; areaT++) { //areay type (passive vs active)
	medL1[i][type] = CalculateMedian(i+1,type,areaT);
	if(type==0) {
	  fh2MedianTypeEmcal[areaT]->Fill((Double_t)(i+1)+0.5,medL1[i][type]);
	  fpMedianTypeEmcal[areaT]->Fill((Double_t)(i+1)+0.5,medL1[i][type]);
	}
	if(type==1) {
	  fh2MedianTypeDcal[areaT]->Fill((Double_t)(i+1)+0.5,medL1[i][type]);
	  fpMedianTypeDcal[areaT]->Fill((Double_t)(i+1)+0.5,medL1[i][type]);
	}
      }
    }
  }

  // subtract energy density and store energy distributions of corrected patches in histo
  Int_t EleadID[5][2];
  Double_t Elead[5][2];
  Double_t EleadRaw[5][2];
  for(Int_t i = 1; i<5; i++) { //patch types
    Int_t stepSize = GetTriggerPatchIdStepSizeNoOverlap(GetPatchDim(i));
    for(Int_t type = 0; type<2; type++) {
      EleadID[i][type] = -1;
      Elead[i][type] = -1e6;
      EleadRaw[i][type] = -1e6;
      Int_t subType = 1;
      if(type==1) subType = 0;
      //      for(Int_t j = 0; j<(fPatchGrid[type][i].GetSize()-stepSize+1); j+=stepSize) { //patches
      for(Int_t k = 0; k<GetNColTriggerPatches(type,GetPatchDim(i),i); k+=stepSize) {
	for(Int_t l = 0; l<GetNRowTriggerPatches(type,GetPatchDim(i),i); l+=stepSize) {
	  Int_t id = GetTriggerPatchID(k,l,type,GetPatchDim(i),i);
	  //	  if(type==1 && i==4) Printf("id: %d/%d k: %d/%d l: %d/%d",id,fPatchGrid[type][i].GetSize(),k,GetNColTriggerPatches(type,GetPatchDim(i),i),l,GetNRowTriggerPatches(type,GetPatchDim(i),i));
	  if(fPatchGrid[type][i].At(id)>0.) { //don't do anything with empty patches
	    Double_t sub = medL1[fPatchSub-1][subType]*GetPatchArea(i);
	    fPatchECorr[type][i]->Fill(fPatchGrid[type][i].At(id) - sub);
	    fPatchECorrPar[type][i]->Fill(fPatchGrid[type][i].At(id) - fRhoMean*GetPatchArea(i));
	
	    //Bookkeep leading patches
	    if((fPatchGrid[type][i].At(id)-sub)>Elead[i][type]) {
	      EleadID[i][type] = id;
	      Elead[i][type] = fPatchGrid[type][i].At(id)-sub;
	    }
	    if(fPatchGrid[type][i].At(id)>EleadRaw[i][type])
	      EleadRaw[i][type] = fPatchGrid[type][i].At(id);
	  }
	}//cols
      }//rows
    }//type

    AliJetContainer *cont = GetJetContainer(0);
    for(Int_t k = 0; k<2; k++) {
      Int_t subType = 1;
      if(k==1) subType=0;
      fPatchECorrRho[k][i]->Fill(Elead[i][k],medL1[fPatchSub-1][subType]);
      fPatchECorrECorrRho[k][i]->Fill(Elead[i][k],Elead[i][subType],medL1[fPatchSub-1][subType]);
      fPatchERaw[k][i]->Fill(EleadRaw[i][k]);
      //Save jet spectra within EMCal and DCal fiducial acceptance
      //jet pT vs highest energy patch for preferred trigger patch types
      if(cont) {
	Double_t r = cont->GetJetRadius();
	cont->SetJetEtaLimits(fEtaMin[k]+r,fEtaMax[k]-r);
	cont->SetJetPhiLimits(fPhiMin[k]+r,fPhiMax[k]-r);
	Double_t rho = cont->GetRhoVal();
	AliEmcalJet *jet = NULL;
	cont->ResetCurrentID();
	while((jet = cont->GetNextAcceptJet())) {
	  Double_t jetpt = jet->Pt() - rho*jet->Area();
	  fh2JetPtPatchECorr[k][i]->Fill(jetpt,Elead[i][k]);
	}
      }
    }
    Double_t eta = 0.; Double_t phi = 0.;
    GetEtaPhiFromTriggerPatchID(EleadID[i][0],0,GetPatchDim(i),1,eta,phi);
    fh2PatchEtaPhiEmcal[i]->Fill(eta,phi);

    GetEtaPhiFromTriggerPatchID(EleadID[i][1],1,GetPatchDim(i),1,eta,phi);
    fh2PatchEtaPhiDcal[i]->Fill(eta,phi);
  } //patch types

  fMultVsRho->Fill(GetParticleContainer(0)->GetNParticles(),medL1[3][0]);
  return kTRUE;
}

//________________________________________________________________________
AliEmcalJet* AliEmcalPicoTrackInGridMaker::GetClosestJet(const Double_t eta, const Double_t phi, const Int_t icont) const {

  AliJetContainer *cont = GetJetContainer(icont);
  if(!cont) return NULL;
  
  Double_t closest_dr = 1e6;
  Int_t closest_id = -1;
  AliEmcalJet *jet = NULL;
  cont->ResetCurrentID();
  while((jet = cont->GetNextAcceptJet())) {
    Double_t dphi = jet->Phi() - phi;
    Double_t deta = jet->Eta() - eta;
    dphi = TVector2::Phi_mpi_pi(dphi);
    Double_t dr = TMath::Sqrt ( dphi * dphi + deta * deta );
    if(dr<closest_dr) {
      closest_dr = dr;
      closest_id = cont->GetCurrentID();
    }
  }
  jet = cont->GetJet(closest_id);
  return jet;
}

//________________________________________________________________________
Double_t AliEmcalPicoTrackInGridMaker::CalculateSum(const Int_t patchType) const {
  //calc total energy of all patches
  Int_t n = fPatchGrid[0][patchType].GetSize();
  if(n<1) return -1.;

  Double_t sum = 0.;
  Int_t count = 0;
  Int_t stepSize = GetTriggerPatchIdStepSizeNoOverlap(GetPatchDim(patchType));
  for(Int_t type = 0; type<2; type++) {
    for(Int_t i = 0; i<fPatchGrid[type][patchType].GetSize(); i+=stepSize) {
      if(fPatchGrid[type][patchType].At(i)>0.) count++;
      sum+=fPatchGrid[type][patchType].At(i);
    }
  }
  return sum;
}

//________________________________________________________________________
Double_t AliEmcalPicoTrackInGridMaker::CalculateMedian(const Int_t patchType, const Int_t type, const Int_t areaType) {
  //areaType:
  //0: passive area
  //1: active area mini patches
  //2: active arear cells

  Int_t n = fPatchGrid[type][patchType].GetSize();
  if(n<1) return -1.;

  Int_t level = 0;
  if(patchType>0) level = 1;
  Int_t dim = GetPatchDim(patchType);
  Double_t area = GetPatchArea(patchType);
  Int_t stepSize = GetTriggerPatchIdStepSizeNoOverlap(GetPatchDim(patchType),level);
  //Printf("patchType: %d dim: %d stepSizeNoOverlap: %d ",patchType,GetPatchDim(patchType),stepSize);

  static Double_t arr[999];
  Int_t c = 0;

  //find patch with highest energy
  Int_t imax = -1;
  Double_t max = 0.;
  for(Int_t i = 0; i<(GetNColTriggerPatches(type,dim,patchType)); i+=stepSize) {
    for(Int_t j = 0; j<(GetNRowTriggerPatches(type,dim,patchType)); j+=stepSize) {
      Int_t id = GetTriggerPatchID(i,j,type,dim,patchType);
      //      Printf("id: %d/%d i: %d/%d j:%d/%d",id,fPatchGrid[type][patchType].GetSize(),i,GetNColTriggerPatches(type,dim,patchType),j,GetNRowTriggerPatches(type,dim,patchType));
      if(fPatchGrid[type][patchType].At(id)>max) {
	imax = id;
	max = fPatchGrid[type][patchType].At(id);
      }
    }//cols
  }//rows

  for(Int_t i = 0; i<GetNColTriggerPatches(type,dim,patchType); i+=stepSize) {
    for(Int_t j = 0; j<GetNRowTriggerPatches(type,dim,patchType); j+=stepSize) {
      Int_t id = GetTriggerPatchID(i,j,type,dim,patchType);
      if(fExclLeadingPatch>0 && id==imax) continue;
      if(fPatchGrid[type][patchType].At(id)>0.) {
	Int_t active = 99;
	if(areaType==1) active = fActiveAreaMPP[type][patchType].At(id);
	else if(areaType==2) active = fActiveAreaCP[type][patchType].At(id);
	if(areaType>0) area = GetPatchAreaActive(id,type,patchType,areaType-1);

	if(area>0. && active>1) {
	  arr[c] = fPatchGrid[type][patchType].At(id)/area;
	  c++;
	}
	if(type==0 && areaType==0) {
	  fh1RhoEmcal[patchType]->Fill(arr[c-1]);
	  fPatchEnVsActivityEmcal[patchType]->Fill(fPatchGrid[type][patchType].At(id),fActiveAreaCP[type][patchType].At(id));
	}
	if(type==1 && areaType==0) {
	  fh1RhoDcal[patchType]->Fill(arr[c-1]);
	  fPatchEnVsActivityDcal[patchType]->Fill(fPatchGrid[type][patchType].At(id),fActiveAreaCP[type][patchType].At(id));
	}
      }
    }
  }
  Double_t med = TMath::Median(c,arr);
  return med;
}

//________________________________________________________________________
Bool_t AliEmcalPicoTrackInGridMaker::CreateGridCells() {
  //create cells from track input
  if(!InitCells()) return kFALSE;

  AliVParticle *track = NULL;
  AliParticleContainer *trackCont = GetParticleContainer(0);
  if(!trackCont) return kFALSE;
  trackCont->ResetCurrentID();
  while((track = trackCont->GetNextAcceptParticle())) {
    if(track->Pt()<fMinCellE) continue;
    Int_t id = GetGridID(track);
    Int_t type = GetCellType(track);
    if(id>-1)
      fCellGrid[type].AddAt(fCellGrid[type].At(id)+track->Pt(),id);
    }
  return kTRUE;
}

//________________________________________________________________________
Bool_t AliEmcalPicoTrackInGridMaker::CreateGridMiniPatches() {
  //create mini patches (2x2 cells)
  if(!InitMiniPatches()) return kFALSE;

  //loop over edges of mini patches
  Int_t nm = 0; //mini patch number
  for(Int_t type = 0; type<2; type++) {
    nm = 0;
    for(Int_t i = 0; i<(GetNCellsCol(type)-1); i+=2) {
      for(Int_t j = 0; j<(GetNCellsRow(type)-1); j+=2) {
	//loop over cells in mini patch
	for(Int_t k = 0; k<2; k++) {
	  for(Int_t l = 0; l<2; l++) {
	    Int_t id = GetGridID(i+k,j+l,type);
	    fMiniPatchGrid[type].AddAt(fMiniPatchGrid[type].At(nm)+fCellGrid[type].At(id),nm);
	    if(fCellGrid[type].At(id)>0.)
	      fActiveAreaMP[type].AddAt(fActiveAreaMP[type].At(nm)+1,nm);
	  }
	}
	nm++;
      }
    }
  }
  return kTRUE;
}

//________________________________________________________________________
Int_t AliEmcalPicoTrackInGridMaker::GetNRowMiniPatches(const Int_t type) const {
  //returns number of rows of mini patches in detector of type X (0: EMCal 1: DCal)
  Int_t nRows = TMath::FloorNint(0.5*GetNCellsCol(type));
  return nRows;
}

//________________________________________________________________________
Int_t AliEmcalPicoTrackInGridMaker::GetNColMiniPatches(const Int_t type) const {
  //returns number of rows of mini patches in detector of type X (0: EMCal 1: DCal)
  Int_t nCols = TMath::FloorNint(0.5*GetNCellsRow(type));
  return nCols;
}

//________________________________________________________________________
Bool_t AliEmcalPicoTrackInGridMaker::CreateGridPatches(const Int_t dim, const Int_t level) {
  //create trigger patches
  if(!InitPatches(dim,level)) return kFALSE;

  Int_t pt = GetPatchType(dim,level);
  Int_t nm = (Int_t)(dim/2.);    //size of trigger patch in number of mini patches
  Int_t stepm = (Int_t)(dim/2.); //step size through grid in mini patches
  if(level==1 && fL1Slide)  stepm = GetSlidingStepSizeMiniPatches(dim,level);
  //loop over edges of mini patches
  for(Int_t type = 0; type<2; type++) {
    Int_t np = 0; //patch number
      for(Int_t j = 0; j<=(GetNColMiniPatches(type)-nm); j+=stepm) {
    for(Int_t i = 0; i<=(GetNRowMiniPatches(type)-nm); i+=stepm) {
      //      for(Int_t j = 0; j<=(GetNColMiniPatches(type)-nm); j+=stepm) {
	//loop over mini patches in patch
	for(Int_t k = 0; k<nm; k++) {
	  for(Int_t l = 0; l<nm; l++) {
	    Int_t row = i+k;
	    Int_t col = j+l;
	    Int_t id = GetMiniPatchID(row,col,type);
	    fPatchGrid[type][pt].AddAt(fPatchGrid[type][pt].At(np)+fMiniPatchGrid[type].At(id),np);
	    if(fMiniPatchGrid[type].At(id)>0.) {
	      fActiveAreaMPP[type][pt].AddAt(fActiveAreaMPP[type][pt].At(np)+1,np);
	      fActiveAreaCP[type][pt].AddAt(fActiveAreaCP[type][pt].At(np)+fActiveAreaMP[type].At(id),np);
	    }
	  }
	}
	np++;
      }
    }
  }
  return kTRUE;
}

//________________________________________________________________________
Int_t AliEmcalPicoTrackInGridMaker::GetTriggerPatchID(const Int_t row, const Int_t col, const Int_t type, const Int_t dim, const Int_t patchType) const {
  Int_t id = row*GetNRowTriggerPatches(type,dim,patchType) + col;
  return id;
}

//________________________________________________________________________
Int_t AliEmcalPicoTrackInGridMaker::GetMiniPatchID(const Int_t row, const Int_t col, const Int_t type) const {
  Int_t id = row*GetNColMiniPatches(type) + col;
  return id;
}

//________________________________________________________________________
Int_t AliEmcalPicoTrackInGridMaker::GetCellType(const Double_t eta, const Double_t phi) const {
  //cell in EMCal (0) or DCal (1)
  for(Int_t i = 0; i<2; i++) {
    if(eta>fEtaMin[i] && eta<fEtaMax[i] && phi>fPhiMin[i] && phi<fPhiMax[i]) return i;
  }
  return -1;
}

//________________________________________________________________________
Int_t AliEmcalPicoTrackInGridMaker::GetGridID(const Int_t row, const Int_t col, const Int_t type) const {
  Int_t id = row*GetNCellsRow(type) + col;
  return id;
}

//________________________________________________________________________
Int_t AliEmcalPicoTrackInGridMaker::GetGridID(const Double_t eta, const Double_t phi) const {
  
  Int_t type = GetCellType(eta,phi);
  if(type<0 || type>1) return -1; //position is not in EMCal or DCal

  // grid ID convention:
  // upper left corner (min phi, min eta) is first ID
  // then walk through grid from upper left to lower right accross the rows in phi

  Int_t id = -1;
  Double_t etaRel = eta-fEtaMin[type];
  Double_t phiRel = phi-fPhiMin[type];
  Int_t row = TMath::FloorNint(etaRel/fCellSize);
  Int_t col = TMath::FloorNint(phiRel/fCellSize);
  id = GetGridID(row,col,type);

  if(id>=fNCells) {
    Printf("Got too large id %d %d type: %d",id,fNCells,type);
    Printf("eta: %f phi: %f",eta,phi);
    Printf("etaRel: %f phiRel: %f",etaRel,phiRel);
    Printf("row: %d col: %d  ->  %d + %d = %d",row,col,row*GetNCellsRow(type) + col,fNCellsEMCal,id);
    Printf("n cells row: %d",GetNCellsRow(type));
    Printf("\n");
  }
  return id;
}

//________________________________________________________________________
void AliEmcalPicoTrackInGridMaker::GetEtaPhiFromGridID(const Int_t id, const Int_t type, Double_t &eta, Double_t &phi) const {
  //returns eta phi of cell at lower right edge (lowest eta, lowest phi)
  Int_t row = TMath::FloorNint(id/GetNCellsRow(type));
  Int_t col = id - row * GetNCellsRow(type);
  eta = fEtaMin[type] + row*fCellSize;
  phi = fPhiMin[type] + col*fCellSize;
  AliDebug(2,Form("id: %d type: %d row: %d col: %d eta: %f phi: %f",id,type,row,col,eta,phi));
}

//________________________________________________________________________
void AliEmcalPicoTrackInGridMaker::GetEtaPhiFromMiniPatchID(const Int_t id, const Int_t type, Double_t &eta, Double_t &phi) const {
  //returns eta phi of mini patch at lower right edge (lowest eta, lowest phi)
  Int_t row = TMath::FloorNint(id/GetNColMiniPatches(type));
  Int_t col = id - row * GetNColMiniPatches(type);
  eta = fEtaMin[type] + row*2.*fCellSize;
  phi = fPhiMin[type] + col*2.*fCellSize;
}

//________________________________________________________________________
void AliEmcalPicoTrackInGridMaker::GetEtaPhiFromTriggerPatchID(const Int_t id, const Int_t type, const Int_t dim, const Int_t level, Double_t &eta, Double_t &phi) const {
  //returns eta phi of mini patch at lower right edge (lowest eta, lowest phi)
  Int_t step = GetSlidingStepSizeCells(dim,level); //id: 8/96 k(row): 0/8 l(col): 8/12
  //  Int_t offset = dim/step;
  Int_t row = TMath::FloorNint(id/GetNColTriggerPatches(type,dim,GetPatchType(dim,level)));
  Int_t col = id - row * GetNColTriggerPatches(type,dim,GetPatchType(dim,level));
  eta = fEtaMin[type] + row*step*fCellSize;
  phi = fPhiMin[type] + col*step*fCellSize;
  // if(dim==32) {
  //   Printf("dim: %d step: %d offset: %d",dim,step,offset);
  //   Printf("dim: %d id: %d row: %d col: %d eta: %f phi: %f",dim,id,row,col,eta,phi);
  // }
}

//________________________________________________________________________
Int_t AliEmcalPicoTrackInGridMaker::GetNColTriggerPatches(const Int_t type, const Int_t dim, const Int_t patchType) const {
  //returns number of trigger patch columns
  Int_t level = 0;
  if(patchType>0) level = 1;
  Double_t stepmp = (Double_t)GetSlidingStepSizeMiniPatches(dim,level);
  Int_t nmp = GetNColMiniPatches(type);
  Int_t ntc = TMath::FloorNint(nmp/stepmp);
  //  Printf("dim: %d stepmp: %f nmp: %d ntc: %d",dim,stepmp,nmp,ntc);
  return ntc;
}

//________________________________________________________________________
Int_t AliEmcalPicoTrackInGridMaker::GetNRowTriggerPatches(const Int_t type, const Int_t dim, const Int_t patchType) const {
  //returns number of trigger patch rows
  Int_t level = 0;
  if(patchType>0) level = 1;
  Double_t stepmp = (Double_t)GetSlidingStepSizeMiniPatches(dim,level);
  Int_t nmp = GetNRowMiniPatches(type);
  Int_t ntr = TMath::FloorNint(nmp/stepmp);
  return ntr;
}

//________________________________________________________________________
Int_t AliEmcalPicoTrackInGridMaker::GetNCellsCol(const Int_t type) const {
  //returns number of cells in column
  Double_t deta = fEtaMax[type] - fEtaMin[type];
  Int_t nCellsCol = TMath::FloorNint(deta/fCellSize);
  return nCellsCol;
}

//________________________________________________________________________
Int_t AliEmcalPicoTrackInGridMaker::GetNCellsRow(const Int_t type) const {
  //returns number of cells in row
  Double_t dPhi = fPhiMax[type] - fPhiMin[type];
  Int_t nCellsRow = TMath::FloorNint(dPhi/fCellSize);
  return nCellsRow;
}

//________________________________________________________________________
Bool_t AliEmcalPicoTrackInGridMaker::InitCells() {
  //initialize cells array
  CheckEdges();
  if(!CheckEdges()) return kFALSE;

  //number of cells in EMCal acceptance
  Int_t nCellsPhiE = GetNCellsCol(0);
  Int_t nCellsEtaE = GetNCellsRow(0);
  fNCellsEMCal = nCellsPhiE*nCellsEtaE;
  
  //number of cells in DCal acceptance
  Int_t nCellsPhiD = GetNCellsCol(1);
  Int_t nCellsEtaD = GetNCellsRow(1);
  fNCellsDCal = nCellsPhiD*nCellsEtaD;

  //total number of cells
  fNCells = fNCellsEMCal + fNCellsDCal;
  
  AliDebug(2,Form("EMCal: %d x %d",nCellsEtaE,nCellsPhiE));
  AliDebug(2,Form("DCal: row: %d x col: %d",nCellsEtaD,nCellsPhiD));
  AliDebug(2,Form("fNCells: %d fNCellsE: %d fnCellsD: %d",fNCells,fNCellsEMCal,fNCellsDCal));
  
  fCellGrid[0].Set(fNCellsEMCal);
  fCellGrid[1].Set(fNCellsDCal);
  fCellGrid[0].Reset(0);
  fCellGrid[1].Reset(0);
  return kTRUE;
}

//________________________________________________________________________
Bool_t AliEmcalPicoTrackInGridMaker::InitMiniPatches() {
  //initialize mini patch array
  if(fCellGrid[0].GetSize()<0) return kFALSE;
  if(fCellGrid[1].GetSize()<0) return kFALSE;
  Double_t conv = 0.25; //dimension of mini patch is 2x2 cells
  Int_t nMiniPatches[2];
  nMiniPatches[0] = (Int_t)(conv*fNCellsEMCal);
  nMiniPatches[1] = (Int_t)(conv*fNCellsDCal);
  for(Int_t i = 0; i<2; i++) {
    fMiniPatchGrid[i].Set(nMiniPatches[i]);
    fMiniPatchGrid[i].Reset(0.);

    fActiveAreaMP[i].Set(nMiniPatches[i]);
    fActiveAreaMP[i].Reset(0);
  }
  return kTRUE;
}

//________________________________________________________________________
Int_t AliEmcalPicoTrackInGridMaker::GetNTriggerPatches(const Int_t type, const Int_t dim, const Int_t level) const {
  //get number of trigger patches in EMCal or DCal
  Double_t dimd = (Double_t)dim;
  Double_t conv = 1./(dimd*dimd);
  if(level==1) {
    Double_t step = (Double_t)GetSlidingStepSizeCells(dim);
    conv = 1./(step*step);
  }
  Int_t nPatches = 0;
  if(type==0) nPatches = (Int_t)(conv*fNCellsEMCal);
  else if(type==1) nPatches = (Int_t)(conv*fNCellsDCal);
  return nPatches;
}

//________________________________________________________________________
Bool_t AliEmcalPicoTrackInGridMaker::InitPatches(const Int_t dim, const Int_t level) {
  // dimensions in cell units
  // if level==1: sliding window will be applied
  // L1 4x4: slide by 2 cells: 1 mini patch
  // L1 8x8: slide by 4 cells: 2 mini patches
  // L1 16x16: slide by 4 cells: 2 mini patches
  // L1 32x32: slide by 8 cells: 4 mini patches
  
  if(fCellGrid[0].GetSize()<0) return kFALSE;
  if(fCellGrid[1].GetSize()<0) return kFALSE;

  Int_t type = GetPatchType(dim,level);
  if(type<0 || type>4) return kFALSE;

  Int_t nPatches[2]; //number of trigger patches in EMCal and DCal
  for(Int_t i = 0; i<2; i++)
    nPatches[i] = GetNTriggerPatches(i,dim,level);
  //total number of trigger patches
  Int_t nPatchesT = nPatches[0] + nPatches[1];

  fNPatchesEMCal[type] = nPatches[0];
  AliDebug(2,Form("Create trigger patch of type %d with dim %d and with %d patches EMCAL: %d DCAL: %d",type,dim,nPatchesT,nPatches[0],nPatches[1]));
  //Printf("Create trigger patch of type %d with dim %d and with %d patches EMCAL: %d DCAL: %d",type,dim,nPatchesT,nPatches[0],nPatches[1]);
  for(Int_t i = 0; i<2; i++) {
    fPatchGrid[i][type].Set(nPatches[i]);
    fPatchGrid[i][type].Reset(0);
    fActiveAreaMPP[i][type].Set(nPatches[i]);
    fActiveAreaMPP[i][type].Reset(0);
    fActiveAreaCP[i][type].Set(nPatches[i]);
    fActiveAreaCP[i][type].Reset(0);
  }

  return kTRUE;
}

//________________________________________________________________________
Int_t AliEmcalPicoTrackInGridMaker::GetPatchDim(const Int_t ipatch) const {
  //returns total area of patch
  Int_t ncell = 4;
  if(ipatch==0) ncell = 4;
  if(ipatch==1) ncell = 4;
  if(ipatch==2) ncell = 8;
  if(ipatch==3) ncell = 16;
  if(ipatch==4) ncell = 32;

  return ncell;
}
 
//________________________________________________________________________
Double_t AliEmcalPicoTrackInGridMaker::GetPatchArea(const Int_t ipatch) const {
  //returns total area of patch
  Double_t ncell = (Double_t)GetPatchDim(ipatch);
  Double_t area = ncell*ncell*fCellSize*fCellSize;
  return area;
}

//________________________________________________________________________
Double_t AliEmcalPicoTrackInGridMaker::GetPatchAreaActive(const Int_t id, const Int_t type, const Int_t ipatch, const Int_t atype) const {
  //atype = 0 : active area from mini patches
  //atype = 1 : active area from cells

  Int_t active = 0;
  if(atype==0) active = fActiveAreaMPP[type][ipatch].At(id);
  else if(atype==1) active = fActiveAreaCP[type][ipatch].At(id);
  else return -1;

  Double_t fac = 1.;
  if(atype==0) fac = 4.;
  Double_t area = active*fac*fCellSize*fCellSize;
  return area;
}

//________________________________________________________________________
Int_t AliEmcalPicoTrackInGridMaker::GetSlidingStepSizeCells(const Int_t dim, const Int_t level) const {
  //get step size for mock-up L1 trigger
  if(!fL1Slide || level==0) return dim;

  if(dim==4) return 2;
  else if(dim==8) return 4;
  else if(dim==16) return 4;
  else if(dim==32) return 8;
  else return -1;
}

//________________________________________________________________________
Int_t AliEmcalPicoTrackInGridMaker::GetSlidingStepSizeMiniPatches(const Int_t dim, const Int_t level) const {
  //returns step size in mini patches
  Double_t step = (Double_t)GetSlidingStepSizeCells(dim,level);
  if(step<0) return step;
  Int_t stepMiniPatch = (Int_t)(step/2.);
  return stepMiniPatch;
}

//________________________________________________________________________
Int_t AliEmcalPicoTrackInGridMaker::GetTriggerPatchIdStepSizeNoOverlap(const Int_t dim, const Int_t level) const {
  //return step for trigger patch id's without overlapping patches
  if(!fL1Slide) return 1;
  
  Int_t cellStep = GetSlidingStepSizeCells(dim,level);
  Int_t step = TMath::FloorNint((Double_t)(dim/cellStep));
  return step;
}

//________________________________________________________________________
Int_t AliEmcalPicoTrackInGridMaker::GetPatchType(const Int_t dim, const Int_t level) const {
  //type of trigger patch (size)
  Int_t type = -1;
  if(level==0 && dim==4) type = 0;
  if(level==1) {
    if(dim==4)  type = 1;
    if(dim==8)  type = 2;
    if(dim==16) type = 3;
    if(dim==32) type = 4;
  }
  return type;
}

//________________________________________________________________________
Bool_t AliEmcalPicoTrackInGridMaker::CheckEdges() {
  //Check if defined edges of EMCal and DCal make sense
  if(fPhiMin[0]<0. || fPhiMax[0]<fPhiMin[0]) {
    AliDebug(11,Form("EMCal phi edges not defined %f-%f",fPhiMin[0],fPhiMax[0]));
    return kFALSE;
  }

  if(fPhiMin[1]<0. || fPhiMax[1]<fPhiMin[1]) {
    AliDebug(11,Form("DCal phi edges not defined %f-%f",fPhiMin[1],fPhiMax[1]));
    return kFALSE;
  }

  if(fEtaMin[0]<-10. || fEtaMax[0]<fEtaMin[1]) {
    AliDebug(11,Form("EMCal eta edges not well defined %f-%f",fEtaMin[0],fEtaMax[0]));
    return kFALSE;
  }

  if(fEtaMin[1]<-10. || fEtaMax[1]<fEtaMin[1]) {
    AliDebug(11,Form("DCal eta edges not well defined %f-%f",fEtaMin[1],fEtaMax[1]));
    return kFALSE;
  }

  for(Int_t type = 0; type<2; type++) {
    Double_t dphi = fPhiMax[type] - fPhiMin[type];
    Double_t nPatchPhi32 = TMath::Floor(dphi/(32.*fCellSize));
    Double_t nCellsColExact = nPatchPhi32 * 32. ;
    
    Double_t deta = fEtaMax[type] - fEtaMin[type];
    Double_t nPatchEta32 = TMath::Floor(deta/(32.*fCellSize));
    Double_t nCellsRowExact = nPatchEta32 * 32. ;

    Double_t col_extra = dphi/fCellSize - TMath::Floor(nCellsColExact);
    Double_t phi_extra = col_extra*fCellSize;
    fPhiMin[type] += phi_extra*0.5;
    fPhiMax[type] -= phi_extra*0.5;

    Double_t row_extra = deta/fCellSize - TMath::Floor(nCellsRowExact);
    Double_t eta_extra = row_extra*fCellSize;
    fEtaMin[type] += eta_extra*0.5;
    fEtaMax[type] -= eta_extra*0.5;
    AliDebug(2,Form("type: %d  exact: col: %f row: %f",type,nCellsColExact,nCellsRowExact));
    //    Printf("type: %d  exact: col: %f row: %f",type,nCellsColExact,nCellsRowExact);
    //  PrintAcceptance();
  }
  return kTRUE;
}

//________________________________________________________________________
void AliEmcalPicoTrackInGridMaker::PrintAcceptance() const {
  Printf("EMCal");
  Printf("phi: %f-%f",fPhiMin[0],fPhiMax[0]);
  Printf("eta: %f-%f",fEtaMin[0],fEtaMax[0]);

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