ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/
/* $Id$ */
//_________________________________________________________________________
//  Reconstructed Points for the EMCAL
//  A RecPoint is a cluster of digits
//  
//  
//*-- Author: Yves Schutz (SUBATECH)
//*-- Author: Dmitri Peressounko (RRC KI & SUBATECH)
//*-- Author: Heather Gray (LBL) merged AliEMCALRecPoint and AliEMCALTowerRecPoint 02/04

// --- ROOT system ---
#include "TPad.h"
#include "TGraph.h"
#include "TPaveText.h"
#include "TClonesArray.h"
#include "TMath.h"
#include "TGeoMatrix.h"
#include "TGeoManager.h"
#include "TGeoPhysicalNode.h"
#include "TRandom.h"

// --- Standard library ---
#include <Riostream.h>

// --- AliRoot header files ---
//#include "AliGenerator.h"
class AliGenerator;
class AliEMCAL;
#include "AliLog.h"
#include "AliGeomManager.h"
#include "AliEMCALGeometry.h"
#include "AliEMCALHit.h"
#include "AliEMCALDigit.h"
#include "AliEMCALRecPoint.h"
#include "AliCaloCalibPedestal.h"
#include "AliEMCALGeoParams.h"

ClassImp(AliEMCALRecPoint)

//____________________________________________________________________________
AliEMCALRecPoint::AliEMCALRecPoint()
  : AliCluster(), fGeomPtr(0),
    fAmp(0), fIndexInList(-1), //to be set when the point is already stored
    fGlobPos(0,0,0),fLocPos(0,0,0), 
    fMaxDigit(100), fMulDigit(0), fMaxTrack(200),
    fMulTrack(0), fDigitsList(0), fTracksList(0),
    fClusterType(-1), fCoreEnergy(0), fDispersion(0),
    fEnergyList(0), fAbsIdList(0),
    fTime(0.), fNExMax(0), fCoreRadius(10),  //HG check this 
    fDETracksList(0), fMulParent(0), fMaxParent(0),
    fParentsList(0), fDEParentsList(0), fSuperModuleNumber(0),
    fDigitIndMax(-1), fDistToBadTower(-1), fSharedCluster(kFALSE)
{
  // ctor
  fGeomPtr = AliEMCALGeometry::GetInstance();
  
  fLambda[0] = 0;
  fLambda[1] = 0;

}

//____________________________________________________________________________
AliEMCALRecPoint::AliEMCALRecPoint(const char *) 
  : AliCluster(), fGeomPtr(0),
    fAmp(0), fIndexInList(-1), //to be set when the point is already stored
    fGlobPos(0,0,0), fLocPos(0,0,0),
    fMaxDigit(100), fMulDigit(0), fMaxTrack(1000), fMulTrack(0),
    fDigitsList(new Int_t[fMaxDigit]), fTracksList(new Int_t[fMaxTrack]),
    fClusterType(-1), fCoreEnergy(0), fDispersion(0),
    fEnergyList(new Float_t[fMaxDigit]), 
    fAbsIdList(new Int_t[fMaxDigit]), fTime(-1.), fNExMax(0), fCoreRadius(10),
    fDETracksList(new Float_t[fMaxTrack]), fMulParent(0), fMaxParent(1000),
    fParentsList(new Int_t[fMaxParent]), fDEParentsList(new Float_t[fMaxParent]),
    fSuperModuleNumber(0), fDigitIndMax(-1), fDistToBadTower(-1),fSharedCluster(kFALSE)
{
  // ctor
  for (Int_t i = 0; i < fMaxTrack; i++)
    fDETracksList[i] = 0;
  for (Int_t i = 0; i < fMaxParent; i++) {
    fParentsList[i] = -1;
    fDEParentsList[i] = 0;
  }

  fGeomPtr = AliEMCALGeometry::GetInstance();
  fLambda[0] = 0;
  fLambda[1] = 0;
}

//____________________________________________________________________________
AliEMCALRecPoint::AliEMCALRecPoint(const AliEMCALRecPoint & rp) 
  : AliCluster(rp), fGeomPtr(rp.fGeomPtr),
    fAmp(rp.fAmp), fIndexInList(rp.fIndexInList),
    fGlobPos(rp.fGlobPos),fLocPos(rp.fLocPos),
    fMaxDigit(rp.fMaxDigit), fMulDigit(rp.fMulDigit),
    fMaxTrack(rp.fMaxTrack), fMulTrack(rp.fMaxTrack),
    fDigitsList(new Int_t[rp.fMaxDigit]), fTracksList(new Int_t[rp.fMaxTrack]),
    fClusterType(rp.fClusterType), fCoreEnergy(rp.fCoreEnergy), 
    fDispersion(rp.fDispersion),
    fEnergyList(new Float_t[rp.fMaxDigit]),  
    fAbsIdList(new Int_t[rp.fMaxDigit]), fTime(rp.fTime), fNExMax(rp.fNExMax),fCoreRadius(rp.fCoreRadius),
    fDETracksList(new Float_t[rp.fMaxTrack]), fMulParent(rp.fMulParent), 
    fMaxParent(rp.fMaxParent), fParentsList(new Int_t[rp.fMaxParent]), 
    fDEParentsList(new Float_t[rp.fMaxParent]),
    fSuperModuleNumber(rp.fSuperModuleNumber), fDigitIndMax(rp.fDigitIndMax), 
    fDistToBadTower(rp.fDistToBadTower), fSharedCluster(rp.fSharedCluster)
{
  //copy ctor
  fLambda[0] = rp.fLambda[0];
  fLambda[1] = rp.fLambda[1];

  for(Int_t i = 0; i < rp.fMulDigit; i++) {
    fEnergyList[i] = rp.fEnergyList[i];
    fAbsIdList[i]  = rp.fAbsIdList[i];
  }

  for(Int_t i = 0; i < rp.fMulTrack; i++) fDETracksList[i] = rp.fDETracksList[i];

  for(Int_t i = 0; i < rp.fMulParent; i++) {
    fParentsList[i] = rp.fParentsList[i];
    fDEParentsList[i] = rp.fDEParentsList[i];
  }

}
//____________________________________________________________________________
AliEMCALRecPoint::~AliEMCALRecPoint()
{
  // dtor
  if ( fEnergyList )
    delete[] fEnergyList ; 
  if ( fAbsIdList )
    delete[] fAbsIdList ; 
   if ( fDETracksList)
    delete[] fDETracksList;
   if ( fParentsList)
    delete[] fParentsList;
   if ( fDEParentsList)
    delete[] fDEParentsList;
	
   delete [] fDigitsList ;
   delete [] fTracksList ;
}

//____________________________________________________________________________
AliEMCALRecPoint& AliEMCALRecPoint::operator= (const AliEMCALRecPoint &rp)
{
  // assignment operator

  if(&rp == this) return *this;

  fGeomPtr     = rp.fGeomPtr;
  fAmp         = rp.fAmp;
  fIndexInList = rp.fIndexInList;
  fGlobPos     = rp.fGlobPos;
  fLocPos      = rp.fLocPos;
  fMaxDigit    = rp.fMaxDigit;
  fMulDigit    = rp.fMulDigit;
  fMaxTrack    = rp.fMaxTrack;
  fMulTrack    = rp.fMulTrack;
  
  if(fDigitsList) delete [] fDigitsList;
  fDigitsList = new Int_t[rp.fMaxDigit];
  if(fTracksList) delete [] fTracksList;
  fTracksList = new Int_t[rp.fMaxTrack];
  for(Int_t i = 0; i<fMaxDigit; i++) fDigitsList[i] = rp.fDigitsList[i];
  for(Int_t i = 0; i<fMaxTrack; i++) fTracksList[i] = rp.fTracksList[i];
  
  fClusterType = rp.fClusterType;
  fCoreEnergy  = rp.fCoreEnergy; 
  fDispersion  = rp.fDispersion;
  
  
  if(fEnergyList) delete [] fEnergyList;
  fEnergyList = new Float_t[rp.fMaxDigit];
  if(fAbsIdList) delete [] fAbsIdList;
  fAbsIdList = new Int_t[rp.fMaxDigit];  
  for(Int_t i = 0; i<fMaxDigit; i++) {
    fEnergyList[i] = rp.fEnergyList[i];
    fAbsIdList[i]  = rp.fAbsIdList[i];
  }
  
  fTime       = rp.fTime;
  fNExMax     = rp.fNExMax;
  fCoreRadius = rp.fCoreRadius;
  
  if(fDETracksList) delete [] fDETracksList;
  fDETracksList = new Float_t[rp.fMaxTrack];
  for(Int_t i = 0; i < fMaxTrack; i++) fDETracksList[i] = rp.fDETracksList[i];

  fMulParent = rp.fMulParent;
  fMaxParent = rp.fMaxParent;
  
  if(fParentsList) delete [] fParentsList;
  fParentsList = new Int_t[rp.fMaxParent];
  if(fDEParentsList) delete [] fDEParentsList;
  fDEParentsList = new Float_t[rp.fMaxParent];
  for(Int_t i = 0; i < fMaxParent; i++) {
    fParentsList[i]   = rp.fParentsList[i]; 
    fDEParentsList[i] = rp.fDEParentsList[i];
  }
  
  fSuperModuleNumber = rp.fSuperModuleNumber;
  fDigitIndMax       = rp.fDigitIndMax;

  fLambda[0] = rp.fLambda[0];
  fLambda[1] = rp.fLambda[1];
	
  fDistToBadTower = rp.fDistToBadTower;
  fSharedCluster  = rp.fSharedCluster;
	
  return *this;

}

//____________________________________________________________________________
void AliEMCALRecPoint::AddDigit(AliEMCALDigit & digit, const Float_t energy, const Bool_t shared)
{
  // Adds a digit to the RecPoint
  // and accumulates the total amplitude and the multiplicity 
  
  if(fEnergyList == 0)
    fEnergyList =  new Float_t[fMaxDigit]; 
 
  if(fAbsIdList == 0) {
    fAbsIdList  =  new Int_t  [fMaxDigit];
  }

  if ( fMulDigit >= fMaxDigit ) { // increase the size of the lists 
    fMaxDigit*=2 ; 
    Int_t   * tempo   = new Int_t  [fMaxDigit]; 
    Float_t * tempoE  = new Float_t[fMaxDigit];
    Int_t   * tempoId = new Int_t  [fMaxDigit]; 

    Int_t index ;     
    for ( index = 0 ; index < fMulDigit ; index++ ){
      tempo  [index] = fDigitsList[index] ;
      tempoE [index] = fEnergyList[index] ; 
      tempoId[index] = fAbsIdList [index] ; 
    }
    
    delete [] fDigitsList ;
    delete [] fEnergyList ;
    delete [] fAbsIdList ;

    fDigitsList = tempo;
    fEnergyList = tempoE; 
    fAbsIdList  = tempoId;
  } // if
  
  fDigitsList[fMulDigit]   = digit.GetIndexInList()  ; 
  fEnergyList[fMulDigit]   = energy ;
  fAbsIdList [fMulDigit]   = digit.GetId();
  fMulDigit++ ; 
  fAmp += energy ; 
	
  if(shared) fSharedCluster = kTRUE;
}
//____________________________________________________________________________
Bool_t AliEMCALRecPoint::AreNeighbours(AliEMCALDigit * digit1, AliEMCALDigit * digit2 ) const
{
  // Tells if (true) or not (false) two digits are neighbours
  // A neighbour is defined as being two digits which share a corner
  // ONLY USED IN CASE OF UNFOLDING 
	
  Bool_t areNeighbours = kFALSE ;
  Int_t nSupMod=0, nModule=0, nIphi=0, nIeta=0;
  Int_t nSupMod1=0, nModule1=0, nIphi1=0, nIeta1=0;
  Int_t relid1[2] , relid2[2] ; // ieta, iphi
  Int_t rowdiff=0, coldiff=0;

  areNeighbours = kFALSE ;

  fGeomPtr->GetCellIndex(digit1->GetId(), nSupMod,nModule,nIphi,nIeta);
  fGeomPtr->GetCellPhiEtaIndexInSModule(nSupMod,nModule,nIphi,nIeta, relid1[0],relid1[1]);

  fGeomPtr->GetCellIndex(digit2->GetId(), nSupMod1,nModule1,nIphi1,nIeta1);
  fGeomPtr->GetCellPhiEtaIndexInSModule(nSupMod1,nModule1,nIphi1,nIeta1, relid2[0],relid2[1]);
  
  // In case of a shared cluster, index of SM in C side, columns start at 48 and ends at 48*2-1
  // C Side impair SM, nSupMod%2=1; A side pair SM nSupMod%2=0
  if(fSharedCluster){
    //printf("Shared cluster in 2 SMs!\n");

    //    if(nSupMod1%2) relid1[1]+=AliEMCALGeoParams::fgkEMCALCols;//bad
    //    else           relid2[1]+=AliEMCALGeoParams::fgkEMCALCols;//bad
    if(nSupMod1%2) relid2[1]+=AliEMCALGeoParams::fgkEMCALCols;
    else           relid1[1]+=AliEMCALGeoParams::fgkEMCALCols;
  }
	
  rowdiff = TMath::Abs( relid1[0] - relid2[0] ) ;  
  coldiff = TMath::Abs( relid1[1] - relid2[1] ) ;  

  //if (( coldiff <= 1 )  && ( rowdiff <= 1 ) && (coldiff + rowdiff > 0)) 
  if ((coldiff + rowdiff == 1 )) 
    areNeighbours = kTRUE ;
  
  return areNeighbours;
}

//____________________________________________________________________________
Int_t AliEMCALRecPoint::Compare(const TObject * obj) const
{
  // Compares two RecPoints according to their position in the EMCAL modules

  Float_t delta = 1 ; //Width of "Sorting row". 
	
  Int_t rv = 2 ; 

  AliEMCALRecPoint * clu = (AliEMCALRecPoint *)obj ; 

  TVector3 locpos1; 
  GetLocalPosition(locpos1);
  TVector3 locpos2;  
  clu->GetLocalPosition(locpos2);  

  Int_t rowdif = (Int_t)(TMath::Ceil(locpos1.X()/delta)-TMath::Ceil(locpos2.X()/delta)) ;
  if (rowdif> 0) 
    rv = 1 ;
  else if(rowdif < 0) 
    rv = -1 ;
  else if(locpos1.Y()>locpos2.Y()) 
    rv = -1 ;
  else 
    rv = 1 ; 

  return rv ; 
}

//___________________________________________________________________________
 void AliEMCALRecPoint::Draw(Option_t *option)
 {
   // Draw this AliEMCALRecPoint with its current attributes
   
   AppendPad(option);
 }

//____________________________________________________________________________
void AliEMCALRecPoint::EvalAll(Float_t logWeight,TClonesArray * digits, const Bool_t justClusters) 
{
  // Evaluates cluster parameters
	
  // First calculate the index of digit with maximum amplitude and get 
  // the supermodule number where it sits.
    
  fDigitIndMax       = GetMaximalEnergyIndex();
  fSuperModuleNumber = fGeomPtr->GetSuperModuleNumber(GetAbsIdMaxDigit());
  
  //Evaluate global and local position
  EvalGlobalPosition(logWeight, digits) ;
  EvalLocalPosition(logWeight, digits) ;
	
  //Evaluate shower parameters
  EvalElipsAxis(logWeight, digits) ;
  EvalDispersion(logWeight, digits) ;

  //EvalCoreEnergy(logWeight, digits);
  EvalTime(digits) ;
  EvalPrimaries(digits) ;
  EvalParents(digits);
	
  //Called last because it sets the global position of the cluster?
  //Do not call it when recalculating clusters out of standard reconstruction
  if(!justClusters){ 
    EvalLocal2TrackingCSTransform();
  }

}

