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 hereby granted      *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

//_________________________________________________________________________
//
// Class for the photon identification.
// Clusters from calorimeters are identified as photons
// and kept in the AOD. Few histograms produced.
// Copy of AliAnaPhoton just add electron id.
//
// -- Author: Gustavo Conesa (LPSC-IN2P3-CRNS) 
//////////////////////////////////////////////////////////////////////////////
  
  
// --- ROOT system --- 
#include <TH2F.h>
#include <TH3D.h>
#include <TClonesArray.h>
#include <TObjString.h>
//#include <Riostream.h>
#include "TParticle.h"
#include "TDatabasePDG.h"
#include "AliVTrack.h"

// --- Analysis system --- 
#include "AliAnaElectron.h" 
#include "AliCaloTrackReader.h"
#include "AliStack.h"
#include "AliCaloPID.h"
#include "AliMCAnalysisUtils.h"
#include "AliFiducialCut.h"
#include "AliVCluster.h"
#include "AliAODMCParticle.h"
#include "AliMixedEvent.h"


ClassImp(AliAnaElectron)
  
//________________________________
AliAnaElectron::AliAnaElectron() : 
    AliAnaCaloTrackCorrBaseClass(),
    fMinDist(0.),                         fMinDist2(0.),                         fMinDist3(0.), 
    fTimeCutMin(-1),                      fTimeCutMax(999999),         
    fNCellsCut(0),                        fNLMCutMin(-1),                        fNLMCutMax(10),
    fFillSSHistograms(kFALSE),             fFillOnlySimpleSSHisto(1),
    fFillWeightHistograms(kFALSE),        fNOriginHistograms(8), 
    fdEdxMin(0.),                         fdEdxMax (200.), 
    fEOverPMin(0),                        fEOverPMax (2),
    fAODParticle(0),
    fMomentum(),                          fMomentumMC(),                         fProdVertex(),
    // Histograms
    fhdEdxvsE(0),                         fhdEdxvsP(0),                 
    fhEOverPvsE(0),                       fhEOverPvsP(0),
    fhdEdxvsECutM02(0),                   fhdEdxvsPCutM02(0),
    fhEOverPvsECutM02(0),                 fhEOverPvsPCutM02(0),
    fhdEdxvsECutEOverP(0),                fhdEdxvsPCutEOverP(0),
    fhEOverPvsECutM02CutdEdx(0),          fhEOverPvsPCutM02CutdEdx(0),
    // Weight studies
    fhECellClusterRatio(0),               fhECellClusterLogRatio(0),                 
    fhEMaxCellClusterRatio(0),            fhEMaxCellClusterLogRatio(0),    
    // MC histograms
    // Electron SS MC histograms
    fhMCElectronELambda0NoOverlap(0),    
    fhMCElectronELambda0TwoOverlap(0),    fhMCElectronELambda0NOverlap(0),

    //Embedding
    fhEmbeddedSignalFractionEnergy(0),     
    fhEmbedElectronELambda0FullSignal(0), fhEmbedElectronELambda0MostlySignal(0),  
    fhEmbedElectronELambda0MostlyBkg(0),  fhEmbedElectronELambda0FullBkg(0)        
{
  //default ctor
  for(Int_t index = 0; index < 2; index++)
  {
    fhNCellsE [index] = 0;
    fhNLME    [index] = 0;
    fhTimeE   [index] = 0;
    fhMaxCellDiffClusterE[index] = 0;
    fhE       [index] = 0;    
    fhPt      [index] = 0;                        
    fhPhi     [index] = 0;                      
    fhEta     [index] = 0; 
    fhEtaPhi  [index] = 0;                   
    fhEtaPhi05[index] = 0;
    
    // Shower shape histograms
    fhDispE   [index] = 0;                    
    fhLam0E   [index] = 0;                    
    fhLam1E   [index] = 0; 
    fhDispETRD[index] = 0;                 
    fhLam0ETRD[index] = 0;                 
    fhLam1ETRD[index] = 0;
    fhNCellsLam0LowE [index] = 0;           
    fhNCellsLam0HighE[index] = 0;       
    fhEtaLam0LowE    [index] = 0;              
    fhPhiLam0LowE    [index] = 0; 
    fhEtaLam0HighE   [index] = 0;             
    fhPhiLam0HighE   [index] = 0; 
    
    fhDispEtaE       [index] = 0;                
    fhDispPhiE       [index] = 0;
    fhSumEtaE        [index] = 0;                
    fhSumPhiE        [index] = 0;                
    fhSumEtaPhiE     [index] = 0;
    fhDispEtaPhiDiffE[index] = 0;         
    fhSphericityE    [index] = 0;
    
    for(Int_t i = 0; i < 10; i++)
    {
      fhMCPt     [index][i] = 0;
      fhMCE      [index][i] = 0;
      fhMCPhi    [index][i] = 0;
      fhMCEta    [index][i] = 0;
      fhMCDeltaE [index][i] = 0;                
      fhMC2E     [index][i] = 0;
      fhMCdEdxvsE       [i] = 0;
      fhMCdEdxvsP       [i] = 0;
      fhMCEOverPvsE     [i] = 0;
      fhMCEOverPvsP     [i] = 0;
    }
    
    for(Int_t i = 0; i < 6; i++)
    {
      fhMCELambda0       [index][i] = 0;
      fhMCEDispEta       [index][i] = 0;
      fhMCEDispPhi       [index][i] = 0;
      fhMCESumEtaPhi     [index][i] = 0;
      fhMCEDispEtaPhiDiff[index][i] = 0;
      fhMCESphericity    [index][i] = 0;
    }
    
    for(Int_t i = 0; i < 5; i++)
    {
      fhDispEtaDispPhiEBin[index][i] = 0 ;
    }
  }
  
  //Weight studies
  for(Int_t i =0; i < 14; i++)
  {
    fhLambda0ForW0[i] = 0;
    //fhLambda1ForW0[i] = 0;
  }
  
  //Initialize parameters
  InitParameters();
  
}

//____________________________________________________________________________
Bool_t  AliAnaElectron::ClusterSelected(AliVCluster* calo, Int_t nMaxima)
{
  // Select clusters if they pass different cuts
  
  AliDebug(1,Form("Current Event %d; Before selection : E %2.2f, pT %2.2f, Ecl %2.2f, phi %2.2f, eta %2.2f",
           GetReader()->GetEventNumber(),fMomentum.E(),fMomentum.Pt(),calo->E(),fMomentum.Phi()*TMath::RadToDeg(),fMomentum.Eta()));
  
  //.......................................
  //If too small or big energy, skip it
  if(fMomentum.E() < GetMinEnergy() || fMomentum.E() > GetMaxEnergy() ) return kFALSE ; 
  AliDebug(2,Form("\t Cluster %d Pass E Cut",calo->GetID()));
  
  //.......................................
  // TOF cut, BE CAREFUL WITH THIS CUT
  Double_t tof = calo->GetTOF()*1e9;
  if(tof < fTimeCutMin || tof > fTimeCutMax) return kFALSE;
  AliDebug(2,Form("\t Cluster %d Pass Time Cut",calo->GetID()));
  
  //.......................................
  if(calo->GetNCells() <= fNCellsCut && GetReader()->GetDataType() != AliCaloTrackReader::kMC) return kFALSE;
  AliDebug(2,Form("\t Cluster %d Pass NCell Cut",calo->GetID()));
  
  //.......................................
  //Check acceptance selection
  if(IsFiducialCutOn())
  {
    Bool_t in = GetFiducialCut()->IsInFiducialCut(fMomentum.Eta(),fMomentum.Phi(),GetCalorimeter()) ;
    if(! in ) return kFALSE ;
  }
  AliDebug(2,"\t Fiducial cut passed");
  
  //.......................................
  //Skip not matched clusters with tracks
  if(!IsTrackMatched(calo, GetReader()->GetInputEvent()))
  {
      AliDebug(1,"\t Reject non track-matched clusters");
      return kFALSE ;
  }
  else AliDebug(2,"\t Track-matching cut passed");
  
  //...........................................
  // skip clusters with too many maxima
  if(nMaxima < fNLMCutMin || nMaxima > fNLMCutMax) return kFALSE ;
  AliDebug(2,Form("\t Cluster %d pass NLM %d of out of range",calo->GetID(), nMaxima));
  
  //.......................................
  //Check Distance to Bad channel, set bit.
  Double_t distBad=calo->GetDistanceToBadChannel() ; //Distance to bad channel
  if(distBad < 0.) distBad=9999. ; //workout strange convension dist = -1. ;
  if(distBad < fMinDist) {//In bad channel (PHOS cristal size 2.2x2.2 cm), EMCAL ( cell units )
    return kFALSE ;
  }
  else AliDebug(2,Form("\t Bad channel cut passed %4.2f > %2.2f",distBad, fMinDist));
  //printf("Cluster %d Pass Bad Dist Cut \n",icalo);

 AliDebug(1,Form("Current Event %d; After  selection : E %2.2f, pT %2.2f, Ecl %2.2f, phi %2.2f, eta %2.2f",
           GetReader()->GetEventNumber(), 
           fMomentum.E(), fMomentum.Pt(),calo->E(),fMomentum.Phi()*TMath::RadToDeg(),fMomentum.Eta()));
  
  //All checks passed, cluster selected
  return kTRUE;
    
}