//____________________________________________________________________________
void  AliEMCALRecPoint::EvalDispersion(Float_t logWeight, TClonesArray * digits)
{
  // Calculates the dispersion of the shower at the origin of the RecPoint
  // in cell units - Nov 16,2006

  Double_t d = 0., wtot = 0., w = 0.;
  Int_t iDigit=0, nstat=0;
  AliEMCALDigit * digit=0;
	
  // Calculates the dispersion in cell units 
  Double_t etai, phii, etaMean=0.0, phiMean=0.0; 
  int nSupMod=0, nModule=0, nIphi=0, nIeta=0;
  int iphi=0, ieta=0;
  // Calculate mean values
  for(iDigit=0; iDigit < fMulDigit; iDigit++) {
    digit = (AliEMCALDigit *) digits->At(fDigitsList[iDigit])  ;

    if (fAmp>0 && fEnergyList[iDigit]>0) {
      fGeomPtr->GetCellIndex(digit->GetId(), nSupMod,nModule,nIphi,nIeta);
      fGeomPtr->GetCellPhiEtaIndexInSModule(nSupMod,nModule,nIphi,nIeta, iphi,ieta);
	
      // In case of a shared cluster, index of SM in C side, columns start at 48 and ends at 48*2
      // C Side impair SM, nSupMod%2=1; A side pair SM nSupMod%2=0
      if(fSharedCluster && nSupMod%2) ieta+=AliEMCALGeoParams::fgkEMCALCols;
		
      etai=(Double_t)ieta;
      phii=(Double_t)iphi;
      w = TMath::Max(0.,logWeight+TMath::Log(fEnergyList[iDigit]/fAmp ) ) ;

      if(w>0.0) {
        phiMean += phii*w;
        etaMean += etai*w;
        wtot    += w;
      }
    }
  }
  if (wtot>0) {
    phiMean /= wtot ;
    etaMean /= wtot ;
  } else AliError(Form("Wrong weight %f\n", wtot));

  // Calculate dispersion
  for(iDigit=0; iDigit < fMulDigit; iDigit++) {
    digit = (AliEMCALDigit *) digits->At(fDigitsList[iDigit])  ;

    if (fAmp>0 && fEnergyList[iDigit]>0) {
      fGeomPtr->GetCellIndex(digit->GetId(), nSupMod,nModule,nIphi,nIeta);
      fGeomPtr->GetCellPhiEtaIndexInSModule(nSupMod,nModule,nIphi,nIeta, iphi,ieta);
		
      // In case of a shared cluster, index of SM in C side, columns start at 48 and ends at 48*2
      // C Side impair SM, nSupMod%2=1; A side pair SM, nSupMod%2=0
      if(fSharedCluster && nSupMod%2) ieta+=AliEMCALGeoParams::fgkEMCALCols;
      
      etai=(Double_t)ieta;
      phii=(Double_t)iphi;
      w = TMath::Max(0.,logWeight+TMath::Log(fEnergyList[iDigit]/fAmp ) ) ;

      if(w>0.0) {
        nstat++;
        d += w*((etai-etaMean)*(etai-etaMean)+(phii-phiMean)*(phii-phiMean));
      }
    }
  }
  
  if ( wtot > 0 && nstat>1) d /= wtot ;
  else                      d = 0. ; 

  fDispersion = TMath::Sqrt(d) ;
  //printf("AliEMCALRecPoint::EvalDispersion() : Dispersion %f \n",fDispersion);
}

//____________________________________________________________________________
void AliEMCALRecPoint::EvalDistanceToBadChannels(AliCaloCalibPedestal* caloped)
{
  //For each EMC rec. point set the distance to the nearest bad channel.
  //AliInfo(Form("%d bad channel(s) found.\n", caloped->GetDeadTowerCount()));
  //It is done in cell units and not in global or local position as before (Sept 2010)
  
  if(!caloped->GetDeadTowerCount()) return;
  
  //Get channels map of the supermodule where the cluster is.
  TH2D* hMap  = caloped->GetDeadMap(fSuperModuleNumber);
  
  Int_t dRrow, dReta;	
  Float_t  minDist = 10000.;
  Float_t  dist    = 0.;
  Int_t nSupMod, nModule;
  Int_t nIphi, nIeta;
  Int_t iphi, ieta;
  fDigitIndMax  = GetMaximalEnergyIndex();
  fGeomPtr->GetCellIndex(fAbsIdList[fDigitIndMax], nSupMod,nModule,nIphi,nIeta);
  fGeomPtr->GetCellPhiEtaIndexInSModule(nSupMod,nModule,nIphi,nIeta, iphi,ieta);
  
  //Loop on tower status map 
  for(Int_t irow = 0; irow < AliEMCALGeoParams::fgkEMCALRows; irow++){
    for(Int_t icol = 0; icol < AliEMCALGeoParams::fgkEMCALCols; icol++){
      //Check if tower is bad.
      if(hMap->GetBinContent(icol,irow)==AliCaloCalibPedestal::kAlive) continue;
      //printf("AliEMCALRecPoint::EvalDistanceToBadChannels() - Bad channel in SM %d, col %d, row %d\n",iSM,icol, irow);
      
      dRrow=TMath::Abs(irow-iphi);
      dReta=TMath::Abs(icol-ieta);
      dist=TMath::Sqrt(dRrow*dRrow+dReta*dReta);
      if(dist < minDist) minDist = dist;
      
    }
  }
  
  //In case the cluster is shared by 2 SuperModules, need to check the map of the second Super Module
  if (fSharedCluster) {
    TH2D* hMap2 = 0;
    Int_t nSupMod2 = -1;
    
    //The only possible combinations are (0,1), (2,3) ... (10,11)
    if(fSuperModuleNumber%2) nSupMod2 = fSuperModuleNumber-1;
    else                     nSupMod2 = fSuperModuleNumber+1;
    hMap2  = caloped->GetDeadMap(nSupMod2);
    
    //Loop on tower status map of second super module
    for(Int_t irow = 0; irow < AliEMCALGeoParams::fgkEMCALRows; irow++){
      for(Int_t icol = 0; icol < AliEMCALGeoParams::fgkEMCALCols; icol++){
	//Check if tower is bad.
	if(hMap2->GetBinContent(icol,irow)==AliCaloCalibPedestal::kAlive) continue;
	//printf("AliEMCALRecPoint::EvalDistanceToBadChannels() - Bad channel in SM %d, col %d, row %d\n",iSM,icol, irow);
        dRrow=TMath::Abs(irow-iphi);
	
        if(fSuperModuleNumber%2) {
	  dReta=TMath::Abs(icol-(AliEMCALGeoParams::fgkEMCALCols+ieta));
       }
       else {
	 dReta=TMath::Abs(AliEMCALGeoParams::fgkEMCALCols+icol-ieta);
       }                    
        
       dist=TMath::Sqrt(dRrow*dRrow+dReta*dReta);
        if(dist < minDist) minDist = dist;        

      }
    }
    
  }// shared cluster in 2 SuperModules
  
  fDistToBadTower = minDist;
  //printf("AliEMCALRecPoint::EvalDistanceToBadChannel() - Distance to Bad is %f cm, shared cluster? %d \n",fDistToBadTower,fSharedCluster);
}


//____________________________________________________________________________
void AliEMCALRecPoint::EvalLocalPosition(Float_t logWeight, TClonesArray * digits)
{
  // Calculates the center of gravity in the local EMCAL-module coordinates 
  //  Info("Print", " logWeight %f : cluster energy %f ", logWeight, fAmp); // for testing
  
  AliEMCALDigit * digit=0;
  Int_t i=0, nstat=0;
  
  Double_t dist  = TmaxInCm(Double_t(fAmp));
  //Int_t	idMax = GetAbsIdMaxDigit();// idMax is not used at all in RelPosCellInSModule, why use it?
  
  Double_t clXYZ[3]={0.,0.,0.}, clRmsXYZ[3]={0.,0.,0.}, xyzi[3], wtot=0., w=0.;
  
  //printf(" dist : %f  e : %f \n", dist, fAmp);
  for(Int_t iDigit=0; iDigit<fMulDigit; iDigit++) {
    digit = dynamic_cast<AliEMCALDigit *>(digits->At(fDigitsList[iDigit])) ;
    
    if(!digit) {
      AliError("No Digit!!");
      continue;
    }
    
    fGeomPtr->RelPosCellInSModule(digit->GetId(), dist, xyzi[0], xyzi[1], xyzi[2]);
    
    //Temporal patch, due to mapping problem, need to swap "y" in one of the 2 SM, although no effect in position calculation. GCB 05/2010
    if(fSharedCluster && fSuperModuleNumber != fGeomPtr->GetSuperModuleNumber(digit->GetId())) xyzi[1]*=-1;
    
    //printf("EvalLocalPosition Cell:  Id %i, SM %i : dist %f Local x,y,z %f %f %f \n", 
    //		digit->GetId(), fGeomPtr->GetSuperModuleNumber(digit->GetId()), dist, xyzi[0], xyzi[1], xyzi[2]);
    
    if(logWeight > 0.0)  w = TMath::Max( 0., logWeight + TMath::Log( fEnergyList[iDigit] / fAmp ));
    else  w = fEnergyList[iDigit]; // just energy
    
    if(w>0.0) {
      wtot += w ;
      nstat++;
      for(i=0; i<3; i++ ) {
	clXYZ[i]    += (w*xyzi[i]);
	clRmsXYZ[i] += (w*xyzi[i]*xyzi[i]);
      }
    }
  }
  //  cout << " wtot " << wtot << endl;
  if ( wtot > 0 ) { 
    //    xRMS   = TMath::Sqrt(x2m - xMean*xMean);
    for(i=0; i<3; i++ ) {
      clXYZ[i] /= wtot;
      if(nstat>1) {
	clRmsXYZ[i] /= (wtot*wtot);  
	clRmsXYZ[i]  =  clRmsXYZ[i] - clXYZ[i]*clXYZ[i];
	if(clRmsXYZ[i] > 0.0) {
	  clRmsXYZ[i] =  TMath::Sqrt(clRmsXYZ[i]);
	} else      clRmsXYZ[i] = 0;
      } else        clRmsXYZ[i] = 0;
    }    
  } else {
    for(i=0; i<3; i++ ) {
      clXYZ[i] = clRmsXYZ[i] = -1.;
    }
  }
  
  //	// Cluster of one single digit, smear the position to avoid discrete position
  //	// smear x and z with +- 3 cm to uniform (avoid discrete effects). Tower size is approx 6 cm.
  //	// Rndm generates a number in ]0,1]
  //	if (fMulDigit==1) { 
  //	  clXYZ[0] += fGeomPtr->GetPhiTileSize()*(0.5 - gRandom->Rndm()); 
  //	  clXYZ[2] += fGeomPtr->GetEtaTileSize()*(0.5 - gRandom->Rndm()); 
  //	}
  
  //Set position in local vector
  fLocPos.SetX(clXYZ[0]);
  fLocPos.SetY(clXYZ[1]);
  fLocPos.SetZ(clXYZ[2]);
  
  if (gDebug==2)
    printf("EvalLocalPosition Cluster: Local (x,y,z) = (%f,%f,%f) \n", fLocPos.X(), fLocPos.Y(), fLocPos.Z()) ; 
  
}


//____________________________________________________________________________
void AliEMCALRecPoint::EvalGlobalPosition(Float_t logWeight, TClonesArray * digits)
{
  // Calculates the center of gravity in the global ALICE coordinates 
  //  Info("Print", " logWeight %f : cluster energy %f ", logWeight, fAmp); // for testing
  
  AliEMCALDigit * digit=0;
  Int_t i=0, nstat=0;
	
  Double_t dist  = TmaxInCm(Double_t(fAmp));
  //Int_t	idMax = GetAbsIdMaxDigit();// idMax is not used at all in RelPosCellInSModule, why use it?
	
  Double_t clXYZ[3]={0.,0.,0.}, clRmsXYZ[3]={0.,0.,0.}, lxyzi[3], xyzi[3], wtot=0., w=0.;

  //printf(" dist : %f  e : %f \n", dist, fAmp);
  for(Int_t iDigit=0; iDigit<fMulDigit; iDigit++) {
    digit = dynamic_cast<AliEMCALDigit *>(digits->At(fDigitsList[iDigit])) ;

    if(!digit) {
      AliError("No Digit!!");
      continue;
    }    
    
    //Get the local coordinates of the cell
    fGeomPtr->RelPosCellInSModule(digit->GetId(), dist, lxyzi[0], lxyzi[1], lxyzi[2]);
    
    //Now get the global coordinate
    fGeomPtr->GetGlobal(lxyzi,xyzi, fGeomPtr->GetSuperModuleNumber(digit->GetId()));
    //TVector3 pos(xyzi[0], xyzi[1], xyzi[2]);
    //printf("EvalGlobalPosition Cell:  Id %i, SM %i : dist %f Local (x,y,z) = (%f %f %f), eta %f, phi%f \n", 
    //	   digit->GetId(), fGeomPtr->GetSuperModuleNumber(digit->GetId()),dist, xyzi[0], xyzi[1], xyzi[2],pos.Eta(),pos.Phi()*TMath::RadToDeg());
	  
    if(logWeight > 0.0)  w = TMath::Max( 0., logWeight + TMath::Log( fEnergyList[iDigit] / fAmp ));
    else  w = fEnergyList[iDigit]; // just energy

    if(w>0.0) {
      wtot += w ;
      nstat++;
      for(i=0; i<3; i++ ) {
        clXYZ[i]    += (w*xyzi[i]);
        clRmsXYZ[i] += (w*xyzi[i]*xyzi[i]);
      }
    }
  }
  //  cout << " wtot " << wtot << endl;
  if ( wtot > 0 ) { 
    //    xRMS   = TMath::Sqrt(x2m - xMean*xMean);
    for(i=0; i<3; i++ ) {
      clXYZ[i] /= wtot;
      if(nstat>1) {
        clRmsXYZ[i] /= (wtot*wtot);  
        clRmsXYZ[i]  =  clRmsXYZ[i] - clXYZ[i]*clXYZ[i];
	if(clRmsXYZ[i] > 0.0) {
          clRmsXYZ[i] =  TMath::Sqrt(clRmsXYZ[i]);
        } else      clRmsXYZ[i] = 0;
      } else        clRmsXYZ[i] = 0;
    }    
  } else {
    for(i=0; i<3; i++ ) {
      clXYZ[i] = clRmsXYZ[i] = -1.;
    }
  }

//  // Cluster of one single digit, smear the position to avoid discrete position
//  // smear x and z with +- 3 cm to uniform (avoid discrete effects). Tower size is approx 6 cm.
//  // Rndm generates a number in ]0,1]
//  if (fMulDigit==1) { 
//    clXYZ[0] += fGeomPtr->GetPhiTileSize()*(0.5 - gRandom->Rndm()); 
//    clXYZ[2] += fGeomPtr->GetEtaTileSize()*(0.5 - gRandom->Rndm()); 	
//  }
	
  //Set position in global vector
  fGlobPos.SetX(clXYZ[0]);
  fGlobPos.SetY(clXYZ[1]);
  fGlobPos.SetZ(clXYZ[2]);
		
  if (gDebug==2)
	printf("EvalGlobalPosition Cluster: (x ,y ,z) = (%f,%f,%f), eta %f,phi %f\n", 
		   fGlobPos.X(), fGlobPos.Y(), fGlobPos.Z(),fGlobPos.Eta(),fGlobPos.Phi()*TMath::RadToDeg()) ; 
}

//____________________________________________________________________________
void AliEMCALRecPoint::EvalLocalPositionFit(Double_t deff, Double_t logWeight, 
Double_t phiSlope, TClonesArray * digits)
{
  // Evaluates local position of clusters in SM
  
  Double_t ycorr=0;
  AliEMCALDigit *digit=0;
  Int_t i=0, nstat=0;
  Double_t clXYZ[3]={0.,0.,0.}, clRmsXYZ[3]={0.,0.,0.}, xyzi[3], wtot=0., w=0.; 

  Double_t dist  = TmaxInCm(Double_t(fAmp));
  //Int_t	idMax = GetAbsIdMaxDigit();// idMax is not used at all in RelPosCellInSModule, why use it?
	
  for(Int_t iDigit=0; iDigit<digits->GetEntries(); iDigit++) {
    digit = dynamic_cast<AliEMCALDigit *>(digits->At(fDigitsList[iDigit])) ;
    if(digit){
      dist = deff;
      //fGeomPtr->RelPosCellInSModule(digit->GetId(), idMax, dist, xyzi[0], xyzi[1], xyzi[2]);
      fGeomPtr->RelPosCellInSModule(digit->GetId(), dist, xyzi[0], xyzi[1], xyzi[2]);
      
      if(logWeight > 0.0)  w = TMath::Max( 0., logWeight + TMath::Log( fEnergyList[iDigit] / fAmp ));
      else                 w = fEnergyList[iDigit]; // just energy
      
      if(w>0.0) {
        wtot += w ;
        nstat++;
        for(i=0; i<3; i++ ) {
          clXYZ[i]    += (w*xyzi[i]);
          clRmsXYZ[i] += (w*xyzi[i]*xyzi[i]);
        }
      }
    }else AliError("Digit null");
  }//loop
  //  cout << " wtot " << wtot << endl;
  if ( wtot > 0 ) { 
    //    xRMS   = TMath::Sqrt(x2m - xMean*xMean);
    for(i=0; i<3; i++ ) {
      clXYZ[i] /= wtot;
      if(nstat>1) {
        clRmsXYZ[i] /= (wtot*wtot);  
        clRmsXYZ[i]  =  clRmsXYZ[i] - clXYZ[i]*clXYZ[i];
	if(clRmsXYZ[i] > 0.0) {
          clRmsXYZ[i] =  TMath::Sqrt(clRmsXYZ[i]);
        } else      clRmsXYZ[i] = 0;
      } else        clRmsXYZ[i] = 0;
    }    
  } else {
    for(i=0; i<3; i++ ) {
      clXYZ[i] = clRmsXYZ[i] = -1.;
    }
  }
  // clRmsXYZ[i] ??
  if(phiSlope != 0.0 && logWeight > 0.0 && wtot) { 
    // Correction in phi direction (y - coords here); Aug 16;
    // May be put to global level or seperate method
    ycorr = clXYZ[1] * (1. + phiSlope);
    //printf(" y %f : ycorr %f : slope %f \n", clXYZ[1], ycorr, phiSlope); 
    clXYZ[1] = ycorr;
  }
	
  fLocPos.SetX(clXYZ[0]);
  fLocPos.SetY(clXYZ[1]);
  fLocPos.SetZ(clXYZ[2]);
    
//  if (gDebug==2)
//    printf("EvalLocalPosition: eta,phi,r = %f,%f,%f", fLocPos.X(), fLocPos.Y(), fLocPos.Z()) ; 
}

//_____________________________________________________________________________
Bool_t AliEMCALRecPoint::EvalLocalPosition2(TClonesArray * digits, TArrayD &ed)
{
  // Evaluated local position of rec.point using digits 
  // and parametrisation of w0 and deff
  //printf(" <I> AliEMCALRecPoint::EvalLocalPosition2() \n"); 
  return AliEMCALRecPoint::EvalLocalPositionFromDigits(digits, ed, fLocPos);
}

//_____________________________________________________________________________
Bool_t AliEMCALRecPoint::EvalLocalPositionFromDigits(TClonesArray *digits, TArrayD &ed, TVector3 &locPos)
{
  // Used when digits should be recalibrated
  Double_t deff=0, w0=0, esum=0;
  Int_t iDigit=0;
  //  AliEMCALDigit *digit;

  if(ed.GetSize() && (digits->GetEntries()!=ed.GetSize())) return kFALSE;

  // Calculate sum energy of digits
  esum = 0.0;
  for(iDigit=0; iDigit<ed.GetSize(); iDigit++) esum += ed[iDigit];

  GetDeffW0(esum, deff, w0);
  
  return EvalLocalPositionFromDigits(esum, deff, w0, digits, ed, locPos); 
}

//_____________________________________________________________________________
Bool_t AliEMCALRecPoint::EvalLocalPositionFromDigits(const Double_t esum, const Double_t deff, const Double_t w0, TClonesArray *digits, TArrayD &ed, TVector3 &locPos)
{
  //Evaluate position of digits in supermodule.
  AliEMCALDigit *digit=0;

  Int_t i=0, nstat=0;
  Double_t clXYZ[3]={0.,0.,0.}, xyzi[3], wtot=0., w=0.; 
  //Int_t	idMax = GetAbsIdMaxDigit();// idMax is not used at all in RelPosCellInSModule, why use it?
	
  // Get pointer to EMCAL geometry
  // (can't use fGeomPtr in static method)
  AliEMCALGeometry* geo = AliEMCALGeometry::GetInstance(); 

  for(Int_t iDigit=0; iDigit<digits->GetEntries(); iDigit++) {
    digit = dynamic_cast<AliEMCALDigit *>(digits->At(iDigit));
    if(digit){
      //geo->RelPosCellInSModule(digit->GetId(), idMax, deff, xyzi[0], xyzi[1], xyzi[2]);
      geo->RelPosCellInSModule(digit->GetId(), deff, xyzi[0], xyzi[1], xyzi[2]);
      
      if(w0 > 0.0)  w = TMath::Max( 0., w0 + TMath::Log(ed[iDigit] / esum));
      else          w = ed[iDigit]; // just energy
      
      if(w>0.0) {
        wtot += w ;
        nstat++;
        for(i=0; i<3; i++ ) {
          clXYZ[i] += (w*xyzi[i]);
        }
      }
    }else AliError("Digit null");
  }//loop
  //  cout << " wtot " << wtot << endl;
  if (wtot > 0) { 
    for(i=0; i<3; i++ ) {
      clXYZ[i] /= wtot;
    }
    locPos.SetX(clXYZ[0]);
    locPos.SetY(clXYZ[1]);
    locPos.SetZ(clXYZ[2]);
    return kTRUE;
  } else {
    return kFALSE;
  }

}

//_____________________________________________________________________________
void AliEMCALRecPoint::GetDeffW0(const Double_t esum , Double_t &deff,  Double_t &w0)
{
  //
  // Aug 31, 2001 
  // Applied for simulation data with threshold 3 adc
  // Calculate efective distance (deff) and weigh parameter (w0) 
  // for coordinate calculation; 0.5 GeV < esum <100 GeV.
  // Look to:  http://rhic.physics.wayne.edu/~pavlinov/ALICE/SHISHKEBAB/RES/CALIB/GEOMCORR/deffandW0VaEgamma_2.gif
  //
  Double_t e=0.0;
  const  Double_t kdp0=9.25147, kdp1=1.16700; // Hard coded now
  const  Double_t kwp0=4.83713, kwp1=-2.77970e-01, kwp2 = 4.41116;

  // No extrapolation here
  e = esum<0.5?0.5:esum;
  e = e>100.?100.:e;

  deff = kdp0 + kdp1*TMath::Log(e);
  w0   = kwp0 / (1. + TMath::Exp(kwp1*(e+kwp2)));
  //printf("<I> AliEMCALRecPoint::GetDeffW0 esum %5.2f : deff %5.2f : w0 %5.2f \n", esum, deff, w0); 
}

//______________________________________________________________________________
void AliEMCALRecPoint::EvalCoreEnergy(Float_t logWeight, TClonesArray * digits)
{
  // This function calculates energy in the core, 
  // i.e. within a radius rad = fCoreEnergy around the center. Beyond this radius
  // in accordance with shower profile the energy deposition 
  // should be less than 2%
  // Unfinished - Nov 15,2006
  // Distance is calculate in (phi,eta) units

  AliEMCALDigit * digit = 0 ;

  Int_t iDigit=0;

  if (!fLocPos.Mag()) {
    EvalLocalPosition(logWeight, digits);
  }
  
  Double_t phiPoint = fLocPos.Phi(), etaPoint = fLocPos.Eta();
  Double_t eta, phi, distance;
  for(iDigit=0; iDigit < fMulDigit; iDigit++) {
    digit = (AliEMCALDigit *) ( digits->At(fDigitsList[iDigit]) ) ;
    
    eta = phi = 0.0;
    fGeomPtr->EtaPhiFromIndex(digit->GetId(),eta, phi) ;
    phi = phi * TMath::DegToRad();
  
    distance = TMath::Sqrt((eta-etaPoint)*(eta-etaPoint)+(phi-phiPoint)*(phi-phiPoint));
    if(distance < fCoreRadius)
      fCoreEnergy += fEnergyList[iDigit] ;
  }
  
}
//____________________________________________________________________________
void  AliEMCALRecPoint::EvalElipsAxis(Float_t logWeight,TClonesArray * digits)
{
  // Calculates the axis of the shower ellipsoid in eta and phi
  // in cell units

  TString gn(fGeomPtr->GetName());

  Double_t wtot = 0.;
  Double_t x    = 0.;
  Double_t z    = 0.;
  Double_t dxx  = 0.;
  Double_t dzz  = 0.;
  Double_t dxz  = 0.;

  AliEMCALDigit * digit = 0;
	
  Double_t etai =0, phii=0, w=0; 
  int nSupMod=0, nModule=0, nIphi=0, nIeta=0;
  int iphi=0, ieta=0;
  for(Int_t iDigit=0; iDigit<fMulDigit; iDigit++) {
    digit = (AliEMCALDigit *) digits->At(fDigitsList[iDigit])  ;
    etai = phii = 0.; 
    // Nov 15,2006 - use cell numbers as coordinates
    // Copied for shish-kebab geometry, ieta,iphi is cast as double as eta,phi
    // We can use the eta,phi(or coordinates) of cell
    nSupMod = nModule = nIphi = nIeta = iphi = ieta = 0;

    fGeomPtr->GetCellIndex(digit->GetId(), nSupMod,nModule,nIphi,nIeta);
    fGeomPtr->GetCellPhiEtaIndexInSModule(nSupMod,nModule,nIphi,nIeta, iphi,ieta);
	  
    // In case of a shared cluster, index of SM in C side, columns start at 48 and ends at 48*2
    // C Side impair SM, nSupMod%2=1; A side pair SM, nSupMod%2=0
    if(fSharedCluster && nSupMod%2) ieta+=AliEMCALGeoParams::fgkEMCALCols;
    
    etai=(Double_t)ieta;
    phii=(Double_t)iphi;
	  
    w = TMath::Max(0.,logWeight+TMath::Log(fEnergyList[iDigit]/fAmp ) ) ;
    // fAmp summed amplitude of digits, i.e. energy of recpoint 
    // Gives smaller value of lambda than log weight  
    // w = fEnergyList[iDigit] / fAmp; // Nov 16, 2006 - try just energy

    dxx  += w * etai * etai ;
    x    += w * etai ;
    dzz  += w * phii * phii ;
    z    += w * phii ; 

    dxz  += w * etai * phii ; 

    wtot += w ;
  }

  if ( wtot > 0 ) { 
    dxx /= wtot ;
    x   /= wtot ;
    dxx -= x * x ;
    dzz /= wtot ;
    z   /= wtot ;
    dzz -= z * z ;
    dxz /= wtot ;
    dxz -= x * z ;

    fLambda[0] =  0.5 * (dxx + dzz) + TMath::Sqrt( 0.25 * (dxx - dzz) * (dxx - dzz) + dxz * dxz )  ;
    if(fLambda[0] > 0)
      fLambda[0] = TMath::Sqrt(fLambda[0]) ;
    else
      fLambda[0] = 0;
    
    fLambda[1] =  0.5 * (dxx + dzz) - TMath::Sqrt( 0.25 * (dxx - dzz) * (dxx - dzz) + dxz * dxz )  ;

    if(fLambda[1] > 0) //To avoid exception if numerical errors lead to negative lambda.
      fLambda[1] = TMath::Sqrt(fLambda[1]) ;
    else
      fLambda[1]= 0. ;
  } else { 
    fLambda[0]= 0. ;
    fLambda[1]= 0. ;
  }

  //printf("AliEMCALRecPoint::EvalElipsAxis() lambdas  = %f,%f \n", fLambda[0],fLambda[1]) ; 

}

//______________________________________________________________________________
void  AliEMCALRecPoint::EvalPrimaries(TClonesArray * digits)
{
  // Constructs the list of primary particles (tracks) which 
  // have contributed to this RecPoint and calculate deposited energy 
  // for each track
    
  AliEMCALDigit * digit =0;
  Int_t * primArray = new Int_t[fMaxTrack] ;
  memset(primArray,-1,sizeof(Int_t)*fMaxTrack);
  Float_t * dEPrimArray = new Float_t[fMaxTrack] ;
  memset(dEPrimArray,-1,sizeof(Int_t)*fMaxTrack);
  
  Int_t index ;  
  for ( index = 0 ; index < GetDigitsMultiplicity() ; index++ ) { // all digits
    digit = dynamic_cast<AliEMCALDigit *>(digits->At( fDigitsList[index] )) ; 
    if(!digit) {
      AliError("No Digit!!");
      continue;
    }
    
    Int_t nprimaries = digit->GetNprimary() ;
    if ( nprimaries == 0 ) continue ;
    Int_t jndex ;
    for ( jndex = 0 ; jndex < nprimaries ; jndex++ ) { // all primaries in digit
      if ( fMulTrack > fMaxTrack ) {
        fMulTrack = fMaxTrack ;
        Error("EvalPrimaries", "increase fMaxTrack ")  ;
        break ;
      }
      Int_t newPrimary = digit->GetPrimary(jndex+1);
      Float_t dEPrimary = digit->GetDEPrimary(jndex+1);
      Int_t kndex ;
      Bool_t already = kFALSE ;
      for ( kndex = 0 ; kndex < fMulTrack ; kndex++ ) { //check if not already stored
        if ( newPrimary == primArray[kndex] ){
          already = kTRUE ;
          dEPrimArray[kndex] += dEPrimary; 
          break ;
        }
      } // end of check
      if ( !already && (fMulTrack < fMaxTrack)) { // store it
        primArray[fMulTrack] = newPrimary ; 
        dEPrimArray[fMulTrack] = dEPrimary ; 
        fMulTrack++ ;
      } // store it
    } // all primaries in digit
  } // all digits
  
  Int_t *sortIdx = new Int_t[fMulTrack];
  TMath::Sort(fMulTrack,dEPrimArray,sortIdx); 
  for(index = 0; index < fMulTrack; index++) {
    fTracksList[index] = primArray[sortIdx[index]] ;    
    fDETracksList[index] = dEPrimArray[sortIdx[index]] ;
  }
  delete [] sortIdx;
  delete [] primArray ;
  delete [] dEPrimArray ;
  
}