//______________________________________________________________________________________________
void  AliAnaElectron::FillShowerShapeHistograms(AliVCluster* cluster, Int_t mcTag, Int_t pidTag)
{
  // Fill cluster Shower Shape histograms
  
  if(!fFillSSHistograms || GetMixedEvent()) return;
  
  Int_t pidIndex = 0;// Electron
  if     (pidTag == AliCaloPID::kElectron)      pidIndex = 0;
  else if(pidTag == AliCaloPID::kChargedHadron) pidIndex = 1;
  else return;

  Float_t energy  = cluster->E();
  Int_t   ncells  = cluster->GetNCells();
  Float_t lambda0 = cluster->GetM02();
  Float_t lambda1 = cluster->GetM20();
  Float_t disp    = cluster->GetDispersion()*cluster->GetDispersion();
  
  Float_t l0   = 0., l1   = 0.;
  Float_t dispp= 0., dEta = 0., dPhi    = 0.; 
  Float_t sEta = 0., sPhi = 0., sEtaPhi = 0.;
  
  Float_t eta = fMomentum.Eta();
  Float_t phi = fMomentum.Phi();
  if(phi < 0) phi+=TMath::TwoPi();
  
  fhLam0E[pidIndex] ->Fill(energy,lambda0);
  fhLam1E[pidIndex] ->Fill(energy,lambda1);
  fhDispE[pidIndex] ->Fill(energy,disp);
  
  if(GetCalorimeter() == kEMCAL &&  GetFirstSMCoveredByTRD() >= 0 &&
     GetModuleNumber(cluster) >= GetFirstSMCoveredByTRD() )
  {
    fhLam0ETRD[pidIndex]->Fill(energy,lambda0);
    fhLam1ETRD[pidIndex]->Fill(energy,lambda1);
    fhDispETRD[pidIndex]->Fill(energy,disp);
  }
  
  if(!fFillOnlySimpleSSHisto)
  {
    if(energy < 2)
    {
      fhNCellsLam0LowE[pidIndex] ->Fill(ncells,lambda0);
      fhEtaLam0LowE[pidIndex]    ->Fill(eta,   lambda0);
      fhPhiLam0LowE[pidIndex]    ->Fill(phi,   lambda0);
    }
    else 
    {
      fhNCellsLam0HighE[pidIndex]->Fill(ncells,lambda0);
      fhEtaLam0HighE[pidIndex]   ->Fill(eta,   lambda0);
      fhPhiLam0HighE[pidIndex]   ->Fill(phi,   lambda0);
    }
    
    if(GetCalorimeter() == kEMCAL)
    {
      GetCaloUtils()->GetEMCALRecoUtils()->RecalculateClusterShowerShapeParameters(GetEMCALGeometry(), GetReader()->GetInputEvent()->GetEMCALCells(), cluster,
                                                                                   l0, l1, dispp, dEta, dPhi, sEta, sPhi, sEtaPhi);
      fhDispEtaE        [pidIndex]-> Fill(energy,dEta);
      fhDispPhiE        [pidIndex]-> Fill(energy,dPhi);
      fhSumEtaE         [pidIndex]-> Fill(energy,sEta);
      fhSumPhiE         [pidIndex]-> Fill(energy,sPhi);
      fhSumEtaPhiE      [pidIndex]-> Fill(energy,sEtaPhi);
      fhDispEtaPhiDiffE [pidIndex]-> Fill(energy,dPhi-dEta);
      if(dEta+dPhi>0)fhSphericityE     [pidIndex]-> Fill(energy,(dPhi-dEta)/(dEta+dPhi));
      
      if      (energy < 2 ) fhDispEtaDispPhiEBin[pidIndex][0]->Fill(dEta,dPhi);
      else if (energy < 4 ) fhDispEtaDispPhiEBin[pidIndex][1]->Fill(dEta,dPhi);
      else if (energy < 6 ) fhDispEtaDispPhiEBin[pidIndex][2]->Fill(dEta,dPhi);
      else if (energy < 10) fhDispEtaDispPhiEBin[pidIndex][3]->Fill(dEta,dPhi);
      else                  fhDispEtaDispPhiEBin[pidIndex][4]->Fill(dEta,dPhi);
      
    }
  }
  
  if(IsDataMC())
  {
    AliVCaloCells* cells = 0;
    if(GetCalorimeter() == kEMCAL) cells = GetEMCALCells();
    else                           cells = GetPHOSCells();
    
    //Fill histograms to check shape of embedded clusters
    Float_t fraction = 0;
    if(GetReader()->IsEmbeddedClusterSelectionOn()){//Only working for EMCAL

      Float_t clusterE = 0; // recalculate in case corrections applied.
      Float_t cellE    = 0;
      for(Int_t icell = 0; icell < cluster->GetNCells(); icell++){
        cellE    = cells->GetCellAmplitude(cluster->GetCellAbsId(icell));
        clusterE+=cellE;  
        fraction+=cellE*cluster->GetCellAmplitudeFraction(icell);
      }
      
      //Fraction of total energy due to the embedded signal
      fraction/=clusterE;
      
      AliDebug(1,Form("Energy fraction of embedded signal %2.3f, Energy %2.3f",fraction, clusterE));
      
      fhEmbeddedSignalFractionEnergy->Fill(clusterE,fraction);
      
    }  // embedded fraction    
    
    // Check the origin and fill histograms
    Int_t index = -1;

    if( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPhoton) &&
       !GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCConversion) &&
       !GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPi0) &&
       !GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCEta))
    {
      index = kmcssPhoton;
            
    }//photon   no conversion
    else if  ( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCElectron && 
              !GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCConversion)))
    {
      index = kmcssElectron;
       
      if(!GetReader()->IsEmbeddedClusterSelectionOn())
      {
        //Check particle overlaps in cluster
        
        //Compare the primary depositing more energy with the rest, if no photon/electron as comon ancestor (conversions), count as other particle
        Int_t ancPDG = 0, ancStatus = -1;
        Int_t ancLabel = 0;
        Int_t noverlaps = 1;      
        for (UInt_t ilab = 0; ilab < cluster->GetNLabels(); ilab++ )
        {
          ancLabel = GetMCAnalysisUtils()->CheckCommonAncestor(cluster->GetLabels()[0],cluster->GetLabels()[ilab], GetReader(),
                                                               ancPDG,ancStatus,fMomentumMC,fProdVertex);
          if(ancPDG!=22 && TMath::Abs(ancPDG)!=11) noverlaps++;
        }
        
        if(noverlaps == 1){
          fhMCElectronELambda0NoOverlap  ->Fill(energy, lambda0);
        }
        else if(noverlaps == 2){        
          fhMCElectronELambda0TwoOverlap ->Fill(energy, lambda0);
        }
        else if(noverlaps > 2){          
          fhMCElectronELambda0NOverlap   ->Fill(energy, lambda0);
        }
        else
        {
          AliWarning(Form("N overlaps = %d for ancestor %d!!", noverlaps, ancLabel));
        }
      }//No embedding
      
      //Fill histograms to check shape of embedded clusters
      if(GetReader()->IsEmbeddedClusterSelectionOn())
      {
        if     (fraction > 0.9) 
        {
          fhEmbedElectronELambda0FullSignal   ->Fill(energy, lambda0);
        }
        else if(fraction > 0.5)
        {
          fhEmbedElectronELambda0MostlySignal ->Fill(energy, lambda0);
        }
        else if(fraction > 0.1)
        { 
          fhEmbedElectronELambda0MostlyBkg    ->Fill(energy, lambda0);
        }
        else
        {
          fhEmbedElectronELambda0FullBkg      ->Fill(energy, lambda0);
        }
      } // embedded      
    }//electron
    else if  ( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCElectron) && 
               GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCConversion) )
    {
      index = kmcssConversion;
    }//conversion photon
    else if  ( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPi0)  )
    {
      index = kmcssPi0;
    }//pi0
    else if  ( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCEta)  )
    {
      index = kmcssEta;      
    }//eta    
    else 
    {
      index = kmcssOther;
    }//other particles 
    
    fhMCELambda0[pidIndex][index]    ->Fill(energy, lambda0);
    
    if(GetCalorimeter() == kEMCAL && !fFillOnlySimpleSSHisto)
    {
      fhMCEDispEta        [pidIndex][index]-> Fill(energy,dEta);
      fhMCEDispPhi        [pidIndex][index]-> Fill(energy,dPhi);
      fhMCESumEtaPhi      [pidIndex][index]-> Fill(energy,sEtaPhi);
      fhMCEDispEtaPhiDiff [pidIndex][index]-> Fill(energy,dPhi-dEta);
      if(dEta+dPhi>0) fhMCESphericity[pidIndex][index]-> Fill(energy,(dPhi-dEta)/(dEta+dPhi));
    }
    
  }//MC data
  
}

//_____________________________________________
TObjString *  AliAnaElectron::GetAnalysisCuts()
{  	
  //Save parameters used for analysis
  TString parList ; //this will be list of parameters used for this analysis.
  const Int_t buffersize = 255;
  char onePar[buffersize] ;
  
  snprintf(onePar,buffersize,"--- AliAnaElectron ---: ") ;
  parList+=onePar ;	
  snprintf(onePar,buffersize,"Calorimeter: %s;",GetCalorimeterString().Data()) ;
  parList+=onePar ;
  snprintf(onePar,buffersize," %2.2f < dEdx < %2.2f;",fdEdxMin,fdEdxMax) ;
  parList+=onePar ;  
  snprintf(onePar,buffersize," %2.2f <  E/P < %2.2f;",fEOverPMin, fEOverPMax) ;
  parList+=onePar ;  
  snprintf(onePar,buffersize,"fMinDist =%2.2f (Minimal distance to bad channel to accept cluster);",fMinDist) ;
  parList+=onePar ;
  snprintf(onePar,buffersize,"fMinDist2=%2.2f (Cuts on Minimal distance to study acceptance evaluation);",fMinDist2) ;
  parList+=onePar ;
  snprintf(onePar,buffersize,"fMinDist3=%2.2f (One more cut on distance used for acceptance-efficiency study);",fMinDist3) ;
  parList+=onePar ;  
  
  //Get parameters set in base class.
  parList += GetBaseParametersList() ;
  
  //Get parameters set in PID class.
  parList += GetCaloPID()->GetPIDParametersList() ;
  
  //Get parameters set in FiducialCut class (not available yet)
  //parlist += GetFidCut()->GetFidCutParametersList()
  
  return new TObjString(parList) ;
}

//_______________________________________________
TList *  AliAnaElectron::GetCreateOutputObjects()
{  
  // Create histograms to be saved in output file and 
  // store them in outputContainer
  TList * outputContainer = new TList() ; 
  outputContainer->SetName("ElectronHistos") ; 
	
  Int_t nptbins     = GetHistogramRanges()->GetHistoPtBins();           Float_t ptmax     = GetHistogramRanges()->GetHistoPtMax();           Float_t ptmin     = GetHistogramRanges()->GetHistoPtMin(); 
  Int_t nphibins    = GetHistogramRanges()->GetHistoPhiBins();          Float_t phimax    = GetHistogramRanges()->GetHistoPhiMax();          Float_t phimin    = GetHistogramRanges()->GetHistoPhiMin(); 
  Int_t netabins    = GetHistogramRanges()->GetHistoEtaBins();          Float_t etamax    = GetHistogramRanges()->GetHistoEtaMax();          Float_t etamin    = GetHistogramRanges()->GetHistoEtaMin();	
  Int_t ssbins      = GetHistogramRanges()->GetHistoShowerShapeBins();  Float_t ssmax     = GetHistogramRanges()->GetHistoShowerShapeMax();  Float_t ssmin     = GetHistogramRanges()->GetHistoShowerShapeMin();
  Int_t nbins       = GetHistogramRanges()->GetHistoNClusterCellBins(); Int_t   nmax      = GetHistogramRanges()->GetHistoNClusterCellMax(); Int_t   nmin      = GetHistogramRanges()->GetHistoNClusterCellMin(); 
  Int_t ndedxbins   = GetHistogramRanges()->GetHistodEdxBins();         Float_t dedxmax   = GetHistogramRanges()->GetHistodEdxMax();         Float_t dedxmin   = GetHistogramRanges()->GetHistodEdxMin();
  Int_t nPoverEbins = GetHistogramRanges()->GetHistoPOverEBins();       Float_t pOverEmax = GetHistogramRanges()->GetHistoPOverEMax();       Float_t pOverEmin = GetHistogramRanges()->GetHistoPOverEMin();
  Int_t tbins       = GetHistogramRanges()->GetHistoTimeBins() ;        Float_t tmax      = GetHistogramRanges()->GetHistoTimeMax();         Float_t tmin      = GetHistogramRanges()->GetHistoTimeMin();

  
  // MC labels, titles, for originator particles
  TString ptypess[] = { "#gamma","hadron?","#pi^{0}","#eta","#gamma->e^{#pm}","e^{#pm}"} ;
  TString pnamess[] = { "Photon","Hadron" ,"Pi0"    ,"Eta" ,"Conversion"     ,"Electron"} ;
  TString ptype[] = { "#gamma", "#gamma_{#pi decay}","#gamma_{other decay}", "#pi^{0}","#eta",
    "e^{#pm}","#gamma->e^{#pm}","hadron?","Anti-N","Anti-P"                    } ;
  
  TString pname[] = { "Photon","PhotonPi0Decay","PhotonOtherDecay","Pi0","Eta","Electron",
    "Conversion", "Hadron", "AntiNeutron","AntiProton"                        } ;

  
  fhdEdxvsE  = new TH2F ("hdEdxvsE","matched track <dE/dx> vs cluster E ", nptbins,ptmin,ptmax,ndedxbins, dedxmin, dedxmax);
  fhdEdxvsE->SetXTitle("E (GeV)");
  fhdEdxvsE->SetYTitle("<dE/dx>");
  outputContainer->Add(fhdEdxvsE);  
  
  fhdEdxvsP  = new TH2F ("hdEdxvsP","matched track <dE/dx> vs track P ", nptbins,ptmin,ptmax,ndedxbins, dedxmin, dedxmax); 
  fhdEdxvsP->SetXTitle("P (GeV/c)");
  fhdEdxvsP->SetYTitle("<dE/dx>");
  outputContainer->Add(fhdEdxvsP);  
  
  fhEOverPvsE  = new TH2F ("hEOverPvsE","matched track E/p vs cluster E ", nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax); 
  fhEOverPvsE->SetXTitle("E (GeV)");
  fhEOverPvsE->SetYTitle("E/p");
  outputContainer->Add(fhEOverPvsE);  
  
  fhEOverPvsP  = new TH2F ("hEOverPvsP","matched track E/p vs track P ", nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax); 
  fhEOverPvsP->SetXTitle("P (GeV/c)");
  fhEOverPvsP->SetYTitle("E/p");
  outputContainer->Add(fhEOverPvsP);  
  
  
  fhdEdxvsECutM02  = new TH2F ("hdEdxvsECutM02","matched track <dE/dx> vs cluster E, mild #lambda_{0}^{2} cut", nptbins,ptmin,ptmax,ndedxbins, dedxmin, dedxmax);
  fhdEdxvsECutM02->SetXTitle("E (GeV)");
  fhdEdxvsECutM02->SetYTitle("<dE/dx>");
  outputContainer->Add(fhdEdxvsECutM02);
  
  fhdEdxvsPCutM02  = new TH2F ("hdEdxvsPCutM02","matched track <dE/dx> vs track P, mild #lambda_{0}^{2} cut", nptbins,ptmin,ptmax,ndedxbins, dedxmin, dedxmax);
  fhdEdxvsPCutM02->SetXTitle("P (GeV/c)");
  fhdEdxvsPCutM02->SetYTitle("<dE/dx>");
  outputContainer->Add(fhdEdxvsPCutM02);
  
  fhEOverPvsECutM02  = new TH2F ("hEOverPvsECutM02","matched track E/p vs cluster E, mild #lambda_{0}^{2} cut", nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax);
  fhEOverPvsECutM02->SetXTitle("E (GeV)");
  fhEOverPvsECutM02->SetYTitle("E/p");
  outputContainer->Add(fhEOverPvsECutM02);
  
  fhEOverPvsPCutM02  = new TH2F ("hEOverPvsPCutM02","matched track E/p vs track P, mild #lambda_{0}^{2} cut", nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax);
  fhEOverPvsPCutM02->SetXTitle("P (GeV/c)");
  fhEOverPvsPCutM02->SetYTitle("E/p");
  outputContainer->Add(fhEOverPvsPCutM02);

  
  fhdEdxvsECutEOverP  = new TH2F ("hdEdxvsECutEOverP","matched track <dE/dx> vs cluster E, cut on E/p", nptbins,ptmin,ptmax,ndedxbins, dedxmin, dedxmax);
  fhdEdxvsECutEOverP->SetXTitle("E (GeV)");
  fhdEdxvsECutEOverP->SetYTitle("<dE/dx>");
  outputContainer->Add(fhdEdxvsECutEOverP);
  
  fhdEdxvsPCutEOverP  = new TH2F ("hdEdxvsPCutEOverP","matched track <dE/dx> vs track P, cut on E/p", nptbins,ptmin,ptmax,ndedxbins, dedxmin, dedxmax);
  fhdEdxvsPCutEOverP->SetXTitle("P (GeV/c)");
  fhdEdxvsPCutEOverP->SetYTitle("<dE/dx>");
  outputContainer->Add(fhdEdxvsPCutEOverP);
  
  fhEOverPvsECutM02CutdEdx  = new TH2F ("hEOverPvsECutM02CutdEdx","matched track E/p vs cluster E, dEdx cut, mild #lambda_{0}^{2} cut", nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax);
  fhEOverPvsECutM02CutdEdx->SetXTitle("E (GeV)");
  fhEOverPvsECutM02CutdEdx->SetYTitle("E/p");
  outputContainer->Add(fhEOverPvsECutM02CutdEdx);
  
  fhEOverPvsPCutM02CutdEdx  = new TH2F ("hEOverPvsPCutM02CutdEdx","matched track E/p vs track P, dEdx cut, mild #lambda_{0}^{2} cut ", nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax);
  fhEOverPvsPCutM02CutdEdx->SetXTitle("P (GeV/c)");
  fhEOverPvsPCutM02CutdEdx->SetYTitle("E/p");
  outputContainer->Add(fhEOverPvsPCutM02CutdEdx);

  if(IsDataMC())
  {
    for(Int_t i = 0; i < fNOriginHistograms; i++)
    {
      fhMCdEdxvsE[i]  = new TH2F(Form("hdEdxvsE_MC%s",pname[i].Data()),
                                     Form("matched track <dE/dx> vs cluster E from %s : E ",ptype[i].Data()),
                                     nptbins,ptmin,ptmax,ndedxbins, dedxmin, dedxmax);
      fhMCdEdxvsE[i]->SetXTitle("E (GeV)");
      fhMCdEdxvsE[i]->SetYTitle("<dE/dx>");
      outputContainer->Add(fhMCdEdxvsE[i]) ;
      
      fhMCdEdxvsP[i]  = new TH2F(Form("hdEdxvsP_MC%s",pname[i].Data()),
                                 Form("matched track <dE/dx> vs track P from %s : E ",ptype[i].Data()),
                                 nptbins,ptmin,ptmax,ndedxbins, dedxmin, dedxmax);
      fhMCdEdxvsP[i]->SetXTitle("E (GeV)");
      fhMCdEdxvsP[i]->SetYTitle("<dE/dx>");
      outputContainer->Add(fhMCdEdxvsP[i]) ;

      
      fhMCEOverPvsE[i]  = new TH2F(Form("hEOverPvsE_MC%s",pname[i].Data()),
                                 Form("matched track E/p vs cluster E from %s : E ",ptype[i].Data()),
                                 nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax);
      fhMCEOverPvsE[i]->SetXTitle("E (GeV)");
      fhMCEOverPvsE[i]->SetYTitle("<dE/dx>");
      outputContainer->Add(fhMCEOverPvsE[i]) ;
      
      fhMCEOverPvsP[i]  = new TH2F(Form("hEOverPvsP_MC%s",pname[i].Data()),
                                 Form("matched track E/pvs track P from %s : E ",ptype[i].Data()),
                                 nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax);
      fhMCEOverPvsP[i]->SetXTitle("E (GeV)");
      fhMCEOverPvsP[i]->SetYTitle("<dE/dx>");
      outputContainer->Add(fhMCEOverPvsP[i]) ;
      
    }
  }
  
  TString pidParticle[] = {"Electron","ChargedHadron"} ;
  
  if(fFillWeightHistograms)
  {
    
    fhECellClusterRatio  = new TH2F ("hECellClusterRatio"," cell energy / cluster energy vs cluster energy, for selected electrons",
                                     nptbins,ptmin,ptmax, 100,0,1.); 
    fhECellClusterRatio->SetXTitle("E_{cluster} (GeV) ");
    fhECellClusterRatio->SetYTitle("E_{cell i}/E_{cluster}");
    outputContainer->Add(fhECellClusterRatio);
    
    fhECellClusterLogRatio  = new TH2F ("hECellClusterLogRatio"," Log(cell energy / cluster energy) vs cluster energy, for selected electrons",
                                        nptbins,ptmin,ptmax, 100,-10,0); 
    fhECellClusterLogRatio->SetXTitle("E_{cluster} (GeV) ");
    fhECellClusterLogRatio->SetYTitle("Log (E_{max cell}/E_{cluster})");
    outputContainer->Add(fhECellClusterLogRatio);
    
    fhEMaxCellClusterRatio  = new TH2F ("hEMaxCellClusterRatio"," max cell energy / cluster energy vs cluster energy, for selected electrons",
                                        nptbins,ptmin,ptmax, 100,0,1.); 
    fhEMaxCellClusterRatio->SetXTitle("E_{cluster} (GeV) ");
    fhEMaxCellClusterRatio->SetYTitle("E_{max cell}/E_{cluster}");
    outputContainer->Add(fhEMaxCellClusterRatio);
    
    fhEMaxCellClusterLogRatio  = new TH2F ("hEMaxCellClusterLogRatio"," Log(max cell energy / cluster energy) vs cluster energy, for selected electrons",
                                           nptbins,ptmin,ptmax, 100,-10,0); 
    fhEMaxCellClusterLogRatio->SetXTitle("E_{cluster} (GeV) ");
    fhEMaxCellClusterLogRatio->SetYTitle("Log (E_{max cell}/E_{cluster})");
    outputContainer->Add(fhEMaxCellClusterLogRatio);
    
    for(Int_t iw = 0; iw < 14; iw++)
    {
      fhLambda0ForW0[iw]  = new TH2F (Form("hLambda0ForW0%d",iw),Form("shower shape, #lambda^{2}_{0} vs E, w0 = %1.1f, for selected electrons",1+0.5*iw),
                                      nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); 
      fhLambda0ForW0[iw]->SetXTitle("E_{cluster}");
      fhLambda0ForW0[iw]->SetYTitle("#lambda^{2}_{0}");
      outputContainer->Add(fhLambda0ForW0[iw]); 
      
      //        fhLambda1ForW0[iw]  = new TH2F (Form("hLambda1ForW0%d",iw),Form("shower shape, #lambda^{2}_{1} vs E, w0 = %1.1f, for selected electrons",1+0.5*iw),
      //                                        nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); 
      //        fhLambda1ForW0[iw]->SetXTitle("E_{cluster}");
      //        fhLambda1ForW0[iw]->SetYTitle("#lambda^{2}_{1}");
      //        outputContainer->Add(fhLambda1ForW0[iw]); 
      
    }
  }  
  
  for(Int_t pidIndex = 0; pidIndex < 2; pidIndex++)
  {
    //Shower shape
    if(fFillSSHistograms)
    {
      fhLam0E[pidIndex]  = new TH2F (Form("h%sLam0E",pidParticle[pidIndex].Data()),
                                     Form("%s: #lambda_{0}^{2} vs E",pidParticle[pidIndex].Data()), 
                                     nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); 
      fhLam0E[pidIndex]->SetYTitle("#lambda_{0}^{2}");
      fhLam0E[pidIndex]->SetXTitle("E (GeV)");
      outputContainer->Add(fhLam0E[pidIndex]);  
      
      fhLam1E[pidIndex]  = new TH2F (Form("h%sLam1E",pidParticle[pidIndex].Data()),
                                     Form("%s: #lambda_{1}^{2} vs E",pidParticle[pidIndex].Data()), 
                                     nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); 
      fhLam1E[pidIndex]->SetYTitle("#lambda_{1}^{2}");
      fhLam1E[pidIndex]->SetXTitle("E (GeV)");
      outputContainer->Add(fhLam1E[pidIndex]);  
      
      fhDispE[pidIndex]  = new TH2F (Form("h%sDispE",pidParticle[pidIndex].Data()),
                                     Form("%s: dispersion^{2} vs E",pidParticle[pidIndex].Data()), 
                                     nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); 
      fhDispE[pidIndex]->SetYTitle("D^{2}");
      fhDispE[pidIndex]->SetXTitle("E (GeV) ");
      outputContainer->Add(fhDispE[pidIndex]);
      
      if(GetCalorimeter() == kEMCAL &&  GetFirstSMCoveredByTRD() >=0 )
      {
        fhLam0ETRD[pidIndex]  = new TH2F (Form("h%sLam0ETRD",pidParticle[pidIndex].Data()),
                                          Form("%s: #lambda_{0}^{2} vs E, EMCAL SM covered by TRD",pidParticle[pidIndex].Data()), 
                                          nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); 
        fhLam0ETRD[pidIndex]->SetYTitle("#lambda_{0}^{2}");
        fhLam0ETRD[pidIndex]->SetXTitle("E (GeV)");
        outputContainer->Add(fhLam0ETRD[pidIndex]);  
        
        fhLam1ETRD[pidIndex]  = new TH2F (Form("h%sLam1ETRD",pidParticle[pidIndex].Data()),
                                          Form("%s: #lambda_{1}^{2} vs E, EMCAL SM covered by TRD",pidParticle[pidIndex].Data()),
                                          nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); 
        fhLam1ETRD[pidIndex]->SetYTitle("#lambda_{1}^{2}");
        fhLam1ETRD[pidIndex]->SetXTitle("E (GeV)");
        outputContainer->Add(fhLam1ETRD[pidIndex]);  
        
        fhDispETRD[pidIndex]  = new TH2F (Form("h%sDispETRD",pidParticle[pidIndex].Data()),
                                          Form("%s: dispersion^{2} vs E, EMCAL SM covered by TRD",pidParticle[pidIndex].Data()), 
                                          nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); 
        fhDispETRD[pidIndex]->SetYTitle("Dispersion^{2}");
        fhDispETRD[pidIndex]->SetXTitle("E (GeV) ");
        outputContainer->Add(fhDispETRD[pidIndex]);   
      } 
      
      if(!fFillOnlySimpleSSHisto)
      {
        
        fhNCellsLam0LowE[pidIndex]  = new TH2F (Form("h%sNCellsLam0LowE",pidParticle[pidIndex].Data()),
                                                Form("%s: N_{cells} in cluster vs #lambda_{0}^{2}, E < 2 GeV",pidParticle[pidIndex].Data()),
                                                nbins,nmin, nmax, ssbins,ssmin,ssmax); 
        fhNCellsLam0LowE[pidIndex]->SetXTitle("N_{cells}");
        fhNCellsLam0LowE[pidIndex]->SetYTitle("#lambda_{0}^{2}");
        outputContainer->Add(fhNCellsLam0LowE[pidIndex]);  
        
        fhNCellsLam0HighE[pidIndex]  = new TH2F (Form("h%sNCellsLam0HighE",pidParticle[pidIndex].Data()),
                                                 Form("%s: N_{cells} in cluster vs #lambda_{0}^{2}, E > 2 GeV",pidParticle[pidIndex].Data()), 
                                                 nbins,nmin, nmax, ssbins,ssmin,ssmax); 
        fhNCellsLam0HighE[pidIndex]->SetXTitle("N_{cells}");
        fhNCellsLam0HighE[pidIndex]->SetYTitle("#lambda_{0}^{2}");
        outputContainer->Add(fhNCellsLam0HighE[pidIndex]);  
        
        
        fhEtaLam0LowE[pidIndex]  = new TH2F (Form("h%sEtaLam0LowE",pidParticle[pidIndex].Data()),
                                             Form("%s: #eta vs #lambda_{0}^{2}, E < 2 GeV",pidParticle[pidIndex].Data()), 
                                             netabins,etamin,etamax, ssbins,ssmin,ssmax); 
        fhEtaLam0LowE[pidIndex]->SetYTitle("#lambda_{0}^{2}");
        fhEtaLam0LowE[pidIndex]->SetXTitle("#eta");
        outputContainer->Add(fhEtaLam0LowE[pidIndex]);  
        
        fhPhiLam0LowE[pidIndex]  = new TH2F (Form("h%sPhiLam0LowE",pidParticle[pidIndex].Data()),
                                             Form("%s: #phi vs #lambda_{0}^{2}, E < 2 GeV",pidParticle[pidIndex].Data()), 
                                             nphibins,phimin,phimax, ssbins,ssmin,ssmax); 
        fhPhiLam0LowE[pidIndex]->SetYTitle("#lambda_{0}^{2}");
        fhPhiLam0LowE[pidIndex]->SetXTitle("#phi");
        outputContainer->Add(fhPhiLam0LowE[pidIndex]);  
        
        fhEtaLam0HighE[pidIndex]  = new TH2F (Form("h%sEtaLam0HighE",pidParticle[pidIndex].Data()),
                                              Form("%s: #eta vs #lambda_{0}^{2}, E > 2 GeV",pidParticle[pidIndex].Data()),
                                              netabins,etamin,etamax, ssbins,ssmin,ssmax); 
        fhEtaLam0HighE[pidIndex]->SetYTitle("#lambda_{0}^{2}");
        fhEtaLam0HighE[pidIndex]->SetXTitle("#eta");
        outputContainer->Add(fhEtaLam0HighE[pidIndex]);  
        
        fhPhiLam0HighE[pidIndex]  = new TH2F (Form("h%sPhiLam0HighE",pidParticle[pidIndex].Data()),
                                              Form("%s: #phi vs #lambda_{0}^{2}, E > 2 GeV",pidParticle[pidIndex].Data()), 
                                              nphibins,phimin,phimax, ssbins,ssmin,ssmax); 
        fhPhiLam0HighE[pidIndex]->SetYTitle("#lambda_{0}^{2}");
        fhPhiLam0HighE[pidIndex]->SetXTitle("#phi");
        outputContainer->Add(fhPhiLam0HighE[pidIndex]);  
        
        if(GetCalorimeter() == kEMCAL)
        {
          fhDispEtaE[pidIndex]  = new TH2F (Form("h%sDispEtaE",pidParticle[pidIndex].Data()),
                                            Form("%s: #sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i} - <#eta>)^{2}/ #Sigma w_{i} vs E",pidParticle[pidIndex].Data()),  
                                            nptbins,ptmin,ptmax, ssbins,ssmin,ssmax); 
          fhDispEtaE[pidIndex]->SetXTitle("E (GeV)");
          fhDispEtaE[pidIndex]->SetYTitle("#sigma^{2}_{#eta #eta}");
          outputContainer->Add(fhDispEtaE[pidIndex]);     
          
          fhDispPhiE[pidIndex]  = new TH2F (Form("h%sDispPhiE",pidParticle[pidIndex].Data()),
                                            Form("%s: #sigma^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i} - <#phi>)^{2} / #Sigma w_{i} vs E",pidParticle[pidIndex].Data()),  
                                            nptbins,ptmin,ptmax, ssbins,ssmin,ssmax); 
          fhDispPhiE[pidIndex]->SetXTitle("E (GeV)");
          fhDispPhiE[pidIndex]->SetYTitle("#sigma^{2}_{#phi #phi}");
          outputContainer->Add(fhDispPhiE[pidIndex]);  
          
          fhSumEtaE[pidIndex]  = new TH2F (Form("h%sSumEtaE",pidParticle[pidIndex].Data()),
                                           Form("%s: #sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i})^{2} / #Sigma w_{i} - <#eta>^{2} vs E",pidParticle[pidIndex].Data()),  
                                           nptbins,ptmin,ptmax, ssbins,ssmin,ssmax); 
          fhSumEtaE[pidIndex]->SetXTitle("E (GeV)");
          fhSumEtaE[pidIndex]->SetYTitle("#delta^{2}_{#eta #eta}");
          outputContainer->Add(fhSumEtaE[pidIndex]);     
          
          fhSumPhiE[pidIndex]  = new TH2F (Form("h%sSumPhiE",pidParticle[pidIndex].Data()),
                                           Form("%s: #sigma^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i})^{2}/ #Sigma w_{i} - <#phi>^{2} vs E",pidParticle[pidIndex].Data()),  
                                           nptbins,ptmin,ptmax, ssbins,ssmin,ssmax); 
          fhSumPhiE[pidIndex]->SetXTitle("E (GeV)");
          fhSumPhiE[pidIndex]->SetYTitle("#delta^{2}_{#phi #phi}");
          outputContainer->Add(fhSumPhiE[pidIndex]);  
          
          fhSumEtaPhiE[pidIndex]  = new TH2F (Form("h%sSumEtaPhiE",pidParticle[pidIndex].Data()),
                                              Form("%s: #delta^{2}_{#eta #phi} = #Sigma w_{i}(#phi_{i} #eta_{i} ) / #Sigma w_{i} - <#phi><#eta> vs E",pidParticle[pidIndex].Data()),  
                                              nptbins,ptmin,ptmax, 2*ssbins,-ssmax,ssmax); 
          fhSumEtaPhiE[pidIndex]->SetXTitle("E (GeV)");
          fhSumEtaPhiE[pidIndex]->SetYTitle("#delta^{2}_{#eta #phi}");
          outputContainer->Add(fhSumEtaPhiE[pidIndex]);
          
          fhDispEtaPhiDiffE[pidIndex]  = new TH2F (Form("h%sDispEtaPhiDiffE",pidParticle[pidIndex].Data()),
                                                   Form("%s: #sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta} vs E",pidParticle[pidIndex].Data()), 
                                                   nptbins,ptmin,ptmax,200, -10,10); 
          fhDispEtaPhiDiffE[pidIndex]->SetXTitle("E (GeV)");
          fhDispEtaPhiDiffE[pidIndex]->SetYTitle("#sigma^{2}_{#phi #phi}-#sigma^{2}_{#eta #eta}");
          outputContainer->Add(fhDispEtaPhiDiffE[pidIndex]);    
          
          fhSphericityE[pidIndex]  = new TH2F (Form("h%sSphericityE",pidParticle[pidIndex].Data()),
                                               Form("%s: (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi}) vs E",pidParticle[pidIndex].Data()),  
                                               nptbins,ptmin,ptmax, 200, -1,1); 
          fhSphericityE[pidIndex]->SetXTitle("E (GeV)");
          fhSphericityE[pidIndex]->SetYTitle("s = (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi})");
          outputContainer->Add(fhSphericityE[pidIndex]);
          
          Int_t bin[] = {0,2,4,6,10,1000};
          for(Int_t i = 0; i < 5; i++)
          {
            fhDispEtaDispPhiEBin[pidIndex][i] = new TH2F (Form("h%sDispEtaDispPhi_EBin%d",pidParticle[pidIndex].Data(),i),
                                                          Form("%s: #sigma^{2}_{#phi #phi} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",pidParticle[pidIndex].Data(),bin[i],bin[i+1]), 
                                                          ssbins,ssmin,ssmax , ssbins,ssmin,ssmax); 
            fhDispEtaDispPhiEBin[pidIndex][i]->SetXTitle("#sigma^{2}_{#eta #eta}");
            fhDispEtaDispPhiEBin[pidIndex][i]->SetYTitle("#sigma^{2}_{#phi #phi}");
            outputContainer->Add(fhDispEtaDispPhiEBin[pidIndex][i]); 
          }
        }
      }
    } // Shower shape
        
    if(IsDataMC())
    {
      if(fFillSSHistograms)
      {
        for(Int_t i = 0; i < 6; i++)
        { 
          fhMCELambda0[pidIndex][i]  = new TH2F(Form("h%sELambda0_MC%s",pidParticle[pidIndex].Data(),pnamess[i].Data()),
                                                Form("%s like cluster from %s : E vs #lambda_{0}^{2}",pidParticle[pidIndex].Data(),ptypess[i].Data()),
                                                nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); 
          fhMCELambda0[pidIndex][i]->SetYTitle("#lambda_{0}^{2}");
          fhMCELambda0[pidIndex][i]->SetXTitle("E (GeV)");
          outputContainer->Add(fhMCELambda0[pidIndex][i]) ; 
          
          if(GetCalorimeter()==kEMCAL && !fFillOnlySimpleSSHisto)
          {
            fhMCEDispEta[pidIndex][i]  = new TH2F (Form("h%sEDispEtaE_MC%s",pidParticle[pidIndex].Data(),pnamess[i].Data()),
                                                   Form("cluster from %s : %s like, #sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i} - <#eta>)^{2}/ #Sigma w_{i} vs E",ptypess[i].Data(),pidParticle[pidIndex].Data()),
                                                   nptbins,ptmin,ptmax, ssbins,ssmin,ssmax); 
            fhMCEDispEta[pidIndex][i]->SetXTitle("E (GeV)");
            fhMCEDispEta[pidIndex][i]->SetYTitle("#sigma^{2}_{#eta #eta}");
            outputContainer->Add(fhMCEDispEta[pidIndex][i]);     
            
            fhMCEDispPhi[pidIndex][i]  = new TH2F (Form("h%sEDispPhiE_MC%s",pidParticle[pidIndex].Data(),pnamess[i].Data()),
                                                   Form("cluster from %s : %s like, #sigma^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i} - <#phi>)^{2} / #Sigma w_{i} vs E",ptypess[i].Data(),pidParticle[pidIndex].Data()),
                                                   nptbins,ptmin,ptmax, ssbins,ssmin,ssmax); 
            fhMCEDispPhi[pidIndex][i]->SetXTitle("E (GeV)");
            fhMCEDispPhi[pidIndex][i]->SetYTitle("#sigma^{2}_{#phi #phi}");
            outputContainer->Add(fhMCEDispPhi[pidIndex][i]);  
            
            fhMCESumEtaPhi[pidIndex][i]  = new TH2F (Form("h%sESumEtaPhiE_MC%s",pidParticle[pidIndex].Data(),pnamess[i].Data()),
                                                     Form("cluster from %s : %s like, #delta^{2}_{#eta #phi} = #Sigma w_{i}(#phi_{i} #eta_{i} ) / #Sigma w_{i} - <#phi><#eta> vs E",ptypess[i].Data(),pidParticle[pidIndex].Data()),  
                                                     nptbins,ptmin,ptmax, 2*ssbins,-ssmax,ssmax); 
            fhMCESumEtaPhi[pidIndex][i]->SetXTitle("E (GeV)");
            fhMCESumEtaPhi[pidIndex][i]->SetYTitle("#delta^{2}_{#eta #phi}");
            outputContainer->Add(fhMCESumEtaPhi[pidIndex][i]);
            
            fhMCEDispEtaPhiDiff[pidIndex][i]  = new TH2F (Form("h%sEDispEtaPhiDiffE_MC%s",pidParticle[pidIndex].Data(),pnamess[i].Data()),
                                                          Form("cluster from %s : %s like, #sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta} vs E",ptypess[i].Data(),pidParticle[pidIndex].Data()),  
                                                          nptbins,ptmin,ptmax,200,-10,10); 
            fhMCEDispEtaPhiDiff[pidIndex][i]->SetXTitle("E (GeV)");
            fhMCEDispEtaPhiDiff[pidIndex][i]->SetYTitle("#sigma^{2}_{#phi #phi}-#sigma^{2}_{#eta #eta}");
            outputContainer->Add(fhMCEDispEtaPhiDiff[pidIndex][i]);    
            
            fhMCESphericity[pidIndex][i]  = new TH2F (Form("h%sESphericity_MC%s",pidParticle[pidIndex].Data(),pnamess[i].Data()),
                                                      Form("cluster from %s : %s like, (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi}) vs E",ptypess[i].Data(),pidParticle[pidIndex].Data()),  
                                                      nptbins,ptmin,ptmax, 200,-1,1); 
            fhMCESphericity[pidIndex][i]->SetXTitle("E (GeV)");
            fhMCESphericity[pidIndex][i]->SetYTitle("s = (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi})");
            outputContainer->Add(fhMCESphericity[pidIndex][i]);
          }
          
        }// loop    
      }   
    }
    
    //if(IsCaloPIDOn() && pidIndex > 0) continue;
    
    fhNCellsE[pidIndex]  = new TH2F (Form("h%sNCellsE",pidParticle[pidIndex].Data()),
                                     Form("N cells in %s cluster vs E ",pidParticle[pidIndex].Data()),
                                     nptbins,ptmin,ptmax, nbins,nmin,nmax); 
    fhNCellsE[pidIndex]->SetXTitle("E (GeV)");
    fhNCellsE[pidIndex]->SetYTitle("# of cells in cluster");
    outputContainer->Add(fhNCellsE[pidIndex]);  
    
    fhNLME[pidIndex]  = new TH2F (Form("h%sNLME",pidParticle[pidIndex].Data()),
                                     Form("NLM in %s cluster vs E ",pidParticle[pidIndex].Data()),
                                     nptbins,ptmin,ptmax, 10,0,10);
    fhNLME[pidIndex]->SetXTitle("E (GeV)");
    fhNLME[pidIndex]->SetYTitle("# of cells in cluster");
    outputContainer->Add(fhNLME[pidIndex]);
    
    fhTimeE[pidIndex] = new TH2F(Form("h%sTimeE",pidParticle[pidIndex].Data()),
                                 Form("Time in %s cluster vs E ",pidParticle[pidIndex].Data())
                                 ,nptbins,ptmin,ptmax, tbins,tmin,tmax);
    fhTimeE[pidIndex]->SetXTitle("E (GeV)");
    fhTimeE[pidIndex]->SetYTitle(" t (ns)");
    outputContainer->Add(fhTimeE[pidIndex]);  
    
    fhMaxCellDiffClusterE[pidIndex]  = new TH2F (Form("h%sMaxCellDiffClusterE",pidParticle[pidIndex].Data()),
                                                 Form("%s: energy vs difference of cluster energy - max cell energy / cluster energy, good clusters",pidParticle[pidIndex].Data()),
                                                 nptbins,ptmin,ptmax, 500,0,1.); 
    fhMaxCellDiffClusterE[pidIndex]->SetXTitle("E_{cluster} (GeV) ");
    fhMaxCellDiffClusterE[pidIndex]->SetYTitle("(E_{cluster} - E_{cell max})/ E_{cluster}");
    outputContainer->Add(fhMaxCellDiffClusterE[pidIndex]);  
    
    fhE[pidIndex]  = new TH1F(Form("h%sE",pidParticle[pidIndex].Data()),
                              Form("Number of %s over calorimeter vs energy",pidParticle[pidIndex].Data()),
                              nptbins,ptmin,ptmax); 
    fhE[pidIndex]->SetYTitle("N");
    fhE[pidIndex]->SetXTitle("E_{#gamma}(GeV)");
    outputContainer->Add(fhE[pidIndex]) ;   
    
    fhPt[pidIndex]  = new TH1F(Form("h%sPtElectron",pidParticle[pidIndex].Data()),
                               Form("Number of %s over calorimeter vs p_{T}",pidParticle[pidIndex].Data()),
                               nptbins,ptmin,ptmax); 
    fhPt[pidIndex]->SetYTitle("N");
    fhPt[pidIndex]->SetXTitle("p_{T #gamma}(GeV/c)");
    outputContainer->Add(fhPt[pidIndex]) ; 
    
    fhPhi[pidIndex]  = new TH2F(Form("h%sPhiElectron",pidParticle[pidIndex].Data()),
                                Form("%s: #phi vs p_{T}",pidParticle[pidIndex].Data()),
                                nptbins,ptmin,ptmax,nphibins,phimin,phimax); 
    fhPhi[pidIndex]->SetYTitle("#phi (rad)");
    fhPhi[pidIndex]->SetXTitle("p_{T #gamma} (GeV/c)");
    outputContainer->Add(fhPhi[pidIndex]) ; 
    
    fhEta[pidIndex]  = new TH2F(Form("h%sEta",pidParticle[pidIndex].Data()),
                                Form("%s: #eta vs p_{T}",pidParticle[pidIndex].Data()),
                                nptbins,ptmin,ptmax,netabins,etamin,etamax); 
    fhEta[pidIndex]->SetYTitle("#eta");
    fhEta[pidIndex]->SetXTitle("p_{T #gamma} (GeV/c)");
    outputContainer->Add(fhEta[pidIndex]) ;
    
    fhEtaPhi[pidIndex]  = new TH2F(Form("h%sEtaPhi",pidParticle[pidIndex].Data()),
                                   Form("%s: #eta vs #phi",pidParticle[pidIndex].Data()),
                                   netabins,etamin,etamax,nphibins,phimin,phimax); 
    fhEtaPhi[pidIndex]->SetYTitle("#phi (rad)");
    fhEtaPhi[pidIndex]->SetXTitle("#eta");
    outputContainer->Add(fhEtaPhi[pidIndex]) ;
    if(GetMinPt() < 0.5)
    {
      fhEtaPhi05[pidIndex]  = new TH2F(Form("h%sEtaPhi05",pidParticle[pidIndex].Data()),
                                       Form("%s: #eta vs #phi, E > 0.5",pidParticle[pidIndex].Data()),
                                       netabins,etamin,etamax,nphibins,phimin,phimax); 
      fhEtaPhi05[pidIndex]->SetYTitle("#phi (rad)");
      fhEtaPhi05[pidIndex]->SetXTitle("#eta");
      outputContainer->Add(fhEtaPhi05[pidIndex]) ;
    }
    
    
    if(IsDataMC())
    {      
      for(Int_t i = 0; i < fNOriginHistograms; i++)
      { 
        fhMCE[pidIndex][i]  = new TH1F(Form("h%sE_MC%s",pidParticle[pidIndex].Data(),pname[i].Data()),
                                       Form("%s like cluster from %s : E ",pidParticle[pidIndex].Data(),ptype[i].Data()),
                                       nptbins,ptmin,ptmax); 
        fhMCE[pidIndex][i]->SetXTitle("E (GeV)");
        outputContainer->Add(fhMCE[pidIndex][i]) ; 
        
        fhMCPt[pidIndex][i]  = new TH1F(Form("h%sPt_MC%s",pidParticle[pidIndex].Data(),pname[i].Data()),
                                        Form("%s like cluster from %s : p_{T} ",pidParticle[pidIndex].Data(),ptype[i].Data()),
                                        nptbins,ptmin,ptmax); 
        fhMCPt[pidIndex][i]->SetXTitle("p_{T} (GeV/c)");
        outputContainer->Add(fhMCPt[pidIndex][i]) ;
        
        fhMCEta[pidIndex][i]  = new TH2F(Form("h%sEta_MC%s",pidParticle[pidIndex].Data(),pname[i].Data()),
                                         Form("%s like cluster from %s : #eta ",pidParticle[pidIndex].Data(),ptype[i].Data()),
                                         nptbins,ptmin,ptmax,netabins,etamin,etamax); 
        fhMCEta[pidIndex][i]->SetYTitle("#eta");
        fhMCEta[pidIndex][i]->SetXTitle("E (GeV)");
        outputContainer->Add(fhMCEta[pidIndex][i]) ;
        
        fhMCPhi[pidIndex][i]  = new TH2F(Form("h%sPhi_MC%s",pidParticle[pidIndex].Data(),pname[i].Data()),
                                         Form("%s like cluster from %s : #phi ",pidParticle[pidIndex].Data(),ptype[i].Data()),
                                         nptbins,ptmin,ptmax,nphibins,phimin,phimax); 
        fhMCPhi[pidIndex][i]->SetYTitle("#phi (rad)");
        fhMCPhi[pidIndex][i]->SetXTitle("E (GeV)");
        outputContainer->Add(fhMCPhi[pidIndex][i]) ;
        
        
        fhMCDeltaE[pidIndex][i]  = new TH2F (Form("h%sDeltaE_MC%s",pidParticle[pidIndex].Data(),pname[i].Data()),
                                             Form("%s like MC - Reco E from %s",pidParticle[pidIndex].Data(),pname[i].Data()), 
                                             nptbins,ptmin,ptmax, 200,-50,50); 
        fhMCDeltaE[pidIndex][i]->SetXTitle("#Delta E (GeV)");
        outputContainer->Add(fhMCDeltaE[pidIndex][i]);
        
        fhMC2E[pidIndex][i]  = new TH2F (Form("h%s2E_MC%s",pidParticle[pidIndex].Data(),pname[i].Data()),
                                         Form("%s like E distribution, reconstructed vs generated from %s",pidParticle[pidIndex].Data(),pname[i].Data()), 
                                         nptbins,ptmin,ptmax,nptbins,ptmin,ptmax); 
        fhMC2E[pidIndex][i]->SetXTitle("E_{rec} (GeV)");
        fhMC2E[pidIndex][i]->SetYTitle("E_{gen} (GeV)");
        outputContainer->Add(fhMC2E[pidIndex][i]);          
        
      }
    } // MC
    
  }// pid Index
  
  
  if(fFillSSHistograms)
  {
    if(IsDataMC())
    {
      if(!GetReader()->IsEmbeddedClusterSelectionOn())
      {
        fhMCElectronELambda0NoOverlap  = new TH2F("hELambda0_MCElectron_NoOverlap",
                                                  "cluster from Electron : E vs #lambda_{0}^{2}",
                                                  nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); 
        fhMCElectronELambda0NoOverlap->SetYTitle("#lambda_{0}^{2}");
        fhMCElectronELambda0NoOverlap->SetXTitle("E (GeV)");
        outputContainer->Add(fhMCElectronELambda0NoOverlap) ; 
        
        fhMCElectronELambda0TwoOverlap  = new TH2F("hELambda0_MCElectron_TwoOverlap",
                                                   "cluster from Electron : E vs #lambda_{0}^{2}",
                                                   nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); 
        fhMCElectronELambda0TwoOverlap->SetYTitle("#lambda_{0}^{2}");
        fhMCElectronELambda0TwoOverlap->SetXTitle("E (GeV)");
        outputContainer->Add(fhMCElectronELambda0TwoOverlap) ; 
        
        fhMCElectronELambda0NOverlap  = new TH2F("hELambda0_MCElectron_NOverlap",
                                                 "cluster from Electron : E vs #lambda_{0}^{2}",
                                                 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); 
        fhMCElectronELambda0NOverlap->SetYTitle("#lambda_{0}^{2}");
        fhMCElectronELambda0NOverlap->SetXTitle("E (GeV)");
        outputContainer->Add(fhMCElectronELambda0NOverlap) ; 
        
      } //No embedding     
      
      //Fill histograms to check shape of embedded clusters
      if(GetReader()->IsEmbeddedClusterSelectionOn())
      {
        
        fhEmbeddedSignalFractionEnergy  = new TH2F("hEmbeddedSignal_FractionEnergy",
                                                   "Energy Fraction of embedded signal versus cluster energy",
                                                   nptbins,ptmin,ptmax,100,0.,1.); 
        fhEmbeddedSignalFractionEnergy->SetYTitle("Fraction");
        fhEmbeddedSignalFractionEnergy->SetXTitle("E (GeV)");
        outputContainer->Add(fhEmbeddedSignalFractionEnergy) ; 
        
        fhEmbedElectronELambda0FullSignal  = new TH2F("hELambda0_EmbedElectron_FullSignal",
                                                      "cluster from Electron embedded with more than 90% energy in cluster : E vs #lambda_{0}^{2}",
                                                      nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); 
        fhEmbedElectronELambda0FullSignal->SetYTitle("#lambda_{0}^{2}");
        fhEmbedElectronELambda0FullSignal->SetXTitle("E (GeV)");
        outputContainer->Add(fhEmbedElectronELambda0FullSignal) ; 
        
        fhEmbedElectronELambda0MostlySignal  = new TH2F("hELambda0_EmbedElectron_MostlySignal",
                                                        "cluster from Electron embedded with 50% to 90% energy in cluster : E vs #lambda_{0}^{2}",
                                                        nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); 
        fhEmbedElectronELambda0MostlySignal->SetYTitle("#lambda_{0}^{2}");
        fhEmbedElectronELambda0MostlySignal->SetXTitle("E (GeV)");
        outputContainer->Add(fhEmbedElectronELambda0MostlySignal) ; 
        
        fhEmbedElectronELambda0MostlyBkg  = new TH2F("hELambda0_EmbedElectron_MostlyBkg",
                                                     "cluster from Electron embedded with 10% to 50% energy in cluster : E vs #lambda_{0}^{2}",
                                                     nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); 
        fhEmbedElectronELambda0MostlyBkg->SetYTitle("#lambda_{0}^{2}");
        fhEmbedElectronELambda0MostlyBkg->SetXTitle("E (GeV)");
        outputContainer->Add(fhEmbedElectronELambda0MostlyBkg) ; 
        
        fhEmbedElectronELambda0FullBkg  = new TH2F("hELambda0_EmbedElectron_FullBkg",
                                                   "cluster from Electronm embedded with 0% to 10% energy in cluster : E vs #lambda_{0}^{2}",
                                                   nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); 
        fhEmbedElectronELambda0FullBkg->SetYTitle("#lambda_{0}^{2}");
        fhEmbedElectronELambda0FullBkg->SetXTitle("E (GeV)");
        outputContainer->Add(fhEmbedElectronELambda0FullBkg) ; 
        
        
      }// embedded histograms
      
    }//Histos with MC
    
  }// Fill SS MC histograms
  
  return outputContainer ;
  
}