//______________________________________________________________________________
void  AliEMCALRecPoint::EvalParents(TClonesArray * digits)
{
  // Constructs the list of parent particles (tracks) which have contributed to this RecPoint

  AliEMCALDigit * digit=0 ;
  Int_t * parentArray = new Int_t[fMaxTrack] ;
  memset(parentArray,-1,sizeof(Int_t)*fMaxTrack);
  Float_t * dEParentArray = new Float_t[fMaxTrack] ;
  memset(dEParentArray,-1,sizeof(Int_t)*fMaxTrack);
  
  Int_t index ;  
  for ( index = 0 ; index < GetDigitsMultiplicity() ; index++ ) { // all digits
    if (fDigitsList[index] >= digits->GetEntries() || fDigitsList[index] < 0)
      AliError(Form("Trying to get invalid digit %d (idx in WriteRecPoint %d)",fDigitsList[index],index));
    digit = dynamic_cast<AliEMCALDigit *>(digits->At( fDigitsList[index] )) ; 
    if(!digit) {
      AliError("No Digit!!");
      continue;
    }
    
    Int_t nparents = digit->GetNiparent() ;
    if ( nparents == 0 ) continue ;
    
    Int_t jndex ;
    for ( jndex = 0 ; jndex < nparents ; jndex++ ) { // all primaries in digit
      if ( fMulParent > fMaxParent ) {
        fMulTrack = - 1 ;
        Error("EvalParents", "increase fMaxParent")  ;
        break ;
      }
      Int_t newParent = digit->GetIparent(jndex+1) ;
      Float_t newdEParent = digit->GetDEParent(jndex+1) ;
      Int_t kndex ;
      Bool_t already = kFALSE ;
      for ( kndex = 0 ; kndex < fMulParent ; kndex++ ) { //check if not already stored
        if ( newParent == parentArray[kndex] ){
          dEParentArray[kndex] += newdEParent;
          already = kTRUE ;
          break ;
        }
      } // end of check
      if ( !already && (fMulParent < fMaxParent)) { // store it
        parentArray[fMulParent] = newParent ; 
        dEParentArray[fMulParent] = newdEParent ; 
        fMulParent++ ;
      } // store it
    } // all parents in digit
  } // all digits
  
  if (fMulParent>0) {
    Int_t *sortIdx = new Int_t[fMulParent];
    TMath::Sort(fMulParent,dEParentArray,sortIdx); 
    for(index = 0; index < fMulParent; index++) {
      fParentsList[index] = parentArray[sortIdx[index]] ;      
      fDEParentsList[index] = dEParentArray[sortIdx[index]] ;
    }
    delete [] sortIdx;
  }
  
  delete [] parentArray;
  delete [] dEParentArray;
}

//____________________________________________________________________________
void AliEMCALRecPoint::GetLocalPosition(TVector3 & lpos) const
{
  // returns the position of the cluster in the local reference system
  // of the sub-detector
  
  lpos = fLocPos;
}

//____________________________________________________________________________
void AliEMCALRecPoint::GetGlobalPosition(TVector3 & gpos) const
{
  // returns the position of the cluster in the global reference system of ALICE
  // These are now the Cartesian X, Y and Z
  //  cout<<" geom "<<geom<<endl;
  // fGeomPtr->GetGlobal(fLocPos, gpos, fSuperModuleNumber);
  gpos = fGlobPos;
	
}

//____________________________________________________________________________
//void AliEMCALRecPoint::GetGlobalPosition(TVector3 & gpos, TMatrixF & gmat) const
//{
//  // returns the position of the cluster in the global reference system of ALICE
//  // These are now the Cartesian X, Y and Z
//  //  cout<<" geom "<<geom<<endl;
//
//  //To be implemented
//  fGeomPtr->GetGlobalEMCAL(this, gpos, gmat);
//
//}

//_____________________________________________________________________________
void AliEMCALRecPoint::EvalLocal2TrackingCSTransform()
{
  //Evaluates local to "tracking" c.s. transformation (B.P.).
  //All evaluations should be completed before calling for this
  //function.                           
  //See ALICE PPR Chapter 5 p.18 for "tracking" c.s. definition,
  //or just ask Jouri Belikov. :) 

  SetVolumeId(AliGeomManager::LayerToVolUID(AliGeomManager::kEMCAL,GetSuperModuleNumber()));

  const TGeoHMatrix* tr2loc = GetTracking2LocalMatrix();
  if(!tr2loc) AliFatal(Form("No Tracking2LocalMatrix found."));

  Double_t lxyz[3] = {fLocPos.X(),fLocPos.Y(),fLocPos.Z()};
  Double_t txyz[3] = {0,0,0};

  tr2loc->MasterToLocal(lxyz,txyz);
  SetX(txyz[0]); SetY(txyz[1]); SetZ(txyz[2]);

  if(AliLog::GetGlobalDebugLevel()>0) {
    TVector3 gpos; //TMatrixF gmat;
    //GetGlobalPosition(gpos,gmat); //Not doing anythin special, replace by next line.	
    fGeomPtr->GetGlobal(fLocPos, gpos, GetSuperModuleNumber());
    
    Float_t gxyz[3];
    GetGlobalXYZ(gxyz);
    AliInfo(Form("lCS-->(%.3f,%.3f,%.3f), tCS-->(%.3f,%.3f,%.3f), gCS-->(%.3f,%.3f,%.3f),  gCScalc-\
->(%.3f,%.3f,%.3f), supermodule %d",
                 fLocPos.X(),fLocPos.Y(),fLocPos.Z(),
                 GetX(),GetY(),GetZ(),
                 gpos.X(),gpos.Y(),gpos.Z(),
                 gxyz[0],gxyz[1],gxyz[2],GetSuperModuleNumber()));
  }

}

//____________________________________________________________________________
Float_t AliEMCALRecPoint::GetMaximalEnergy(void) const
{
  // Finds the maximum energy in the cluster
  
  Float_t menergy = 0. ;

  Int_t iDigit;
  for(iDigit=0; iDigit<fMulDigit; iDigit++) {
 
    if(fEnergyList[iDigit] > menergy) 
      menergy = fEnergyList[iDigit] ;
  }
  return menergy ;
}

//____________________________________________________________________________
Int_t AliEMCALRecPoint::GetMaximalEnergyIndex(void) const
{
  // Finds the maximum energy in the cluster
  
  Float_t menergy = 0. ;
  Int_t mid       = 0  ;
  Int_t iDigit;
  
  for(iDigit=0; iDigit<fMulDigit; iDigit++) {
    
    if(fEnergyList[iDigit] > menergy){ 
      menergy = fEnergyList[iDigit] ;
      mid     = iDigit ;
    }
  }//loop on cluster digits
  
  return mid ;
}


//____________________________________________________________________________
Int_t AliEMCALRecPoint::GetMultiplicityAtLevel(Float_t H) const
{
  // Calculates the multiplicity of digits with energy larger than H*energy 
  
  Int_t multipl   = 0 ;
  Int_t iDigit ;
  for(iDigit=0; iDigit<fMulDigit; iDigit++) {

    if(fEnergyList[iDigit] > H * fAmp) 
      multipl++ ;
  }
  return multipl ;
}

//____________________________________________________________________________
Int_t  AliEMCALRecPoint::GetNumberOfLocalMax(AliEMCALDigit **  maxAt, Float_t * maxAtEnergy,
					       Float_t locMaxCut,TClonesArray * digits) const
{ 
  // Calculates the number of local maxima in the cluster using fLocalMaxCut as the minimum
  // energy difference between two local maxima

  AliEMCALDigit * digit  = 0;
  AliEMCALDigit * digitN = 0;
  
  Int_t iDigitN = 0 ;
  Int_t iDigit  = 0 ;

  for(iDigit = 0; iDigit < fMulDigit; iDigit++)
    maxAt[iDigit] = (AliEMCALDigit*) digits->At(fDigitsList[iDigit])  ;
  
  for(iDigit = 0 ; iDigit < fMulDigit; iDigit++) {   
    if(maxAt[iDigit]) {
      digit = maxAt[iDigit] ;
          
      for(iDigitN = 0; iDigitN < fMulDigit; iDigitN++) {	
	if(iDigitN == iDigit) continue;//the same digit
        digitN = (AliEMCALDigit *) digits->At(fDigitsList[iDigitN]) ; 
	
	if ( AreNeighbours(digit, digitN) ) {
	  if (fEnergyList[iDigit] > fEnergyList[iDigitN] ) {    
	    maxAt[iDigitN] = 0 ;
	    // but may be digit too is not local max ?
	    if(fEnergyList[iDigit] < fEnergyList[iDigitN] + locMaxCut) 
	      maxAt[iDigit] = 0 ;
	  } else {
	    maxAt[iDigit] = 0 ;
	    // but may be digitN too is not local max ?
	    if(fEnergyList[iDigit] > fEnergyList[iDigitN] - locMaxCut) 
	      maxAt[iDigitN] = 0 ; 
	  } 
	} // if Areneighbours
      } // while digitN
    } // slot not empty
  } // while digit
  
  iDigitN = 0 ;
  for(iDigit = 0; iDigit < fMulDigit; iDigit++) { 
    if(maxAt[iDigit] ){
      maxAt[iDigitN] = maxAt[iDigit] ;
      maxAtEnergy[iDigitN] = fEnergyList[iDigit] ;
      iDigitN++ ; 
    }
  }

  return iDigitN ;
}

//____________________________________________________________________________
Int_t AliEMCALRecPoint::GetPrimaryIndex() const  
{
  // Get the primary track index in TreeK which deposits the most energy 
  // in Digits which forms RecPoint. 

  if (fMulTrack)
    return fTracksList[0];
  return -12345;
}

//____________________________________________________________________________
void AliEMCALRecPoint::EvalTime(TClonesArray * digits){
  // time is set to the time of the digit with the maximum energy

  Float_t maxE  = 0;
  Int_t   maxAt = 0;
  for(Int_t idig=0; idig < fMulDigit; idig++){
    if(fEnergyList[idig] > maxE){
      maxE  = fEnergyList[idig] ;
      maxAt = idig;
    }
  }
  fTime = ((AliEMCALDigit*) digits->At(fDigitsList[maxAt]))->GetTime() ;
  
}

//______________________________________________________________________________
void AliEMCALRecPoint::Paint(Option_t *)
{
  // Paint this ALiRecPoint as a TMarker  with its current attributes
  
  TVector3 pos(0.,0.,0.)  ;
  GetLocalPosition(pos)   ;
  Coord_t x = pos.X()     ;
  Coord_t y = pos.Z()     ;
  Color_t markercolor = 1 ;
  Size_t  markersize  = 1.;
  Style_t markerstyle = 5 ;
  
  if (!gPad->IsBatch()) {
    gVirtualX->SetMarkerColor(markercolor) ;
    gVirtualX->SetMarkerSize (markersize)  ;
    gVirtualX->SetMarkerStyle(markerstyle) ;
  }
  gPad->SetAttMarkerPS(markercolor,markerstyle,markersize) ;
  gPad->PaintPolyMarker(1,&x,&y,"") ;
}

//_____________________________________________________________________
Double_t AliEMCALRecPoint::TmaxInCm(const Double_t e , const Int_t key)
{ 
  // e energy in GeV)
  // key  =  0(gamma, default)
  //     !=  0(electron)
  const Double_t ca   = 4.82;  // shower max parameter - first guess; ca=TMath::Log(1000./8.07)
  Double_t tmax = 0.;    // position of electromagnetic shower max in cm

  Double_t x0   = 1.31;  // radiation lenght (cm)
  //If old geometry in use
  if(!((fGeomPtr->GetEMCGeometry()->GetGeoName()).Contains("V1"))) x0 = 1.28;

  if(e>0.1) {
    tmax = TMath::Log(e) + ca;
    if      (key==0) tmax += 0.5; 
    else             tmax -= 0.5;
    tmax *= x0; // convert to cm
  }
  return tmax;
}

//______________________________________________________________________________
Float_t AliEMCALRecPoint::EtaToTheta(Float_t arg) const
{
  //Converts Theta (Radians) to Eta(Radians)
  return (2.*TMath::ATan(TMath::Exp(-arg)));
}

//______________________________________________________________________________
Float_t AliEMCALRecPoint::ThetaToEta(Float_t arg) const
{
  //Converts Eta (Radians) to Theta(Radians)
  return (-1 * TMath::Log(TMath::Tan(0.5 * arg)));
}

//____________________________________________________________________________
void AliEMCALRecPoint::Print(Option_t *opt) const
{
  // Print the list of digits belonging to the cluster
  if(strlen(opt)==0) return;
  TString message ; 
  message  = "AliEMCALRecPoint:\n" ;
  message +=  " digits # = " ; 
  AliInfo(message.Data()) ; 

  Int_t iDigit;
  for(iDigit=0; iDigit<fMulDigit; iDigit++)
    printf(" %d ", fDigitsList[iDigit] ) ;  
  printf("\n");

  AliInfo(" Energies = ") ;
  for(iDigit=0; iDigit<fMulDigit; iDigit++) 
    printf(" %f ", fEnergyList[iDigit] ) ;
  printf("\n");

  AliInfo("\n Abs Ids = ") ;
  for(iDigit=0; iDigit<fMulDigit; iDigit++) 
    printf(" %i ", fAbsIdList[iDigit] ) ;
  printf("\n");

  AliInfo(" Primaries  ") ;
  for(iDigit = 0;iDigit < fMulTrack; iDigit++)
    printf(" %d ", fTracksList[iDigit]) ;

  printf("\n Local x %6.2f y %7.2f z %7.1f \n", fLocPos[0], fLocPos[1], fLocPos[2]);

  message  = "       ClusterType     = %d" ;
  message += "       Multiplicity    = %d" ;
  message += "       Cluster Energy  = %f" ; 
  message += "       Core energy     = %f" ; 
  message += "       Core radius     = %f" ; 
  message += "       Number of primaries %d" ; 
  message += "       Stored at position %d" ; 
  AliInfo(Form(message.Data(), fClusterType, fMulDigit, fAmp, fCoreEnergy, fCoreRadius, fMulTrack, GetIndexInList()) ) ;  
}