//_________________________
void AliAnaElectron::Init()
{
  // Init
  
  // Do some checks
 
  if       ( GetCalorimeter() == kPHOS  && !GetReader()->IsPHOSSwitchedOn()  && NewOutputAOD() )
    AliFatal("STOP: You want to use PHOS in analysis but it is not read!! \n!!Check the configuration file!!");
  else  if ( GetCalorimeter() == kEMCAL && !GetReader()->IsEMCALSwitchedOn() && NewOutputAOD() )
    AliFatal("STOP: You want to use EMCAL in analysis but it is not read!! \n!!Check the configuration file!!");
  
}

//___________________________________
void AliAnaElectron::InitParameters()
{
  
  //Initialize the parameters of the analysis.
  AddToHistogramsName("AnaElectron_");
  
  fMinDist     = 2.;
  fMinDist2    = 4.;
  fMinDist3    = 5.;
	
  fTimeCutMin  = -1;
  fTimeCutMax  = 9999999;
  fNCellsCut   = 0;
  
  fdEdxMin     = 76.; // for LHC11a, but for LHC11c pass1 56.                
  fdEdxMax     = 85.; // for LHC11a, but for LHC11c pass1 64.   

  fEOverPMin   = 0.8; // for LHC11a, but for LHC11c pass1 0.9                  
  fEOverPMax   = 1.2; // for LHC11a and LHC11c pass1  
  
}

//_________________________________________
void  AliAnaElectron::MakeAnalysisFillAOD() 
{
  //Do photon analysis and fill aods
  
  //Get the vertex 
  Double_t v[3] = {0,0,0}; //vertex ;
  GetReader()->GetVertex(v);
  
  //Select the Calorimeter of the photon
  TObjArray * pl = 0x0; 
  if      (GetCalorimeter() == kPHOS ) pl = GetPHOSClusters ();
  else if (GetCalorimeter() == kEMCAL) pl = GetEMCALClusters();
  
  if(!pl)
  {
    AliWarning(Form("TObjArray with %s clusters is NULL!",GetCalorimeterString().Data()));
    return;
  }
  
  //Init arrays, variables, get number of clusters
  Int_t nCaloClusters = pl->GetEntriesFast();
  //List to be used in conversion analysis, to tag the cluster as candidate for conversion
  
  AliDebug(1,Form("Input %s cluster entries %d", GetCalorimeterString().Data(), nCaloClusters));
  
  //----------------------------------------------------
  // Fill AOD with PHOS/EMCAL AliAODPWG4Particle objects
  //----------------------------------------------------
  // Loop on clusters
  for(Int_t icalo = 0; icalo < nCaloClusters; icalo++)
  {
	  AliVCluster * calo =  (AliVCluster*) (pl->At(icalo));	
    //printf("calo %d, %f\n",icalo,calo->E());
    
    //Get the index where the cluster comes, to retrieve the corresponding vertex
    Int_t evtIndex = 0 ; 
    if (GetMixedEvent())
    {
      evtIndex=GetMixedEvent()->EventIndexForCaloCluster(calo->GetID()) ; 
      //Get the vertex and check it is not too large in z
      if(TMath::Abs(GetVertex(evtIndex)[2])> GetZvertexCut()) continue;
    }
    
    //Cluster selection, not charged, with photon id and in fiducial cut	  
    if(GetReader()->GetDataType() != AliCaloTrackReader::kMC)
    {
      calo->GetMomentum(fMomentum,GetVertex(evtIndex)) ;
    }//Assume that come from vertex in straight line
    else
    {
      Double_t vertex[]={0,0,0};
      calo->GetMomentum(fMomentum,vertex) ;
    }
    
    //--------------------------------------
    // Cluster selection
    //--------------------------------------
    AliVCaloCells* cells    = 0;
    if(GetCalorimeter() == kEMCAL) cells = GetEMCALCells();
    else                           cells = GetPHOSCells();
    
    Int_t nMaxima = GetCaloUtils()->GetNumberOfLocalMaxima(calo, cells); // NLM
    if(!ClusterSelected(calo,nMaxima)) continue;
    
    //-------------------------------------
    // PID selection via dE/dx
    //-------------------------------------
    
    AliVTrack *track = GetCaloUtils()->GetMatchedTrack(calo, GetReader()->GetInputEvent());

    if(!track)
    {
      AliWarning("Null track");
      continue;
    }
    
    //printf("track dedx %f, p %f, cluster E %f\n",track->GetTPCsignal(),track->P(),calo->E());
    Float_t dEdx = track->GetTPCsignal();
    Float_t eOverp = calo->E()/track->P();
    
    fhdEdxvsE->Fill(calo->E(), dEdx);
    fhdEdxvsP->Fill(track->P(),dEdx);
    
    if( eOverp < fEOverPMax && eOverp > fEOverPMin)
    {
      fhdEdxvsECutEOverP  ->Fill(calo->E(), dEdx);
      fhdEdxvsPCutEOverP  ->Fill(track->P(),dEdx);
    }
    
    // Apply a mild cut on the cluster SS and check the value of dEdX and EOverP
    Float_t m02 = calo->GetM02();
    if(m02 > 0.1 && m02 < 0.4)
    {
      fhdEdxvsECutM02  ->Fill(calo->E(), dEdx);
      fhdEdxvsPCutM02  ->Fill(track->P(),dEdx);
      fhEOverPvsECutM02->Fill(calo->E(),  eOverp);
      fhEOverPvsPCutM02->Fill(track->P(), eOverp);
    }
    
    Int_t pid  = AliCaloPID::kChargedHadron;
    
    if( dEdx < fdEdxMax && dEdx > fdEdxMin)
    {
      fhEOverPvsE->Fill(calo->E(),  eOverp);
      fhEOverPvsP->Fill(track->P(), eOverp);
      
      if(m02 > 0.1 && m02 < 0.4)
      {
        fhEOverPvsECutM02CutdEdx->Fill(calo->E(),  eOverp);
        fhEOverPvsPCutM02CutdEdx->Fill(track->P(), eOverp);
      }
      
      if( eOverp < fEOverPMax && eOverp > fEOverPMin)
      {
        pid  = AliCaloPID::kElectron;
      } // E/p
      
    }// dE/dx
    
    Int_t pidIndex = 0;// Electron
    if(pid == AliCaloPID::kChargedHadron) pidIndex = 1;
  
    //--------------------------------------------------------------------------------------
    // Play with the MC stack if available
    //--------------------------------------------------------------------------------------
    
    //Check origin of the candidates
    Int_t tag = -1 ;
    if(IsDataMC())
    {
      tag = GetMCAnalysisUtils()->CheckOrigin(calo->GetLabels(),calo->GetNLabels(),GetReader(),GetCalorimeter());
      
      AliDebug(1,Form("Origin of candidate, bit map %d",tag));
         
      if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton) && fhMCE[pidIndex][kmcPhoton])
      {
        fhMCdEdxvsE  [kmcPhoton]->Fill(calo ->E(), dEdx);
        fhMCdEdxvsP  [kmcPhoton]->Fill(track->P(), dEdx);
        fhMCEOverPvsE[kmcPhoton]->Fill(calo ->E(), eOverp);
        fhMCEOverPvsP[kmcPhoton]->Fill(track->P(), eOverp);
        
        if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion) && fhMCE[pidIndex][kmcConversion])
        {
          fhMCdEdxvsE  [kmcConversion]->Fill(calo ->E(), dEdx);
          fhMCdEdxvsP  [kmcConversion]->Fill(track->P(), dEdx);
          fhMCEOverPvsE[kmcConversion]->Fill(calo ->E(), eOverp);
          fhMCEOverPvsP[kmcConversion]->Fill(track->P(), eOverp);
        }
        else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0Decay) &&
                !GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0) && fhMCE[pidIndex][kmcPi0Decay])
        {
          fhMCdEdxvsE  [kmcPi0Decay]->Fill(calo ->E(), dEdx);
          fhMCdEdxvsP  [kmcPi0Decay]->Fill(track->P(), dEdx);
          fhMCEOverPvsE[kmcPi0Decay]->Fill(calo ->E(), eOverp);
          fhMCEOverPvsP[kmcPi0Decay]->Fill(track->P(), eOverp);
        }
        else if( (GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEtaDecay) ||
                  GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCOtherDecay) ) && fhMCE[pidIndex][kmcOtherDecay])
        {
          fhMCdEdxvsE  [kmcOtherDecay]->Fill(calo ->E(), dEdx);
          fhMCdEdxvsP  [kmcOtherDecay]->Fill(track->P(), dEdx);
          fhMCEOverPvsE[kmcOtherDecay]->Fill(calo ->E(), eOverp);
          fhMCEOverPvsP[kmcOtherDecay]->Fill(track->P(), eOverp);
        }
        else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0) && fhMCE  [pidIndex][kmcPi0])
        {
          fhMCdEdxvsE  [kmcPi0]->Fill(calo ->E(), dEdx);
          fhMCdEdxvsP  [kmcPi0]->Fill(track->P(), dEdx);
          fhMCEOverPvsE[kmcPi0]->Fill(calo ->E(), eOverp);
          fhMCEOverPvsP[kmcPi0]->Fill(track->P(), eOverp);
        }
        else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEta) && fhMCE[pidIndex][kmcEta])
        {
          fhMCdEdxvsE  [kmcEta]->Fill(calo ->E(), dEdx);
          fhMCdEdxvsP  [kmcEta]->Fill(track->P(), dEdx);
          fhMCEOverPvsE[kmcEta]->Fill(calo ->E(), eOverp);
          fhMCEOverPvsP[kmcEta]->Fill(track->P(), eOverp);
        }
      }
      else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCAntiNeutron) && fhMCE[pidIndex][kmcAntiNeutron])
      {
        fhMCdEdxvsE  [kmcAntiNeutron]->Fill(calo ->E(), dEdx);
        fhMCdEdxvsP  [kmcAntiNeutron]->Fill(track->P(), dEdx);
        fhMCEOverPvsE[kmcAntiNeutron]->Fill(calo ->E(), eOverp);
        fhMCEOverPvsP[kmcAntiNeutron]->Fill(track->P(), eOverp);
      }
      else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCAntiProton) && fhMCE[pidIndex][kmcAntiProton])
      {
        fhMCdEdxvsE  [kmcAntiProton]->Fill(calo ->E(), dEdx);
        fhMCdEdxvsP  [kmcAntiProton]->Fill(track->P(), dEdx);
        fhMCEOverPvsE[kmcAntiProton]->Fill(calo ->E(), eOverp);
        fhMCEOverPvsP[kmcAntiProton]->Fill(track->P(), eOverp);
      }
      else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCElectron) && fhMCE[pidIndex][kmcElectron])
      {
        fhMCdEdxvsE  [kmcElectron]->Fill(calo ->E(), dEdx);
        fhMCdEdxvsP  [kmcElectron]->Fill(track->P(), dEdx);
        fhMCEOverPvsE[kmcElectron]->Fill(calo ->E(), eOverp);
        fhMCEOverPvsP[kmcElectron]->Fill(track->P(), eOverp);
      }
      else if( fhMCE[pidIndex][kmcOther])
      {
        fhMCdEdxvsE  [kmcOther]->Fill(calo ->E(), dEdx);
        fhMCdEdxvsP  [kmcOther]->Fill(track->P(), dEdx);
        fhMCEOverPvsE[kmcOther]->Fill(calo ->E(), eOverp);
        fhMCEOverPvsP[kmcOther]->Fill(track->P(), eOverp);
      }
    }// set MC tag and fill Histograms with MC
    
    //---------------------------------
    //Fill some shower shape histograms
    //---------------------------------

    FillShowerShapeHistograms(calo,tag,pid);
  
    if(pid == AliCaloPID::kElectron)
      WeightHistograms(calo);
    
    //-----------------------------------------
    // PID Shower Shape selection or bit setting
    //-----------------------------------------
    
    // Data, PID check on
    if(IsCaloPIDOn())
    {
      // Get most probable PID, 2 options check bayesian PID weights or redo PID
      // By default, redo PID
    
      if(GetCaloPID()->GetIdentifiedParticleType(calo)!=AliCaloPID::kPhoton)
      {
        if(fAODParticle == AliCaloPID::kElectron)
          continue;
        
        if(fAODParticle == 0 )
          pid = AliCaloPID::kChargedHadron ;
      }
      
      AliDebug(1,Form("PDG of identified particle %d",pid));
    }
        
    AliDebug(1,Form("Photon selection cuts passed: pT %3.2f, pdg %d",fMomentum.Pt(),pid));
    
    Float_t maxCellFraction = 0;
    Int_t absID = GetCaloUtils()->GetMaxEnergyCell(cells, calo,maxCellFraction);
    if ( absID >= 0 )fhMaxCellDiffClusterE[pidIndex]->Fill(fMomentum.E(),maxCellFraction);
    
    fhNCellsE[pidIndex] ->Fill(fMomentum.E(),calo->GetNCells());
    fhNLME   [pidIndex] ->Fill(fMomentum.E(),nMaxima);
    fhTimeE  [pidIndex] ->Fill(fMomentum.E(),calo->GetTOF()*1.e9);
    
    //----------------------------
    // Create AOD for analysis
    //----------------------------

    //Add AOD with electron/hadron object to aod branch
    if ( pid == fAODParticle || fAODParticle == 0 ) 
    {
      AliAODPWG4Particle aodpart = AliAODPWG4Particle(fMomentum);
      
      //...............................................
      //Set the indeces of the original caloclusters (MC, ID), and calorimeter
      Int_t label = calo->GetLabel();
      aodpart.SetLabel(label);
      aodpart.SetCaloLabel (calo ->GetID(),-1);
      aodpart.SetTrackLabel(track->GetID(),-1);

      aodpart.SetDetectorTag(GetCalorimeter());
      //printf("Index %d, Id %d, iaod %d\n",icalo, calo->GetID(),GetOutputAODBranch()->GetEntriesFast());
      
      aodpart.SetM02(calo->GetM02());
      aodpart.SetNLM(nMaxima);
      aodpart.SetTime(calo->GetTOF()*1e9);
      aodpart.SetNCells(calo->GetNCells());
      Int_t nSM = GetModuleNumber(calo);
      aodpart.SetSModNumber(nSM);
      
      //...............................................
      //Set bad channel distance bit
      Double_t distBad=calo->GetDistanceToBadChannel() ; //Distance to bad channel
      if     (distBad > fMinDist3) aodpart.SetDistToBad(2) ;
      else if(distBad > fMinDist2) aodpart.SetDistToBad(1) ;
      else                         aodpart.SetDistToBad(0) ;
      //printf("DistBad %f Bit %d\n",distBad, aodpart.DistToBad());

      // MC tag
      aodpart.SetTag(tag);
      
      // PID tag
      aodpart.SetIdentifiedParticleType(pid);
      
      AddAODParticle(aodpart);
    }

  }//loop
  
  AliDebug(1,Form("End fill AODs, with %d entries",GetOutputAODBranch()->GetEntriesFast()));
  
}