//___________________________________________________________
Double_t  AliEMCALRecPoint::GetPointEnergy() const
{
  //Returns energy ....
  Double_t e=0.0;
  for(int ic=0; ic<GetMultiplicity(); ic++) e += double(fEnergyList[ic]);
  return e;
}
 AliEMCALRecPoint.cxx:1
 AliEMCALRecPoint.cxx:2
 AliEMCALRecPoint.cxx:3
 AliEMCALRecPoint.cxx:4
 AliEMCALRecPoint.cxx:5
 AliEMCALRecPoint.cxx:6
 AliEMCALRecPoint.cxx:7
 AliEMCALRecPoint.cxx:8
 AliEMCALRecPoint.cxx:9
 AliEMCALRecPoint.cxx:10
 AliEMCALRecPoint.cxx:11
 AliEMCALRecPoint.cxx:12
 AliEMCALRecPoint.cxx:13
 AliEMCALRecPoint.cxx:14
 AliEMCALRecPoint.cxx:15
 AliEMCALRecPoint.cxx:16
 AliEMCALRecPoint.cxx:17
 AliEMCALRecPoint.cxx:18
 AliEMCALRecPoint.cxx:19
 AliEMCALRecPoint.cxx:20
 AliEMCALRecPoint.cxx:21
 AliEMCALRecPoint.cxx:22
 AliEMCALRecPoint.cxx:23
 AliEMCALRecPoint.cxx:24
 AliEMCALRecPoint.cxx:25
 AliEMCALRecPoint.cxx:26
 AliEMCALRecPoint.cxx:27
 AliEMCALRecPoint.cxx:28
 AliEMCALRecPoint.cxx:29
 AliEMCALRecPoint.cxx:30
 AliEMCALRecPoint.cxx:31
 AliEMCALRecPoint.cxx:32
 AliEMCALRecPoint.cxx:33
 AliEMCALRecPoint.cxx:34
 AliEMCALRecPoint.cxx:35
 AliEMCALRecPoint.cxx:36
 AliEMCALRecPoint.cxx:37
 AliEMCALRecPoint.cxx:38
 AliEMCALRecPoint.cxx:39
 AliEMCALRecPoint.cxx:40
 AliEMCALRecPoint.cxx:41
 AliEMCALRecPoint.cxx:42
 AliEMCALRecPoint.cxx:43
 AliEMCALRecPoint.cxx:44
 AliEMCALRecPoint.cxx:45
 AliEMCALRecPoint.cxx:46
 AliEMCALRecPoint.cxx:47
 AliEMCALRecPoint.cxx:48
 AliEMCALRecPoint.cxx:49
 AliEMCALRecPoint.cxx:50
 AliEMCALRecPoint.cxx:51
 AliEMCALRecPoint.cxx:52
 AliEMCALRecPoint.cxx:53
 AliEMCALRecPoint.cxx:54
 AliEMCALRecPoint.cxx:55
 AliEMCALRecPoint.cxx:56
 AliEMCALRecPoint.cxx:57
 AliEMCALRecPoint.cxx:58
 AliEMCALRecPoint.cxx:59
 AliEMCALRecPoint.cxx:60
 AliEMCALRecPoint.cxx:61
 AliEMCALRecPoint.cxx:62
 AliEMCALRecPoint.cxx:63
 AliEMCALRecPoint.cxx:64
 AliEMCALRecPoint.cxx:65
 AliEMCALRecPoint.cxx:66
 AliEMCALRecPoint.cxx:67
 AliEMCALRecPoint.cxx:68
 AliEMCALRecPoint.cxx:69
 AliEMCALRecPoint.cxx:70
 AliEMCALRecPoint.cxx:71
 AliEMCALRecPoint.cxx:72
 AliEMCALRecPoint.cxx:73
 AliEMCALRecPoint.cxx:74
 AliEMCALRecPoint.cxx:75
 AliEMCALRecPoint.cxx:76
 AliEMCALRecPoint.cxx:77
 AliEMCALRecPoint.cxx:78
 AliEMCALRecPoint.cxx:79
 AliEMCALRecPoint.cxx:80
 AliEMCALRecPoint.cxx:81
 AliEMCALRecPoint.cxx:82
 AliEMCALRecPoint.cxx:83
 AliEMCALRecPoint.cxx:84
 AliEMCALRecPoint.cxx:85
 AliEMCALRecPoint.cxx:86
 AliEMCALRecPoint.cxx:87
 AliEMCALRecPoint.cxx:88
 AliEMCALRecPoint.cxx:89
 AliEMCALRecPoint.cxx:90
 AliEMCALRecPoint.cxx:91
 AliEMCALRecPoint.cxx:92
 AliEMCALRecPoint.cxx:93
 AliEMCALRecPoint.cxx:94
 AliEMCALRecPoint.cxx:95
 AliEMCALRecPoint.cxx:96
 AliEMCALRecPoint.cxx:97
 AliEMCALRecPoint.cxx:98
 AliEMCALRecPoint.cxx:99
 AliEMCALRecPoint.cxx:100
 AliEMCALRecPoint.cxx:101
 AliEMCALRecPoint.cxx:102
 AliEMCALRecPoint.cxx:103
 AliEMCALRecPoint.cxx:104
 AliEMCALRecPoint.cxx:105
 AliEMCALRecPoint.cxx:106
 AliEMCALRecPoint.cxx:107
 AliEMCALRecPoint.cxx:108
 AliEMCALRecPoint.cxx:109
 AliEMCALRecPoint.cxx:110
 AliEMCALRecPoint.cxx:111
 AliEMCALRecPoint.cxx:112
 AliEMCALRecPoint.cxx:113
 AliEMCALRecPoint.cxx:114
 AliEMCALRecPoint.cxx:115
 AliEMCALRecPoint.cxx:116
 AliEMCALRecPoint.cxx:117
 AliEMCALRecPoint.cxx:118
 AliEMCALRecPoint.cxx:119
 AliEMCALRecPoint.cxx:120
 AliEMCALRecPoint.cxx:121
 AliEMCALRecPoint.cxx:122
 AliEMCALRecPoint.cxx:123
 AliEMCALRecPoint.cxx:124
 AliEMCALRecPoint.cxx:125
 AliEMCALRecPoint.cxx:126
 AliEMCALRecPoint.cxx:127
 AliEMCALRecPoint.cxx:128
 AliEMCALRecPoint.cxx:129
 AliEMCALRecPoint.cxx:130
 AliEMCALRecPoint.cxx:131
 AliEMCALRecPoint.cxx:132
 AliEMCALRecPoint.cxx:133
 AliEMCALRecPoint.cxx:134
 AliEMCALRecPoint.cxx:135
 AliEMCALRecPoint.cxx:136
 AliEMCALRecPoint.cxx:137
 AliEMCALRecPoint.cxx:138
 AliEMCALRecPoint.cxx:139
 AliEMCALRecPoint.cxx:140
 AliEMCALRecPoint.cxx:141
 AliEMCALRecPoint.cxx:142
 AliEMCALRecPoint.cxx:143
 AliEMCALRecPoint.cxx:144
 AliEMCALRecPoint.cxx:145
 AliEMCALRecPoint.cxx:146
 AliEMCALRecPoint.cxx:147
 AliEMCALRecPoint.cxx:148
 AliEMCALRecPoint.cxx:149
 AliEMCALRecPoint.cxx:150
 AliEMCALRecPoint.cxx:151
 AliEMCALRecPoint.cxx:152
 AliEMCALRecPoint.cxx:153
 AliEMCALRecPoint.cxx:154
 AliEMCALRecPoint.cxx:155
 AliEMCALRecPoint.cxx:156
 AliEMCALRecPoint.cxx:157
 AliEMCALRecPoint.cxx:158
 AliEMCALRecPoint.cxx:159
 AliEMCALRecPoint.cxx:160
 AliEMCALRecPoint.cxx:161
 AliEMCALRecPoint.cxx:162
 AliEMCALRecPoint.cxx:163
 AliEMCALRecPoint.cxx:164
 AliEMCALRecPoint.cxx:165
 AliEMCALRecPoint.cxx:166
 AliEMCALRecPoint.cxx:167
 AliEMCALRecPoint.cxx:168
 AliEMCALRecPoint.cxx:169
 AliEMCALRecPoint.cxx:170
 AliEMCALRecPoint.cxx:171
 AliEMCALRecPoint.cxx:172
 AliEMCALRecPoint.cxx:173
 AliEMCALRecPoint.cxx:174
 AliEMCALRecPoint.cxx:175
 AliEMCALRecPoint.cxx:176
 AliEMCALRecPoint.cxx:177
 AliEMCALRecPoint.cxx:178
 AliEMCALRecPoint.cxx:179
 AliEMCALRecPoint.cxx:180
 AliEMCALRecPoint.cxx:181
 AliEMCALRecPoint.cxx:182
 AliEMCALRecPoint.cxx:183
 AliEMCALRecPoint.cxx:184
 AliEMCALRecPoint.cxx:185
 AliEMCALRecPoint.cxx:186
 AliEMCALRecPoint.cxx:187
 AliEMCALRecPoint.cxx:188
 AliEMCALRecPoint.cxx:189
 AliEMCALRecPoint.cxx:190
 AliEMCALRecPoint.cxx:191
 AliEMCALRecPoint.cxx:192
 AliEMCALRecPoint.cxx:193
 AliEMCALRecPoint.cxx:194
 AliEMCALRecPoint.cxx:195
 AliEMCALRecPoint.cxx:196
 AliEMCALRecPoint.cxx:197
 AliEMCALRecPoint.cxx:198
 AliEMCALRecPoint.cxx:199
 AliEMCALRecPoint.cxx:200
 AliEMCALRecPoint.cxx:201
 AliEMCALRecPoint.cxx:202
 AliEMCALRecPoint.cxx:203
 AliEMCALRecPoint.cxx:204
 AliEMCALRecPoint.cxx:205
 AliEMCALRecPoint.cxx:206
 AliEMCALRecPoint.cxx:207
 AliEMCALRecPoint.cxx:208
 AliEMCALRecPoint.cxx:209
 AliEMCALRecPoint.cxx:210
 AliEMCALRecPoint.cxx:211
 AliEMCALRecPoint.cxx:212
 AliEMCALRecPoint.cxx:213
 AliEMCALRecPoint.cxx:214
 AliEMCALRecPoint.cxx:215
 AliEMCALRecPoint.cxx:216
 AliEMCALRecPoint.cxx:217
 AliEMCALRecPoint.cxx:218
 AliEMCALRecPoint.cxx:219
 AliEMCALRecPoint.cxx:220
 AliEMCALRecPoint.cxx:221
 AliEMCALRecPoint.cxx:222
 AliEMCALRecPoint.cxx:223
 AliEMCALRecPoint.cxx:224
 AliEMCALRecPoint.cxx:225
 AliEMCALRecPoint.cxx:226
 AliEMCALRecPoint.cxx:227
 AliEMCALRecPoint.cxx:228
 AliEMCALRecPoint.cxx:229
 AliEMCALRecPoint.cxx:230
 AliEMCALRecPoint.cxx:231
 AliEMCALRecPoint.cxx:232
 AliEMCALRecPoint.cxx:233
 AliEMCALRecPoint.cxx:234
 AliEMCALRecPoint.cxx:235
 AliEMCALRecPoint.cxx:236
 AliEMCALRecPoint.cxx:237
 AliEMCALRecPoint.cxx:238
 AliEMCALRecPoint.cxx:239
 AliEMCALRecPoint.cxx:240
 AliEMCALRecPoint.cxx:241
 AliEMCALRecPoint.cxx:242
 AliEMCALRecPoint.cxx:243
 AliEMCALRecPoint.cxx:244
 AliEMCALRecPoint.cxx:245
 AliEMCALRecPoint.cxx:246
 AliEMCALRecPoint.cxx:247
 AliEMCALRecPoint.cxx:248
 AliEMCALRecPoint.cxx:249
 AliEMCALRecPoint.cxx:250
 AliEMCALRecPoint.cxx:251
 AliEMCALRecPoint.cxx:252
 AliEMCALRecPoint.cxx:253
 AliEMCALRecPoint.cxx:254
 AliEMCALRecPoint.cxx:255
 AliEMCALRecPoint.cxx:256
 AliEMCALRecPoint.cxx:257
 AliEMCALRecPoint.cxx:258
 AliEMCALRecPoint.cxx:259
 AliEMCALRecPoint.cxx:260
 AliEMCALRecPoint.cxx:261
 AliEMCALRecPoint.cxx:262
 AliEMCALRecPoint.cxx:263
 AliEMCALRecPoint.cxx:264
 AliEMCALRecPoint.cxx:265
 AliEMCALRecPoint.cxx:266
 AliEMCALRecPoint.cxx:267
 AliEMCALRecPoint.cxx:268
 AliEMCALRecPoint.cxx:269
 AliEMCALRecPoint.cxx:270
 AliEMCALRecPoint.cxx:271
 AliEMCALRecPoint.cxx:272
 AliEMCALRecPoint.cxx:273
 AliEMCALRecPoint.cxx:274
 AliEMCALRecPoint.cxx:275
 AliEMCALRecPoint.cxx:276
 AliEMCALRecPoint.cxx:277
 AliEMCALRecPoint.cxx:278
 AliEMCALRecPoint.cxx:279
 AliEMCALRecPoint.cxx:280
 AliEMCALRecPoint.cxx:281
 AliEMCALRecPoint.cxx:282
 AliEMCALRecPoint.cxx:283
 AliEMCALRecPoint.cxx:284
 AliEMCALRecPoint.cxx:285
 AliEMCALRecPoint.cxx:286
 AliEMCALRecPoint.cxx:287
 AliEMCALRecPoint.cxx:288
 AliEMCALRecPoint.cxx:289
 AliEMCALRecPoint.cxx:290
 AliEMCALRecPoint.cxx:291
 AliEMCALRecPoint.cxx:292
 AliEMCALRecPoint.cxx:293
 AliEMCALRecPoint.cxx:294
 AliEMCALRecPoint.cxx:295
 AliEMCALRecPoint.cxx:296
 AliEMCALRecPoint.cxx:297
 AliEMCALRecPoint.cxx:298
 AliEMCALRecPoint.cxx:299
 AliEMCALRecPoint.cxx:300
 AliEMCALRecPoint.cxx:301
 AliEMCALRecPoint.cxx:302
 AliEMCALRecPoint.cxx:303
 AliEMCALRecPoint.cxx:304
 AliEMCALRecPoint.cxx:305
 AliEMCALRecPoint.cxx:306
 AliEMCALRecPoint.cxx:307
 AliEMCALRecPoint.cxx:308
 AliEMCALRecPoint.cxx:309
 AliEMCALRecPoint.cxx:310
 AliEMCALRecPoint.cxx:311
 AliEMCALRecPoint.cxx:312
 AliEMCALRecPoint.cxx:313
 AliEMCALRecPoint.cxx:314
 AliEMCALRecPoint.cxx:315
 AliEMCALRecPoint.cxx:316
 AliEMCALRecPoint.cxx:317
 AliEMCALRecPoint.cxx:318
 AliEMCALRecPoint.cxx:319
 AliEMCALRecPoint.cxx:320
 AliEMCALRecPoint.cxx:321
 AliEMCALRecPoint.cxx:322
 AliEMCALRecPoint.cxx:323
 AliEMCALRecPoint.cxx:324
 AliEMCALRecPoint.cxx:325
 AliEMCALRecPoint.cxx:326
 AliEMCALRecPoint.cxx:327
 AliEMCALRecPoint.cxx:328
 AliEMCALRecPoint.cxx:329
 AliEMCALRecPoint.cxx:330
 AliEMCALRecPoint.cxx:331
 AliEMCALRecPoint.cxx:332
 AliEMCALRecPoint.cxx:333
 AliEMCALRecPoint.cxx:334
 AliEMCALRecPoint.cxx:335
 AliEMCALRecPoint.cxx:336
 AliEMCALRecPoint.cxx:337
 AliEMCALRecPoint.cxx:338
 AliEMCALRecPoint.cxx:339
 AliEMCALRecPoint.cxx:340
 AliEMCALRecPoint.cxx:341
 AliEMCALRecPoint.cxx:342
 AliEMCALRecPoint.cxx:343
 AliEMCALRecPoint.cxx:344
 AliEMCALRecPoint.cxx:345
 AliEMCALRecPoint.cxx:346
 AliEMCALRecPoint.cxx:347
 AliEMCALRecPoint.cxx:348
 AliEMCALRecPoint.cxx:349
 AliEMCALRecPoint.cxx:350
 AliEMCALRecPoint.cxx:351
 AliEMCALRecPoint.cxx:352
 AliEMCALRecPoint.cxx:353
 AliEMCALRecPoint.cxx:354
 AliEMCALRecPoint.cxx:355
 AliEMCALRecPoint.cxx:356
 AliEMCALRecPoint.cxx:357
 AliEMCALRecPoint.cxx:358
 AliEMCALRecPoint.cxx:359
 AliEMCALRecPoint.cxx:360
 AliEMCALRecPoint.cxx:361
 AliEMCALRecPoint.cxx:362
 AliEMCALRecPoint.cxx:363
 AliEMCALRecPoint.cxx:364
 AliEMCALRecPoint.cxx:365
 AliEMCALRecPoint.cxx:366
 AliEMCALRecPoint.cxx:367
 AliEMCALRecPoint.cxx:368
 AliEMCALRecPoint.cxx:369
 AliEMCALRecPoint.cxx:370
 AliEMCALRecPoint.cxx:371
 AliEMCALRecPoint.cxx:372
 AliEMCALRecPoint.cxx:373
 AliEMCALRecPoint.cxx:374
 AliEMCALRecPoint.cxx:375
 AliEMCALRecPoint.cxx:376
 AliEMCALRecPoint.cxx:377
 AliEMCALRecPoint.cxx:378
 AliEMCALRecPoint.cxx:379
 AliEMCALRecPoint.cxx:380
 AliEMCALRecPoint.cxx:381
 AliEMCALRecPoint.cxx:382
 AliEMCALRecPoint.cxx:383
 AliEMCALRecPoint.cxx:384
 AliEMCALRecPoint.cxx:385
 AliEMCALRecPoint.cxx:386
 AliEMCALRecPoint.cxx:387
 AliEMCALRecPoint.cxx:388
 AliEMCALRecPoint.cxx:389
 AliEMCALRecPoint.cxx:390
 AliEMCALRecPoint.cxx:391
 AliEMCALRecPoint.cxx:392
 AliEMCALRecPoint.cxx:393
 AliEMCALRecPoint.cxx:394
 AliEMCALRecPoint.cxx:395
 AliEMCALRecPoint.cxx:396
 AliEMCALRecPoint.cxx:397
 AliEMCALRecPoint.cxx:398
 AliEMCALRecPoint.cxx:399
 AliEMCALRecPoint.cxx:400
 AliEMCALRecPoint.cxx:401
 AliEMCALRecPoint.cxx:402
 AliEMCALRecPoint.cxx:403
 AliEMCALRecPoint.cxx:404
 AliEMCALRecPoint.cxx:405
 AliEMCALRecPoint.cxx:406
 AliEMCALRecPoint.cxx:407
 AliEMCALRecPoint.cxx:408
 AliEMCALRecPoint.cxx:409
 AliEMCALRecPoint.cxx:410
 AliEMCALRecPoint.cxx:411
 AliEMCALRecPoint.cxx:412
 AliEMCALRecPoint.cxx:413
 AliEMCALRecPoint.cxx:414
 AliEMCALRecPoint.cxx:415
 AliEMCALRecPoint.cxx:416
 AliEMCALRecPoint.cxx:417
 AliEMCALRecPoint.cxx:418
 AliEMCALRecPoint.cxx:419
 AliEMCALRecPoint.cxx:420
 AliEMCALRecPoint.cxx:421
 AliEMCALRecPoint.cxx:422
 AliEMCALRecPoint.cxx:423
 AliEMCALRecPoint.cxx:424
 AliEMCALRecPoint.cxx:425
 AliEMCALRecPoint.cxx:426
 AliEMCALRecPoint.cxx:427
 AliEMCALRecPoint.cxx:428
 AliEMCALRecPoint.cxx:429
 AliEMCALRecPoint.cxx:430
 AliEMCALRecPoint.cxx:431
 AliEMCALRecPoint.cxx:432
 AliEMCALRecPoint.cxx:433
 AliEMCALRecPoint.cxx:434
 AliEMCALRecPoint.cxx:435
 AliEMCALRecPoint.cxx:436
 AliEMCALRecPoint.cxx:437
 AliEMCALRecPoint.cxx:438
 AliEMCALRecPoint.cxx:439
 AliEMCALRecPoint.cxx:440
 AliEMCALRecPoint.cxx:441
 AliEMCALRecPoint.cxx:442
 AliEMCALRecPoint.cxx:443
 AliEMCALRecPoint.cxx:444
 AliEMCALRecPoint.cxx:445
 AliEMCALRecPoint.cxx:446
 AliEMCALRecPoint.cxx:447
 AliEMCALRecPoint.cxx:448
 AliEMCALRecPoint.cxx:449
 AliEMCALRecPoint.cxx:450
 AliEMCALRecPoint.cxx:451
 AliEMCALRecPoint.cxx:452
 AliEMCALRecPoint.cxx:453
 AliEMCALRecPoint.cxx:454
 AliEMCALRecPoint.cxx:455
 AliEMCALRecPoint.cxx:456
 AliEMCALRecPoint.cxx:457
 AliEMCALRecPoint.cxx:458
 AliEMCALRecPoint.cxx:459
 AliEMCALRecPoint.cxx:460
 AliEMCALRecPoint.cxx:461
 AliEMCALRecPoint.cxx:462
 AliEMCALRecPoint.cxx:463
 AliEMCALRecPoint.cxx:464
 AliEMCALRecPoint.cxx:465
 AliEMCALRecPoint.cxx:466
 AliEMCALRecPoint.cxx:467
 AliEMCALRecPoint.cxx:468
 AliEMCALRecPoint.cxx:469
 AliEMCALRecPoint.cxx:470
 AliEMCALRecPoint.cxx:471
 AliEMCALRecPoint.cxx:472
 AliEMCALRecPoint.cxx:473
 AliEMCALRecPoint.cxx:474
 AliEMCALRecPoint.cxx:475
 AliEMCALRecPoint.cxx:476
 AliEMCALRecPoint.cxx:477
 AliEMCALRecPoint.cxx:478
 AliEMCALRecPoint.cxx:479
 AliEMCALRecPoint.cxx:480
 AliEMCALRecPoint.cxx:481
 AliEMCALRecPoint.cxx:482
 AliEMCALRecPoint.cxx:483
 AliEMCALRecPoint.cxx:484
 AliEMCALRecPoint.cxx:485
 AliEMCALRecPoint.cxx:486
 AliEMCALRecPoint.cxx:487
 AliEMCALRecPoint.cxx:488
 AliEMCALRecPoint.cxx:489
 AliEMCALRecPoint.cxx:490
 AliEMCALRecPoint.cxx:491
 AliEMCALRecPoint.cxx:492
 AliEMCALRecPoint.cxx:493
 AliEMCALRecPoint.cxx:494
 AliEMCALRecPoint.cxx:495
 AliEMCALRecPoint.cxx:496
 AliEMCALRecPoint.cxx:497
 AliEMCALRecPoint.cxx:498
 AliEMCALRecPoint.cxx:499
 AliEMCALRecPoint.cxx:500
 AliEMCALRecPoint.cxx:501
 AliEMCALRecPoint.cxx:502
 AliEMCALRecPoint.cxx:503
 AliEMCALRecPoint.cxx:504
 AliEMCALRecPoint.cxx:505
 AliEMCALRecPoint.cxx:506
 AliEMCALRecPoint.cxx:507
 AliEMCALRecPoint.cxx:508
 AliEMCALRecPoint.cxx:509
 AliEMCALRecPoint.cxx:510
 AliEMCALRecPoint.cxx:511
 AliEMCALRecPoint.cxx:512
 AliEMCALRecPoint.cxx:513
 AliEMCALRecPoint.cxx:514
 AliEMCALRecPoint.cxx:515
 AliEMCALRecPoint.cxx:516
 AliEMCALRecPoint.cxx:517
 AliEMCALRecPoint.cxx:518
 AliEMCALRecPoint.cxx:519
 AliEMCALRecPoint.cxx:520
 AliEMCALRecPoint.cxx:521
 AliEMCALRecPoint.cxx:522
 AliEMCALRecPoint.cxx:523
 AliEMCALRecPoint.cxx:524
 AliEMCALRecPoint.cxx:525
 AliEMCALRecPoint.cxx:526
 AliEMCALRecPoint.cxx:527
 AliEMCALRecPoint.cxx:528
 AliEMCALRecPoint.cxx:529
 AliEMCALRecPoint.cxx:530
 AliEMCALRecPoint.cxx:531
 AliEMCALRecPoint.cxx:532
 AliEMCALRecPoint.cxx:533
 AliEMCALRecPoint.cxx:534
 AliEMCALRecPoint.cxx:535
 AliEMCALRecPoint.cxx:536
 AliEMCALRecPoint.cxx:537
 AliEMCALRecPoint.cxx:538
 AliEMCALRecPoint.cxx:539
 AliEMCALRecPoint.cxx:540
 AliEMCALRecPoint.cxx:541
 AliEMCALRecPoint.cxx:542
 AliEMCALRecPoint.cxx:543
 AliEMCALRecPoint.cxx:544
 AliEMCALRecPoint.cxx:545
 AliEMCALRecPoint.cxx:546
 AliEMCALRecPoint.cxx:547
 AliEMCALRecPoint.cxx:548
 AliEMCALRecPoint.cxx:549
 AliEMCALRecPoint.cxx:550
 AliEMCALRecPoint.cxx:551
 AliEMCALRecPoint.cxx:552
 AliEMCALRecPoint.cxx:553
 AliEMCALRecPoint.cxx:554
 AliEMCALRecPoint.cxx:555
 AliEMCALRecPoint.cxx:556
 AliEMCALRecPoint.cxx:557
 AliEMCALRecPoint.cxx:558
 AliEMCALRecPoint.cxx:559
 AliEMCALRecPoint.cxx:560
 AliEMCALRecPoint.cxx:561
 AliEMCALRecPoint.cxx:562
 AliEMCALRecPoint.cxx:563
 AliEMCALRecPoint.cxx:564
 AliEMCALRecPoint.cxx:565
 AliEMCALRecPoint.cxx:566
 AliEMCALRecPoint.cxx:567
 AliEMCALRecPoint.cxx:568
 AliEMCALRecPoint.cxx:569
 AliEMCALRecPoint.cxx:570
 AliEMCALRecPoint.cxx:571
 AliEMCALRecPoint.cxx:572
 AliEMCALRecPoint.cxx:573
 AliEMCALRecPoint.cxx:574
 AliEMCALRecPoint.cxx:575
 AliEMCALRecPoint.cxx:576
 AliEMCALRecPoint.cxx:577
 AliEMCALRecPoint.cxx:578
 AliEMCALRecPoint.cxx:579
 AliEMCALRecPoint.cxx:580
 AliEMCALRecPoint.cxx:581
 AliEMCALRecPoint.cxx:582
 AliEMCALRecPoint.cxx:583
 AliEMCALRecPoint.cxx:584
 AliEMCALRecPoint.cxx:585
 AliEMCALRecPoint.cxx:586
 AliEMCALRecPoint.cxx:587
 AliEMCALRecPoint.cxx:588
 AliEMCALRecPoint.cxx:589
 AliEMCALRecPoint.cxx:590
 AliEMCALRecPoint.cxx:591
 AliEMCALRecPoint.cxx:592
 AliEMCALRecPoint.cxx:593
 AliEMCALRecPoint.cxx:594
 AliEMCALRecPoint.cxx:595
 AliEMCALRecPoint.cxx:596
 AliEMCALRecPoint.cxx:597
 AliEMCALRecPoint.cxx:598
 AliEMCALRecPoint.cxx:599
 AliEMCALRecPoint.cxx:600
 AliEMCALRecPoint.cxx:601
 AliEMCALRecPoint.cxx:602
 AliEMCALRecPoint.cxx:603
 AliEMCALRecPoint.cxx:604
 AliEMCALRecPoint.cxx:605
 AliEMCALRecPoint.cxx:606
 AliEMCALRecPoint.cxx:607
 AliEMCALRecPoint.cxx:608
 AliEMCALRecPoint.cxx:609
 AliEMCALRecPoint.cxx:610
 AliEMCALRecPoint.cxx:611
 AliEMCALRecPoint.cxx:612
 AliEMCALRecPoint.cxx:613
 AliEMCALRecPoint.cxx:614
 AliEMCALRecPoint.cxx:615
 AliEMCALRecPoint.cxx:616
 AliEMCALRecPoint.cxx:617
 AliEMCALRecPoint.cxx:618
 AliEMCALRecPoint.cxx:619
 AliEMCALRecPoint.cxx:620
 AliEMCALRecPoint.cxx:621
 AliEMCALRecPoint.cxx:622
 AliEMCALRecPoint.cxx:623
 AliEMCALRecPoint.cxx:624
 AliEMCALRecPoint.cxx:625
 AliEMCALRecPoint.cxx:626
 AliEMCALRecPoint.cxx:627
 AliEMCALRecPoint.cxx:628
 AliEMCALRecPoint.cxx:629
 AliEMCALRecPoint.cxx:630
 AliEMCALRecPoint.cxx:631
 AliEMCALRecPoint.cxx:632
 AliEMCALRecPoint.cxx:633
 AliEMCALRecPoint.cxx:634
 AliEMCALRecPoint.cxx:635
 AliEMCALRecPoint.cxx:636
 AliEMCALRecPoint.cxx:637
 AliEMCALRecPoint.cxx:638
 AliEMCALRecPoint.cxx:639
 AliEMCALRecPoint.cxx:640
 AliEMCALRecPoint.cxx:641
 AliEMCALRecPoint.cxx:642
 AliEMCALRecPoint.cxx:643
 AliEMCALRecPoint.cxx:644
 AliEMCALRecPoint.cxx:645
 AliEMCALRecPoint.cxx:646
 AliEMCALRecPoint.cxx:647
 AliEMCALRecPoint.cxx:648
 AliEMCALRecPoint.cxx:649
 AliEMCALRecPoint.cxx:650
 AliEMCALRecPoint.cxx:651
 AliEMCALRecPoint.cxx:652
 AliEMCALRecPoint.cxx:653
 AliEMCALRecPoint.cxx:654
 AliEMCALRecPoint.cxx:655
 AliEMCALRecPoint.cxx:656
 AliEMCALRecPoint.cxx:657
 AliEMCALRecPoint.cxx:658
 AliEMCALRecPoint.cxx:659
 AliEMCALRecPoint.cxx:660
 AliEMCALRecPoint.cxx:661
 AliEMCALRecPoint.cxx:662
 AliEMCALRecPoint.cxx:663
 AliEMCALRecPoint.cxx:664
 AliEMCALRecPoint.cxx:665
 AliEMCALRecPoint.cxx:666
 AliEMCALRecPoint.cxx:667
 AliEMCALRecPoint.cxx:668
 AliEMCALRecPoint.cxx:669
 AliEMCALRecPoint.cxx:670
 AliEMCALRecPoint.cxx:671
 AliEMCALRecPoint.cxx:672
 AliEMCALRecPoint.cxx:673
 AliEMCALRecPoint.cxx:674
 AliEMCALRecPoint.cxx:675
 AliEMCALRecPoint.cxx:676
 AliEMCALRecPoint.cxx:677
 AliEMCALRecPoint.cxx:678
 AliEMCALRecPoint.cxx:679
 AliEMCALRecPoint.cxx:680
 AliEMCALRecPoint.cxx:681
 AliEMCALRecPoint.cxx:682
 AliEMCALRecPoint.cxx:683
 AliEMCALRecPoint.cxx:684
 AliEMCALRecPoint.cxx:685
 AliEMCALRecPoint.cxx:686
 AliEMCALRecPoint.cxx:687
 AliEMCALRecPoint.cxx:688
 AliEMCALRecPoint.cxx:689
 AliEMCALRecPoint.cxx:690
 AliEMCALRecPoint.cxx:691
 AliEMCALRecPoint.cxx:692
 AliEMCALRecPoint.cxx:693
 AliEMCALRecPoint.cxx:694
 AliEMCALRecPoint.cxx:695
 AliEMCALRecPoint.cxx:696
 AliEMCALRecPoint.cxx:697
 AliEMCALRecPoint.cxx:698
 AliEMCALRecPoint.cxx:699
 AliEMCALRecPoint.cxx:700
 AliEMCALRecPoint.cxx:701
 AliEMCALRecPoint.cxx:702
 AliEMCALRecPoint.cxx:703
 AliEMCALRecPoint.cxx:704
 AliEMCALRecPoint.cxx:705
 AliEMCALRecPoint.cxx:706
 AliEMCALRecPoint.cxx:707
 AliEMCALRecPoint.cxx:708
 AliEMCALRecPoint.cxx:709
 AliEMCALRecPoint.cxx:710
 AliEMCALRecPoint.cxx:711
 AliEMCALRecPoint.cxx:712
 AliEMCALRecPoint.cxx:713
 AliEMCALRecPoint.cxx:714
 AliEMCALRecPoint.cxx:715
 AliEMCALRecPoint.cxx:716
 AliEMCALRecPoint.cxx:717
 AliEMCALRecPoint.cxx:718
 AliEMCALRecPoint.cxx:719
 AliEMCALRecPoint.cxx:720
 AliEMCALRecPoint.cxx:721
 AliEMCALRecPoint.cxx:722
 AliEMCALRecPoint.cxx:723
 AliEMCALRecPoint.cxx:724
 AliEMCALRecPoint.cxx:725
 AliEMCALRecPoint.cxx:726
 AliEMCALRecPoint.cxx:727
 AliEMCALRecPoint.cxx:728
 AliEMCALRecPoint.cxx:729
 AliEMCALRecPoint.cxx:730
 AliEMCALRecPoint.cxx:731
 AliEMCALRecPoint.cxx:732
 AliEMCALRecPoint.cxx:733
 AliEMCALRecPoint.cxx:734
 AliEMCALRecPoint.cxx:735
 AliEMCALRecPoint.cxx:736
 AliEMCALRecPoint.cxx:737
 AliEMCALRecPoint.cxx:738
 AliEMCALRecPoint.cxx:739
 AliEMCALRecPoint.cxx:740
 AliEMCALRecPoint.cxx:741
 AliEMCALRecPoint.cxx:742
 AliEMCALRecPoint.cxx:743
 AliEMCALRecPoint.cxx:744
 AliEMCALRecPoint.cxx:745
 AliEMCALRecPoint.cxx:746
 AliEMCALRecPoint.cxx:747
 AliEMCALRecPoint.cxx:748
 AliEMCALRecPoint.cxx:749
 AliEMCALRecPoint.cxx:750
 AliEMCALRecPoint.cxx:751
 AliEMCALRecPoint.cxx:752
 AliEMCALRecPoint.cxx:753
 AliEMCALRecPoint.cxx:754
 AliEMCALRecPoint.cxx:755
 AliEMCALRecPoint.cxx:756
 AliEMCALRecPoint.cxx:757
 AliEMCALRecPoint.cxx:758
 AliEMCALRecPoint.cxx:759
 AliEMCALRecPoint.cxx:760
 AliEMCALRecPoint.cxx:761
 AliEMCALRecPoint.cxx:762
 AliEMCALRecPoint.cxx:763
 AliEMCALRecPoint.cxx:764
 AliEMCALRecPoint.cxx:765
 AliEMCALRecPoint.cxx:766
 AliEMCALRecPoint.cxx:767
 AliEMCALRecPoint.cxx:768
 AliEMCALRecPoint.cxx:769
 AliEMCALRecPoint.cxx:770
 AliEMCALRecPoint.cxx:771
 AliEMCALRecPoint.cxx:772
 AliEMCALRecPoint.cxx:773
 AliEMCALRecPoint.cxx:774
 AliEMCALRecPoint.cxx:775
 AliEMCALRecPoint.cxx:776
 AliEMCALRecPoint.cxx:777
 AliEMCALRecPoint.cxx:778
 AliEMCALRecPoint.cxx:779
 AliEMCALRecPoint.cxx:780
 AliEMCALRecPoint.cxx:781
 AliEMCALRecPoint.cxx:782
 AliEMCALRecPoint.cxx:783
 AliEMCALRecPoint.cxx:784
 AliEMCALRecPoint.cxx:785
 AliEMCALRecPoint.cxx:786
 AliEMCALRecPoint.cxx:787
 AliEMCALRecPoint.cxx:788
 AliEMCALRecPoint.cxx:789
 AliEMCALRecPoint.cxx:790
 AliEMCALRecPoint.cxx:791
 AliEMCALRecPoint.cxx:792
 AliEMCALRecPoint.cxx:793
 AliEMCALRecPoint.cxx:794
 AliEMCALRecPoint.cxx:795
 AliEMCALRecPoint.cxx:796
 AliEMCALRecPoint.cxx:797
 AliEMCALRecPoint.cxx:798
 AliEMCALRecPoint.cxx:799
 AliEMCALRecPoint.cxx:800
 AliEMCALRecPoint.cxx:801
 AliEMCALRecPoint.cxx:802
 AliEMCALRecPoint.cxx:803
 AliEMCALRecPoint.cxx:804
 AliEMCALRecPoint.cxx:805
 AliEMCALRecPoint.cxx:806
 AliEMCALRecPoint.cxx:807
 AliEMCALRecPoint.cxx:808
 AliEMCALRecPoint.cxx:809
 AliEMCALRecPoint.cxx:810
 AliEMCALRecPoint.cxx:811
 AliEMCALRecPoint.cxx:812
 AliEMCALRecPoint.cxx:813
 AliEMCALRecPoint.cxx:814
 AliEMCALRecPoint.cxx:815
 AliEMCALRecPoint.cxx:816
 AliEMCALRecPoint.cxx:817
 AliEMCALRecPoint.cxx:818
 AliEMCALRecPoint.cxx:819
 AliEMCALRecPoint.cxx:820
 AliEMCALRecPoint.cxx:821
 AliEMCALRecPoint.cxx:822
 AliEMCALRecPoint.cxx:823
 AliEMCALRecPoint.cxx:824
 AliEMCALRecPoint.cxx:825
 AliEMCALRecPoint.cxx:826
 AliEMCALRecPoint.cxx:827
 AliEMCALRecPoint.cxx:828
 AliEMCALRecPoint.cxx:829
 AliEMCALRecPoint.cxx:830
 AliEMCALRecPoint.cxx:831
 AliEMCALRecPoint.cxx:832
 AliEMCALRecPoint.cxx:833
 AliEMCALRecPoint.cxx:834
 AliEMCALRecPoint.cxx:835
 AliEMCALRecPoint.cxx:836
 AliEMCALRecPoint.cxx:837
 AliEMCALRecPoint.cxx:838
 AliEMCALRecPoint.cxx:839
 AliEMCALRecPoint.cxx:840
 AliEMCALRecPoint.cxx:841
 AliEMCALRecPoint.cxx:842
 AliEMCALRecPoint.cxx:843
 AliEMCALRecPoint.cxx:844
 AliEMCALRecPoint.cxx:845
 AliEMCALRecPoint.cxx:846
 AliEMCALRecPoint.cxx:847
 AliEMCALRecPoint.cxx:848
 AliEMCALRecPoint.cxx:849
 AliEMCALRecPoint.cxx:850
 AliEMCALRecPoint.cxx:851
 AliEMCALRecPoint.cxx:852
 AliEMCALRecPoint.cxx:853
 AliEMCALRecPoint.cxx:854
 AliEMCALRecPoint.cxx:855
 AliEMCALRecPoint.cxx:856
 AliEMCALRecPoint.cxx:857
 AliEMCALRecPoint.cxx:858
 AliEMCALRecPoint.cxx:859
 AliEMCALRecPoint.cxx:860
 AliEMCALRecPoint.cxx:861
 AliEMCALRecPoint.cxx:862
 AliEMCALRecPoint.cxx:863
 AliEMCALRecPoint.cxx:864
 AliEMCALRecPoint.cxx:865
 AliEMCALRecPoint.cxx:866
 AliEMCALRecPoint.cxx:867
 AliEMCALRecPoint.cxx:868
 AliEMCALRecPoint.cxx:869
 AliEMCALRecPoint.cxx:870
 AliEMCALRecPoint.cxx:871
 AliEMCALRecPoint.cxx:872
 AliEMCALRecPoint.cxx:873
 AliEMCALRecPoint.cxx:874
 AliEMCALRecPoint.cxx:875
 AliEMCALRecPoint.cxx:876
 AliEMCALRecPoint.cxx:877
 AliEMCALRecPoint.cxx:878
 AliEMCALRecPoint.cxx:879
 AliEMCALRecPoint.cxx:880
 AliEMCALRecPoint.cxx:881
 AliEMCALRecPoint.cxx:882
 AliEMCALRecPoint.cxx:883
 AliEMCALRecPoint.cxx:884
 AliEMCALRecPoint.cxx:885
 AliEMCALRecPoint.cxx:886
 AliEMCALRecPoint.cxx:887
 AliEMCALRecPoint.cxx:888
 AliEMCALRecPoint.cxx:889
 AliEMCALRecPoint.cxx:890
 AliEMCALRecPoint.cxx:891
 AliEMCALRecPoint.cxx:892
 AliEMCALRecPoint.cxx:893
 AliEMCALRecPoint.cxx:894
 AliEMCALRecPoint.cxx:895
 AliEMCALRecPoint.cxx:896
 AliEMCALRecPoint.cxx:897
 AliEMCALRecPoint.cxx:898
 AliEMCALRecPoint.cxx:899
 AliEMCALRecPoint.cxx:900
 AliEMCALRecPoint.cxx:901
 AliEMCALRecPoint.cxx:902
 AliEMCALRecPoint.cxx:903
 AliEMCALRecPoint.cxx:904
 AliEMCALRecPoint.cxx:905
 AliEMCALRecPoint.cxx:906
 AliEMCALRecPoint.cxx:907
 AliEMCALRecPoint.cxx:908
 AliEMCALRecPoint.cxx:909
 AliEMCALRecPoint.cxx:910
 AliEMCALRecPoint.cxx:911
 AliEMCALRecPoint.cxx:912
 AliEMCALRecPoint.cxx:913
 AliEMCALRecPoint.cxx:914
 AliEMCALRecPoint.cxx:915
 AliEMCALRecPoint.cxx:916
 AliEMCALRecPoint.cxx:917
 AliEMCALRecPoint.cxx:918
 AliEMCALRecPoint.cxx:919
 AliEMCALRecPoint.cxx:920
 AliEMCALRecPoint.cxx:921
 AliEMCALRecPoint.cxx:922
 AliEMCALRecPoint.cxx:923
 AliEMCALRecPoint.cxx:924
 AliEMCALRecPoint.cxx:925
 AliEMCALRecPoint.cxx:926
 AliEMCALRecPoint.cxx:927
 AliEMCALRecPoint.cxx:928
 AliEMCALRecPoint.cxx:929
 AliEMCALRecPoint.cxx:930
 AliEMCALRecPoint.cxx:931
 AliEMCALRecPoint.cxx:932
 AliEMCALRecPoint.cxx:933
 AliEMCALRecPoint.cxx:934
 AliEMCALRecPoint.cxx:935
 AliEMCALRecPoint.cxx:936
 AliEMCALRecPoint.cxx:937
 AliEMCALRecPoint.cxx:938
 AliEMCALRecPoint.cxx:939
 AliEMCALRecPoint.cxx:940
 AliEMCALRecPoint.cxx:941
 AliEMCALRecPoint.cxx:942
 AliEMCALRecPoint.cxx:943
 AliEMCALRecPoint.cxx:944
 AliEMCALRecPoint.cxx:945
 AliEMCALRecPoint.cxx:946
 AliEMCALRecPoint.cxx:947
 AliEMCALRecPoint.cxx:948
 AliEMCALRecPoint.cxx:949
 AliEMCALRecPoint.cxx:950
 AliEMCALRecPoint.cxx:951
 AliEMCALRecPoint.cxx:952
 AliEMCALRecPoint.cxx:953
 AliEMCALRecPoint.cxx:954
 AliEMCALRecPoint.cxx:955
 AliEMCALRecPoint.cxx:956
 AliEMCALRecPoint.cxx:957
 AliEMCALRecPoint.cxx:958
 AliEMCALRecPoint.cxx:959
 AliEMCALRecPoint.cxx:960
 AliEMCALRecPoint.cxx:961
 AliEMCALRecPoint.cxx:962
 AliEMCALRecPoint.cxx:963
 AliEMCALRecPoint.cxx:964
 AliEMCALRecPoint.cxx:965
 AliEMCALRecPoint.cxx:966
 AliEMCALRecPoint.cxx:967
 AliEMCALRecPoint.cxx:968
 AliEMCALRecPoint.cxx:969
 AliEMCALRecPoint.cxx:970
 AliEMCALRecPoint.cxx:971
 AliEMCALRecPoint.cxx:972
 AliEMCALRecPoint.cxx:973
 AliEMCALRecPoint.cxx:974
 AliEMCALRecPoint.cxx:975
 AliEMCALRecPoint.cxx:976
 AliEMCALRecPoint.cxx:977
 AliEMCALRecPoint.cxx:978
 AliEMCALRecPoint.cxx:979
 AliEMCALRecPoint.cxx:980
 AliEMCALRecPoint.cxx:981
 AliEMCALRecPoint.cxx:982
 AliEMCALRecPoint.cxx:983
 AliEMCALRecPoint.cxx:984
 AliEMCALRecPoint.cxx:985
 AliEMCALRecPoint.cxx:986
 AliEMCALRecPoint.cxx:987
 AliEMCALRecPoint.cxx:988
 AliEMCALRecPoint.cxx:989
 AliEMCALRecPoint.cxx:990
 AliEMCALRecPoint.cxx:991
 AliEMCALRecPoint.cxx:992
 AliEMCALRecPoint.cxx:993
 AliEMCALRecPoint.cxx:994
 AliEMCALRecPoint.cxx:995
 AliEMCALRecPoint.cxx:996
 AliEMCALRecPoint.cxx:997
 AliEMCALRecPoint.cxx:998
 AliEMCALRecPoint.cxx:999
 AliEMCALRecPoint.cxx:1000
 AliEMCALRecPoint.cxx:1001
 AliEMCALRecPoint.cxx:1002
 AliEMCALRecPoint.cxx:1003
 AliEMCALRecPoint.cxx:1004
 AliEMCALRecPoint.cxx:1005
 AliEMCALRecPoint.cxx:1006
 AliEMCALRecPoint.cxx:1007
 AliEMCALRecPoint.cxx:1008
 AliEMCALRecPoint.cxx:1009
 AliEMCALRecPoint.cxx:1010
 AliEMCALRecPoint.cxx:1011
 AliEMCALRecPoint.cxx:1012
 AliEMCALRecPoint.cxx:1013
 AliEMCALRecPoint.cxx:1014
 AliEMCALRecPoint.cxx:1015
 AliEMCALRecPoint.cxx:1016
 AliEMCALRecPoint.cxx:1017
 AliEMCALRecPoint.cxx:1018
 AliEMCALRecPoint.cxx:1019
 AliEMCALRecPoint.cxx:1020
 AliEMCALRecPoint.cxx:1021
 AliEMCALRecPoint.cxx:1022
 AliEMCALRecPoint.cxx:1023
 AliEMCALRecPoint.cxx:1024
 AliEMCALRecPoint.cxx:1025
 AliEMCALRecPoint.cxx:1026
 AliEMCALRecPoint.cxx:1027
 AliEMCALRecPoint.cxx:1028
 AliEMCALRecPoint.cxx:1029
 AliEMCALRecPoint.cxx:1030
 AliEMCALRecPoint.cxx:1031
 AliEMCALRecPoint.cxx:1032
 AliEMCALRecPoint.cxx:1033
 AliEMCALRecPoint.cxx:1034
 AliEMCALRecPoint.cxx:1035
 AliEMCALRecPoint.cxx:1036
 AliEMCALRecPoint.cxx:1037
 AliEMCALRecPoint.cxx:1038
 AliEMCALRecPoint.cxx:1039
 AliEMCALRecPoint.cxx:1040
 AliEMCALRecPoint.cxx:1041
 AliEMCALRecPoint.cxx:1042
 AliEMCALRecPoint.cxx:1043
 AliEMCALRecPoint.cxx:1044
 AliEMCALRecPoint.cxx:1045
 AliEMCALRecPoint.cxx:1046
 AliEMCALRecPoint.cxx:1047
 AliEMCALRecPoint.cxx:1048
 AliEMCALRecPoint.cxx:1049
 AliEMCALRecPoint.cxx:1050
 AliEMCALRecPoint.cxx:1051
 AliEMCALRecPoint.cxx:1052
 AliEMCALRecPoint.cxx:1053
 AliEMCALRecPoint.cxx:1054
 AliEMCALRecPoint.cxx:1055
 AliEMCALRecPoint.cxx:1056
 AliEMCALRecPoint.cxx:1057
 AliEMCALRecPoint.cxx:1058
 AliEMCALRecPoint.cxx:1059
 AliEMCALRecPoint.cxx:1060
 AliEMCALRecPoint.cxx:1061
 AliEMCALRecPoint.cxx:1062
 AliEMCALRecPoint.cxx:1063
 AliEMCALRecPoint.cxx:1064
 AliEMCALRecPoint.cxx:1065
 AliEMCALRecPoint.cxx:1066
 AliEMCALRecPoint.cxx:1067
 AliEMCALRecPoint.cxx:1068
 AliEMCALRecPoint.cxx:1069
 AliEMCALRecPoint.cxx:1070
 AliEMCALRecPoint.cxx:1071
 AliEMCALRecPoint.cxx:1072
 AliEMCALRecPoint.cxx:1073
 AliEMCALRecPoint.cxx:1074
 AliEMCALRecPoint.cxx:1075
 AliEMCALRecPoint.cxx:1076
 AliEMCALRecPoint.cxx:1077
 AliEMCALRecPoint.cxx:1078
 AliEMCALRecPoint.cxx:1079
 AliEMCALRecPoint.cxx:1080
 AliEMCALRecPoint.cxx:1081
 AliEMCALRecPoint.cxx:1082
 AliEMCALRecPoint.cxx:1083
 AliEMCALRecPoint.cxx:1084
 AliEMCALRecPoint.cxx:1085
 AliEMCALRecPoint.cxx:1086
 AliEMCALRecPoint.cxx:1087
 AliEMCALRecPoint.cxx:1088
 AliEMCALRecPoint.cxx:1089
 AliEMCALRecPoint.cxx:1090
 AliEMCALRecPoint.cxx:1091
 AliEMCALRecPoint.cxx:1092
 AliEMCALRecPoint.cxx:1093
 AliEMCALRecPoint.cxx:1094
 AliEMCALRecPoint.cxx:1095
 AliEMCALRecPoint.cxx:1096
 AliEMCALRecPoint.cxx:1097
 AliEMCALRecPoint.cxx:1098
 AliEMCALRecPoint.cxx:1099
 AliEMCALRecPoint.cxx:1100
 AliEMCALRecPoint.cxx:1101
 AliEMCALRecPoint.cxx:1102
 AliEMCALRecPoint.cxx:1103
 AliEMCALRecPoint.cxx:1104
 AliEMCALRecPoint.cxx:1105
 AliEMCALRecPoint.cxx:1106
 AliEMCALRecPoint.cxx:1107
 AliEMCALRecPoint.cxx:1108
 AliEMCALRecPoint.cxx:1109
 AliEMCALRecPoint.cxx:1110
 AliEMCALRecPoint.cxx:1111
 AliEMCALRecPoint.cxx:1112
 AliEMCALRecPoint.cxx:1113
 AliEMCALRecPoint.cxx:1114
 AliEMCALRecPoint.cxx:1115
 AliEMCALRecPoint.cxx:1116
 AliEMCALRecPoint.cxx:1117
 AliEMCALRecPoint.cxx:1118
 AliEMCALRecPoint.cxx:1119
 AliEMCALRecPoint.cxx:1120
 AliEMCALRecPoint.cxx:1121
 AliEMCALRecPoint.cxx:1122
 AliEMCALRecPoint.cxx:1123
 AliEMCALRecPoint.cxx:1124
 AliEMCALRecPoint.cxx:1125
 AliEMCALRecPoint.cxx:1126
 AliEMCALRecPoint.cxx:1127
 AliEMCALRecPoint.cxx:1128
 AliEMCALRecPoint.cxx:1129
 AliEMCALRecPoint.cxx:1130
 AliEMCALRecPoint.cxx:1131
 AliEMCALRecPoint.cxx:1132
 AliEMCALRecPoint.cxx:1133
 AliEMCALRecPoint.cxx:1134
 AliEMCALRecPoint.cxx:1135
 AliEMCALRecPoint.cxx:1136
 AliEMCALRecPoint.cxx:1137
 AliEMCALRecPoint.cxx:1138
 AliEMCALRecPoint.cxx:1139
 AliEMCALRecPoint.cxx:1140
 AliEMCALRecPoint.cxx:1141
 AliEMCALRecPoint.cxx:1142
 AliEMCALRecPoint.cxx:1143
 AliEMCALRecPoint.cxx:1144
 AliEMCALRecPoint.cxx:1145
 AliEMCALRecPoint.cxx:1146
 AliEMCALRecPoint.cxx:1147
 AliEMCALRecPoint.cxx:1148
 AliEMCALRecPoint.cxx:1149
 AliEMCALRecPoint.cxx:1150
 AliEMCALRecPoint.cxx:1151
 AliEMCALRecPoint.cxx:1152
 AliEMCALRecPoint.cxx:1153
 AliEMCALRecPoint.cxx:1154
 AliEMCALRecPoint.cxx:1155
 AliEMCALRecPoint.cxx:1156
 AliEMCALRecPoint.cxx:1157
 AliEMCALRecPoint.cxx:1158
 AliEMCALRecPoint.cxx:1159
 AliEMCALRecPoint.cxx:1160
 AliEMCALRecPoint.cxx:1161
 AliEMCALRecPoint.cxx:1162
 AliEMCALRecPoint.cxx:1163
 AliEMCALRecPoint.cxx:1164
 AliEMCALRecPoint.cxx:1165
 AliEMCALRecPoint.cxx:1166
 AliEMCALRecPoint.cxx:1167
 AliEMCALRecPoint.cxx:1168
 AliEMCALRecPoint.cxx:1169
 AliEMCALRecPoint.cxx:1170
 AliEMCALRecPoint.cxx:1171
 AliEMCALRecPoint.cxx:1172
 AliEMCALRecPoint.cxx:1173
 AliEMCALRecPoint.cxx:1174
 AliEMCALRecPoint.cxx:1175
 AliEMCALRecPoint.cxx:1176
 AliEMCALRecPoint.cxx:1177
 AliEMCALRecPoint.cxx:1178
 AliEMCALRecPoint.cxx:1179
 AliEMCALRecPoint.cxx:1180
 AliEMCALRecPoint.cxx:1181
 AliEMCALRecPoint.cxx:1182
 AliEMCALRecPoint.cxx:1183
 AliEMCALRecPoint.cxx:1184
 AliEMCALRecPoint.cxx:1185
 AliEMCALRecPoint.cxx:1186
 AliEMCALRecPoint.cxx:1187
 AliEMCALRecPoint.cxx:1188
 AliEMCALRecPoint.cxx:1189
 AliEMCALRecPoint.cxx:1190
 AliEMCALRecPoint.cxx:1191
 AliEMCALRecPoint.cxx:1192
 AliEMCALRecPoint.cxx:1193
 AliEMCALRecPoint.cxx:1194
 AliEMCALRecPoint.cxx:1195
 AliEMCALRecPoint.cxx:1196
 AliEMCALRecPoint.cxx:1197
 AliEMCALRecPoint.cxx:1198
 AliEMCALRecPoint.cxx:1199
 AliEMCALRecPoint.cxx:1200
 AliEMCALRecPoint.cxx:1201
 AliEMCALRecPoint.cxx:1202
 AliEMCALRecPoint.cxx:1203
 AliEMCALRecPoint.cxx:1204
 AliEMCALRecPoint.cxx:1205
 AliEMCALRecPoint.cxx:1206
 AliEMCALRecPoint.cxx:1207
 AliEMCALRecPoint.cxx:1208
 AliEMCALRecPoint.cxx:1209
 AliEMCALRecPoint.cxx:1210
 AliEMCALRecPoint.cxx:1211
 AliEMCALRecPoint.cxx:1212
 AliEMCALRecPoint.cxx:1213
 AliEMCALRecPoint.cxx:1214
 AliEMCALRecPoint.cxx:1215
 AliEMCALRecPoint.cxx:1216
 AliEMCALRecPoint.cxx:1217
 AliEMCALRecPoint.cxx:1218
 AliEMCALRecPoint.cxx:1219
 AliEMCALRecPoint.cxx:1220
 AliEMCALRecPoint.cxx:1221
 AliEMCALRecPoint.cxx:1222
 AliEMCALRecPoint.cxx:1223
 AliEMCALRecPoint.cxx:1224
 AliEMCALRecPoint.cxx:1225
 AliEMCALRecPoint.cxx:1226
 AliEMCALRecPoint.cxx:1227
 AliEMCALRecPoint.cxx:1228
 AliEMCALRecPoint.cxx:1229
 AliEMCALRecPoint.cxx:1230
 AliEMCALRecPoint.cxx:1231
 AliEMCALRecPoint.cxx:1232
 AliEMCALRecPoint.cxx:1233
 AliEMCALRecPoint.cxx:1234
 AliEMCALRecPoint.cxx:1235
 AliEMCALRecPoint.cxx:1236
 AliEMCALRecPoint.cxx:1237
 AliEMCALRecPoint.cxx:1238
 AliEMCALRecPoint.cxx:1239
 AliEMCALRecPoint.cxx:1240
 AliEMCALRecPoint.cxx:1241
 AliEMCALRecPoint.cxx:1242
 AliEMCALRecPoint.cxx:1243
 AliEMCALRecPoint.cxx:1244
 AliEMCALRecPoint.cxx:1245
 AliEMCALRecPoint.cxx:1246
 AliEMCALRecPoint.cxx:1247
 AliEMCALRecPoint.cxx:1248
 AliEMCALRecPoint.cxx:1249
 AliEMCALRecPoint.cxx:1250
 AliEMCALRecPoint.cxx:1251
 AliEMCALRecPoint.cxx:1252
 AliEMCALRecPoint.cxx:1253
 AliEMCALRecPoint.cxx:1254
 AliEMCALRecPoint.cxx:1255
 AliEMCALRecPoint.cxx:1256
 AliEMCALRecPoint.cxx:1257
 AliEMCALRecPoint.cxx:1258
 AliEMCALRecPoint.cxx:1259
 AliEMCALRecPoint.cxx:1260
 AliEMCALRecPoint.cxx:1261
 AliEMCALRecPoint.cxx:1262
 AliEMCALRecPoint.cxx:1263
 AliEMCALRecPoint.cxx:1264
 AliEMCALRecPoint.cxx:1265
 AliEMCALRecPoint.cxx:1266
 AliEMCALRecPoint.cxx:1267
 AliEMCALRecPoint.cxx:1268
 AliEMCALRecPoint.cxx:1269
 AliEMCALRecPoint.cxx:1270
 AliEMCALRecPoint.cxx:1271
 AliEMCALRecPoint.cxx:1272
 AliEMCALRecPoint.cxx:1273
 AliEMCALRecPoint.cxx:1274
 AliEMCALRecPoint.cxx:1275
 AliEMCALRecPoint.cxx:1276
 AliEMCALRecPoint.cxx:1277
 AliEMCALRecPoint.cxx:1278
 AliEMCALRecPoint.cxx:1279
 AliEMCALRecPoint.cxx:1280
 AliEMCALRecPoint.cxx:1281
 AliEMCALRecPoint.cxx:1282
 AliEMCALRecPoint.cxx:1283
 AliEMCALRecPoint.cxx:1284
 AliEMCALRecPoint.cxx:1285
 AliEMCALRecPoint.cxx:1286
 AliEMCALRecPoint.cxx:1287
 AliEMCALRecPoint.cxx:1288
 AliEMCALRecPoint.cxx:1289
 AliEMCALRecPoint.cxx:1290
 AliEMCALRecPoint.cxx:1291
 AliEMCALRecPoint.cxx:1292
 AliEMCALRecPoint.cxx:1293
 AliEMCALRecPoint.cxx:1294
 AliEMCALRecPoint.cxx:1295
 AliEMCALRecPoint.cxx:1296
 AliEMCALRecPoint.cxx:1297
 AliEMCALRecPoint.cxx:1298
 AliEMCALRecPoint.cxx:1299
 AliEMCALRecPoint.cxx:1300
 AliEMCALRecPoint.cxx:1301
 AliEMCALRecPoint.cxx:1302
 AliEMCALRecPoint.cxx:1303
 AliEMCALRecPoint.cxx:1304
 AliEMCALRecPoint.cxx:1305
 AliEMCALRecPoint.cxx:1306
 AliEMCALRecPoint.cxx:1307
 AliEMCALRecPoint.cxx:1308
 AliEMCALRecPoint.cxx:1309
 AliEMCALRecPoint.cxx:1310
 AliEMCALRecPoint.cxx:1311
 AliEMCALRecPoint.cxx:1312
 AliEMCALRecPoint.cxx:1313
 AliEMCALRecPoint.cxx:1314
 AliEMCALRecPoint.cxx:1315
 AliEMCALRecPoint.cxx:1316
 AliEMCALRecPoint.cxx:1317
 AliEMCALRecPoint.cxx:1318
 AliEMCALRecPoint.cxx:1319
 AliEMCALRecPoint.cxx:1320
 AliEMCALRecPoint.cxx:1321
 AliEMCALRecPoint.cxx:1322
 AliEMCALRecPoint.cxx:1323
 AliEMCALRecPoint.cxx:1324
 AliEMCALRecPoint.cxx:1325
 AliEMCALRecPoint.cxx:1326
 AliEMCALRecPoint.cxx:1327
 AliEMCALRecPoint.cxx:1328
 AliEMCALRecPoint.cxx:1329
 AliEMCALRecPoint.cxx:1330
 AliEMCALRecPoint.cxx:1331
 AliEMCALRecPoint.cxx:1332
 AliEMCALRecPoint.cxx:1333
 AliEMCALRecPoint.cxx:1334
 AliEMCALRecPoint.cxx:1335
 AliEMCALRecPoint.cxx:1336
 AliEMCALRecPoint.cxx:1337
 AliEMCALRecPoint.cxx:1338
 AliEMCALRecPoint.cxx:1339
 AliEMCALRecPoint.cxx:1340
 AliEMCALRecPoint.cxx:1341
 AliEMCALRecPoint.cxx:1342
 AliEMCALRecPoint.cxx:1343
 AliEMCALRecPoint.cxx:1344
 AliEMCALRecPoint.cxx:1345
 AliEMCALRecPoint.cxx:1346
 AliEMCALRecPoint.cxx:1347
 AliEMCALRecPoint.cxx:1348
 AliEMCALRecPoint.cxx:1349
 AliEMCALRecPoint.cxx:1350
 AliEMCALRecPoint.cxx:1351
 AliEMCALRecPoint.cxx:1352
 AliEMCALRecPoint.cxx:1353
 AliEMCALRecPoint.cxx:1354
 AliEMCALRecPoint.cxx:1355
 AliEMCALRecPoint.cxx:1356
 AliEMCALRecPoint.cxx:1357
 AliEMCALRecPoint.cxx:1358
 AliEMCALRecPoint.cxx:1359
 AliEMCALRecPoint.cxx:1360
 AliEMCALRecPoint.cxx:1361
 AliEMCALRecPoint.cxx:1362
 AliEMCALRecPoint.cxx:1363
 AliEMCALRecPoint.cxx:1364
 AliEMCALRecPoint.cxx:1365
 AliEMCALRecPoint.cxx:1366
 AliEMCALRecPoint.cxx:1367
 AliEMCALRecPoint.cxx:1368
 AliEMCALRecPoint.cxx:1369
 AliEMCALRecPoint.cxx:1370
 AliEMCALRecPoint.cxx:1371
 AliEMCALRecPoint.cxx:1372
 AliEMCALRecPoint.cxx:1373
 AliEMCALRecPoint.cxx:1374
 AliEMCALRecPoint.cxx:1375
 AliEMCALRecPoint.cxx:1376
 AliEMCALRecPoint.cxx:1377
 AliEMCALRecPoint.cxx:1378
 AliEMCALRecPoint.cxx:1379
 AliEMCALRecPoint.cxx:1380
 AliEMCALRecPoint.cxx:1381
 AliEMCALRecPoint.cxx:1382
 AliEMCALRecPoint.cxx:1383
 AliEMCALRecPoint.cxx:1384
 AliEMCALRecPoint.cxx:1385
 AliEMCALRecPoint.cxx:1386
 AliEMCALRecPoint.cxx:1387
 AliEMCALRecPoint.cxx:1388
 AliEMCALRecPoint.cxx:1389
 AliEMCALRecPoint.cxx:1390
 AliEMCALRecPoint.cxx:1391
 AliEMCALRecPoint.cxx:1392
 AliEMCALRecPoint.cxx:1393
 AliEMCALRecPoint.cxx:1394
 AliEMCALRecPoint.cxx:1395
 AliEMCALRecPoint.cxx:1396
 AliEMCALRecPoint.cxx:1397
 AliEMCALRecPoint.cxx:1398
 AliEMCALRecPoint.cxx:1399
 AliEMCALRecPoint.cxx:1400
 AliEMCALRecPoint.cxx:1401
 AliEMCALRecPoint.cxx:1402
 AliEMCALRecPoint.cxx:1403
 AliEMCALRecPoint.cxx:1404
 AliEMCALRecPoint.cxx:1405
 AliEMCALRecPoint.cxx:1406
 AliEMCALRecPoint.cxx:1407