//________________________________________________
void  AliAnaElectron::MakeAnalysisFillHistograms() 
{
  //Fill histograms
  
  //-------------------------------------------------------------------
  // Access MC information in stack if requested, check that it exists.	
  AliStack         * stack       = 0x0;
  TParticle        * primary     = 0x0;   
  TClonesArray     * mcparticles = 0x0;
  AliAODMCParticle * aodprimary  = 0x0; 
  
  if(IsDataMC())
  {
    if(GetReader()->ReadStack())
    {
      stack =  GetMCStack() ;
      if ( !stack )
      {
        AliFatal("Stack not available, is the MC handler called? STOP");
        return;
      }
    }
    else if(GetReader()->ReadAODMCParticles())
    {
      //Get the list of MC particles
      mcparticles = GetReader()->GetAODMCParticles();
      if ( !mcparticles )
      {
        AliFatal("Standard MCParticles not available! STOP");
        return;
      }
    }
  }// is data and MC
  
  
  // Get vertex
  Double_t v[3] = {0,0,0}; //vertex ;
  GetReader()->GetVertex(v);
  //fhVertex->Fill(v[0],v[1],v[2]);  
  if(TMath::Abs(v[2]) > GetZvertexCut()) return ; // done elsewhere for Single Event analysis, but there for mixed event
  
  //----------------------------------
  //Loop on stored AOD photons
  Int_t naod = GetOutputAODBranch()->GetEntriesFast();
  AliDebug(1,Form("AOD branch entries %d", naod));
  
  for(Int_t iaod = 0; iaod < naod ; iaod++)
  {
    AliAODPWG4Particle* ph =  (AliAODPWG4Particle*) (GetOutputAODBranch()->At(iaod));
    Int_t pdg = ph->GetIdentifiedParticleType();

    Int_t pidIndex = 0;// Electron
    if     (pdg == AliCaloPID::kElectron)      pidIndex = 0;
    else if(pdg == AliCaloPID::kChargedHadron) pidIndex = 1;
    else                                       continue    ;
          
    if(((Int_t) ph->GetDetectorTag()) != GetCalorimeter()) continue;
    
    AliDebug(1,Form("ID Electron: pt %f, phi %f, eta %f", ph->Pt(),ph->Phi(),ph->Eta())) ;
    
    //................................
    //Fill photon histograms 
    Float_t ptcluster  = ph->Pt();
    Float_t phicluster = ph->Phi();
    Float_t etacluster = ph->Eta();
    Float_t ecluster   = ph->E();
    
    fhE[pidIndex]   ->Fill(ecluster);
    fhPt[pidIndex]  ->Fill(ptcluster);
    fhPhi[pidIndex] ->Fill(ptcluster,phicluster);
    fhEta[pidIndex] ->Fill(ptcluster,etacluster);    
    if     (ecluster   > 0.5) fhEtaPhi[pidIndex]  ->Fill(etacluster, phicluster);
    else if(GetMinPt() < 0.5) fhEtaPhi05[pidIndex]->Fill(etacluster, phicluster);
  
    //.......................................
    //Play with the MC data if available
    if(IsDataMC())
    {
      //....................................................................
      // Access MC information in stack if requested, check that it exists.
      Int_t label =ph->GetLabel();
      if(label < 0)
      {
        AliDebug(1,Form("*** bad label ***:  label %d", label));
        continue;
      }
      
      Float_t eprim   = 0;
      //Float_t ptprim  = 0;
      if( GetReader()->ReadStack() )
      {
        if(label >=  stack->GetNtrack())
        {
          AliDebug(1,Form("*** large label ***:  label %d, n tracks %d", label, stack->GetNtrack()));
          continue ;
        }
        
        primary = stack->Particle(label);
        if(!primary)
        {
          AliWarning(Form("*** no primary ***:  label %d", label));
          continue ;
        }
        
        eprim   = primary->Energy();
        //ptprim  = primary->Pt();
        
      }
      else if( GetReader()->ReadAODMCParticles() )
      {
        if(label >=  mcparticles->GetEntriesFast())
        {
          AliDebug(1,Form("*** large label ***:  label %d, n tracks %d",label, mcparticles->GetEntriesFast()));
          continue ;
        }
        //Get the particle
        aodprimary = (AliAODMCParticle*) mcparticles->At(label);
        
        if(!aodprimary)
        {
          AliWarning(Form("*** no primary ***:  label %d", label));
          continue;
        }
        
        eprim   = aodprimary->E();
        //ptprim  = aodprimary->Pt();
      }
      
      Int_t tag =ph->GetTag();
      
      if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton) && fhMCE[pidIndex][kmcPhoton])
      {
        fhMCE  [pidIndex][kmcPhoton] ->Fill(ecluster);
        fhMCPt [pidIndex][kmcPhoton] ->Fill(ptcluster);
        fhMCPhi[pidIndex][kmcPhoton] ->Fill(ecluster,phicluster);
        fhMCEta[pidIndex][kmcPhoton] ->Fill(ecluster,etacluster);
        
        fhMC2E[pidIndex][kmcPhoton]     ->Fill(ecluster, eprim); 
        fhMCDeltaE[pidIndex][kmcPhoton] ->Fill(ecluster,eprim-ecluster);
        
        if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion) && fhMCE[pidIndex][kmcConversion])
        {
          fhMCE  [pidIndex][kmcConversion] ->Fill(ecluster);
          fhMCPt [pidIndex][kmcConversion] ->Fill(ptcluster);
          fhMCPhi[pidIndex][kmcConversion] ->Fill(ecluster,phicluster);
          fhMCEta[pidIndex][kmcConversion] ->Fill(ecluster,etacluster);
          
          fhMC2E[pidIndex][kmcConversion]     ->Fill(ecluster, eprim);
          fhMCDeltaE[pidIndex][kmcConversion] ->Fill(ecluster,eprim-ecluster);
          
        }			        
        else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0Decay) && 
                !GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0) && fhMCE[pidIndex][kmcPi0Decay])
        {
          fhMCE  [pidIndex][kmcPi0Decay] ->Fill(ecluster);
          fhMCPt [pidIndex][kmcPi0Decay] ->Fill(ptcluster);
          fhMCPhi[pidIndex][kmcPi0Decay] ->Fill(ecluster,phicluster);
          fhMCEta[pidIndex][kmcPi0Decay] ->Fill(ecluster,etacluster);
          
          fhMC2E[pidIndex][kmcPi0Decay]     ->Fill(ecluster, eprim);
          fhMCDeltaE[pidIndex][kmcPi0Decay] ->Fill(ecluster,eprim-ecluster);
        }
        else if( (GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEtaDecay) || 
                  GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCOtherDecay) ) && fhMCE[pidIndex][kmcOtherDecay])
        {
          fhMCE  [pidIndex][kmcOtherDecay] ->Fill(ecluster);
          fhMCPt [pidIndex][kmcOtherDecay] ->Fill(ptcluster);
          fhMCPhi[pidIndex][kmcOtherDecay] ->Fill(ecluster,phicluster);
          fhMCEta[pidIndex][kmcOtherDecay] ->Fill(ecluster,etacluster);
          
          fhMC2E[pidIndex][kmcOtherDecay]     ->Fill(ecluster, eprim);
          fhMCDeltaE[pidIndex][kmcOtherDecay] ->Fill(ecluster,eprim-ecluster);          
        }
        else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0) && fhMCE  [pidIndex][kmcPi0])
        {
          fhMCE  [pidIndex][kmcPi0] ->Fill(ecluster);
          fhMCPt [pidIndex][kmcPi0] ->Fill(ptcluster);
          fhMCPhi[pidIndex][kmcPi0] ->Fill(ecluster,phicluster);
          fhMCEta[pidIndex][kmcPi0] ->Fill(ecluster,etacluster);
          
          fhMC2E[pidIndex][kmcPi0]     ->Fill(ecluster, eprim);
          fhMCDeltaE[pidIndex][kmcPi0] ->Fill(ecluster,eprim-ecluster);
          
        } 
        else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEta) && fhMCE[pidIndex][kmcEta])
        {
          fhMCE  [pidIndex][kmcEta] ->Fill(ecluster);
          fhMCPt [pidIndex][kmcEta] ->Fill(ptcluster);
          fhMCPhi[pidIndex][kmcEta] ->Fill(ecluster,phicluster);
          fhMCEta[pidIndex][kmcEta] ->Fill(ecluster,etacluster);
          
          fhMC2E[pidIndex][kmcEta]     ->Fill(ecluster, eprim);
          fhMCDeltaE[pidIndex][kmcEta] ->Fill(ecluster,eprim-ecluster);
          
        }      
      }
      else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCAntiNeutron) && fhMCE[pidIndex][kmcAntiNeutron])
      {
        fhMCE  [pidIndex][kmcAntiNeutron] ->Fill(ecluster);
        fhMCPt [pidIndex][kmcAntiNeutron] ->Fill(ptcluster);
        fhMCPhi[pidIndex][kmcAntiNeutron] ->Fill(ecluster,phicluster);
        fhMCEta[pidIndex][kmcAntiNeutron] ->Fill(ecluster,etacluster);
        
        fhMC2E[pidIndex][kmcAntiNeutron]     ->Fill(ecluster, eprim);
        fhMCDeltaE[pidIndex][kmcAntiNeutron] ->Fill(ecluster,eprim-ecluster);
        
      }
      else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCAntiProton) && fhMCE[pidIndex][kmcAntiProton])
      {
        fhMCE  [pidIndex][kmcAntiProton] ->Fill(ecluster);
        fhMCPt [pidIndex][kmcAntiProton] ->Fill(ptcluster);
        fhMCPhi[pidIndex][kmcAntiProton] ->Fill(ecluster,phicluster);
        fhMCEta[pidIndex][kmcAntiProton] ->Fill(ecluster,etacluster);

        fhMC2E[pidIndex][kmcAntiProton]     ->Fill(ecluster, eprim);
        fhMCDeltaE[pidIndex][kmcAntiProton] ->Fill(ecluster,eprim-ecluster);
        
      } 
      else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCElectron) && fhMCE[pidIndex][kmcElectron])
      {
        fhMCE  [pidIndex][kmcElectron] ->Fill(ecluster);
        fhMCPt [pidIndex][kmcElectron] ->Fill(ptcluster);
        fhMCPhi[pidIndex][kmcElectron] ->Fill(ecluster,phicluster);
        fhMCEta[pidIndex][kmcElectron] ->Fill(ecluster,etacluster);
        
        fhMC2E[pidIndex][kmcElectron]     ->Fill(ecluster, eprim);
        fhMCDeltaE[pidIndex][kmcElectron] ->Fill(ecluster,eprim-ecluster);
        
      }     
      else if( fhMCE[pidIndex][kmcOther])
      {
        fhMCE  [pidIndex][kmcOther] ->Fill(ecluster);
        fhMCPt [pidIndex][kmcOther] ->Fill(ptcluster);
        fhMCPhi[pidIndex][kmcOther] ->Fill(ecluster,phicluster);
        fhMCEta[pidIndex][kmcOther] ->Fill(ecluster,etacluster);
        
        fhMC2E[pidIndex][kmcOther]     ->Fill(ecluster, eprim);
        fhMCDeltaE[pidIndex][kmcOther] ->Fill(ecluster,eprim-ecluster);
        
      }
      
    }//Histograms with MC
    
  }// aod loop
  
}

//____________________________________________________
void AliAnaElectron::Print(const Option_t * opt) const
{
  //Print some relevant parameters set for the analysis
  
  if(! opt)
    return;
  
  printf("**** Print %s %s ****\n", GetName(), GetTitle() ) ;
  AliAnaCaloTrackCorrBaseClass::Print(" ");

  printf("Calorimeter            =     %s\n", GetCalorimeterString().Data()) ;
  printf(" %2.2f < dEdx < %2.2f  \n",fdEdxMin,fdEdxMax) ;
  printf(" %2.2f <  E/P < %2.2f  \n",fEOverPMin,fEOverPMax) ;
  printf("Min Distance to Bad Channel   = %2.1f\n",fMinDist);
  printf("Min Distance to Bad Channel 2 = %2.1f\n",fMinDist2);
  printf("Min Distance to Bad Channel 3 = %2.1f\n",fMinDist3);
  printf("Time Cut: %3.1f < TOF  < %3.1f\n", fTimeCutMin, fTimeCutMax);
  printf("Number of cells in cluster is        > %d \n", fNCellsCut);
  printf("    \n") ;
	
} 

//______________________________________________________
void AliAnaElectron::WeightHistograms(AliVCluster *clus)
{
  // Calculate weights and fill histograms
  
  if(!fFillWeightHistograms || GetMixedEvent()) return;
  
  AliVCaloCells* cells = 0;
  if(GetCalorimeter() == kEMCAL) cells = GetEMCALCells();
  else                           cells = GetPHOSCells();
  
  // First recalculate energy in case non linearity was applied
  Float_t  energy = 0;
  Float_t  ampMax = 0;  
  for (Int_t ipos = 0; ipos < clus->GetNCells(); ipos++) {
    
    Int_t id       = clus->GetCellsAbsId()[ipos];
    
    //Recalibrate cell energy if needed
    Float_t amp = cells->GetCellAmplitude(id);
    GetCaloUtils()->RecalibrateCellAmplitude(amp,GetCalorimeter(), id);
    
    energy    += amp;
    
    if(amp> ampMax) 
      ampMax = amp;
    
  } // energy loop       
  
  if ( energy <= 0 )
  {
    AliWarning(Form("Wrong calculated energy %f",energy));
    return;
  }
  
  //printf("AliAnaElectron::WeightHistograms() - energy %f, ampmax %f, rat %f, lograt %f\n",energy,ampMax,ampMax/energy,TMath::Log(ampMax/energy));
  fhEMaxCellClusterRatio   ->Fill(energy,ampMax/energy);
  fhEMaxCellClusterLogRatio->Fill(energy,TMath::Log(ampMax/energy));
  
  //Get the ratio and log ratio to all cells in cluster
  for (Int_t ipos = 0; ipos < clus->GetNCells(); ipos++) {
    Int_t id       = clus->GetCellsAbsId()[ipos];
    
    //Recalibrate cell energy if needed
    Float_t amp = cells->GetCellAmplitude(id);
    GetCaloUtils()->RecalibrateCellAmplitude(amp, GetCalorimeter(), id);

    //printf("energy %f, amp %f, rat %f, lograt %f\n",energy,amp,amp/energy,TMath::Log(amp/energy));
    fhECellClusterRatio   ->Fill(energy,amp/energy);
    fhECellClusterLogRatio->Fill(energy,TMath::Log(amp/energy));
  }        
  
  //Recalculate shower shape for different W0
  if(GetCalorimeter()==kEMCAL)
  {
    Float_t l0org = clus->GetM02();
    Float_t l1org = clus->GetM20();
    Float_t dorg  = clus->GetDispersion();
    
    for(Int_t iw = 0; iw < 14; iw++){
      
      GetCaloUtils()->GetEMCALRecoUtils()->SetW0(1+iw*0.5); 
      GetCaloUtils()->GetEMCALRecoUtils()->RecalculateClusterShowerShapeParameters(GetEMCALGeometry(), cells, clus);
      
      fhLambda0ForW0[iw]->Fill(energy,clus->GetM02());
      //fhLambda1ForW0[iw]->Fill(energy,clus->GetM20());
      
      //printf("\t w %1.1f, l0 %f, l1 %f,\n",3+iw*0.5,clus->GetM02(),clus->GetM20());
      
    } // w0 loop
    
    // Set the original values back
    clus->SetM02(l0org);
    clus->SetM20(l1org);
    clus->SetDispersion(dorg);
    
  }// EMCAL
}
  

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