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.                  *
 **************************************************************************/

//_________________________________________________________________________
//
// Conversions pairs analysis
// Check if cluster comes from a conversion in the material in front of the calorimeter
// Do invariant mass of all pairs, if mass is close to 0, then it is conversion.
// Input are selected clusters with AliAnaPhoton
//
//
//-- Author: Gustavo Conesa (LPSC-IN2P3-CNRS)
//////////////////////////////////////////////////////////////////////////////


// --- ROOT system --- 
#include <TH2F.h>
#include <TH3D.h>
#include <TClonesArray.h>
#include <TObjString.h>
#include "TParticle.h"
#include "TDatabasePDG.h"

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

ClassImp(AliAnaPhotonConvInCalo)

//________________________________________________
AliAnaPhotonConvInCalo::AliAnaPhotonConvInCalo() : 
AliAnaCaloTrackCorrBaseClass(),   
fRemoveConvertedPair(kFALSE), 
fAddConvertedPairsToAOD(kFALSE), 
fMassCut(0),                  
fConvAsymCut(1.),                  fConvDEtaCut(2.),
fConvDPhiMinCut(-1.),              fConvDPhiMaxCut(7.), 
fMomentum(),                       fProdVertex(),
// Histograms
fhPtPhotonConv(0),                 fhEtaPhiPhotonConv(0),          fhEtaPhi05PhotonConv(0),
fhConvDeltaEta(0),                 fhConvDeltaPhi(0),              fhConvDeltaEtaPhi(0), 
fhConvAsym(0),                     fhConvPt(0),
fhConvDistEta(0),                  fhConvDistEn(0),                fhConvDistMass(0),     
fhConvDistEtaCutEta(0),            fhConvDistEnCutEta(0),          fhConvDistMassCutEta(0),
fhConvDistEtaCutMass(0),           fhConvDistEnCutMass(0), 
fhConvDistEtaCutAsy(0),            fhConvDistEnCutAsy(0),

// MC histograms
fhPtConversionTagged(0),           fhPtAntiNeutronTagged(0),       
fhPtAntiProtonTagged(0),           fhPtUnknownTagged(0),

fhConvDeltaEtaMCConversion(0),     fhConvDeltaPhiMCConversion(0),  fhConvDeltaEtaPhiMCConversion(0),
fhConvAsymMCConversion(0),         fhConvPtMCConversion(0),           
fhConvDispersionMCConversion(0),   fhConvM02MCConversion(0),

fhConvDeltaEtaMCAntiNeutron(0),    fhConvDeltaPhiMCAntiNeutron(0), fhConvDeltaEtaPhiMCAntiNeutron(0), 
fhConvAsymMCAntiNeutron(0),        fhConvPtMCAntiNeutron(0), 
fhConvDispersionMCAntiNeutron(0),  fhConvM02MCAntiNeutron(0),
fhConvDeltaEtaMCAntiProton(0),     fhConvDeltaPhiMCAntiProton(0),  fhConvDeltaEtaPhiMCAntiProton(0),  
fhConvAsymMCAntiProton(0),         fhConvPtMCAntiProton(0),  
fhConvDispersionMCAntiProton(0),   fhConvM02MCAntiProton(0),
fhConvDeltaEtaMCString(0),         fhConvDeltaPhiMCString(0),      fhConvDeltaEtaPhiMCString(0),      
fhConvAsymMCString(0),             fhConvPtMCString(0),      
fhConvDispersionMCString(0),       fhConvM02MCString(0),
fhConvDistMCConversion(0),         fhConvDistMCConversionCuts(0)
{
  //default ctor
  
  //Initialize parameters
  InitParameters();
  
}

//_____________________________________________________
TObjString *  AliAnaPhotonConvInCalo::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,"--- AliAnaPhotonConvInCalo---:") ;
  parList+=onePar ;	
  snprintf(onePar,buffersize,"Conversion Selection: fConvAsymCut %1.2f, fConvDEtaCut %1.2f fConvDPhiCut (%1.2f,%1.2f)",
           fConvAsymCut, fConvDEtaCut, fConvDPhiMinCut, fConvDPhiMaxCut) ;
  parList+=onePar ; 
  
  return new TObjString(parList) ;
}

//_______________________________________________________
TList *  AliAnaPhotonConvInCalo::GetCreateOutputObjects()
{
  // Create histograms to be saved in output file and
  // store them in outputContainer
  TList * outputContainer = new TList() ;
  outputContainer->SetName("PhotonConvInCaloHistos") ;
  
  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();
  
  fhPtPhotonConv  = new TH1F("hPtPhotonConv","Number of #gamma over calorimeter, conversion",nptbins,ptmin,ptmax);
  fhPtPhotonConv->SetYTitle("N");
  fhPtPhotonConv->SetXTitle("p_{T #gamma}(GeV/c)");
  outputContainer->Add(fhPtPhotonConv) ;
  
  fhEtaPhiPhotonConv  = new TH2F
  ("hEtaPhiPhotonConv","#eta vs #phi",netabins,etamin,etamax,nphibins,phimin,phimax);
  fhEtaPhiPhotonConv->SetYTitle("#phi (rad)");
  fhEtaPhiPhotonConv->SetXTitle("#eta");
  outputContainer->Add(fhEtaPhiPhotonConv) ;
  if(GetMinPt() < 0.5){
    fhEtaPhi05PhotonConv  = new TH2F
    ("hEtaPhi05PhotonConv","#eta vs #phi, E > 0.5",netabins,etamin,etamax,nphibins,phimin,phimax);
    fhEtaPhi05PhotonConv->SetYTitle("#phi (rad)");
    fhEtaPhi05PhotonConv->SetXTitle("#eta");
    outputContainer->Add(fhEtaPhi05PhotonConv) ;
  }
  
  fhConvDeltaEta  = new TH2F
  ("hConvDeltaEta","#Delta #eta of selected conversion pairs",100,0,fMassCut,netabins*2,-0.5,0.5);
  fhConvDeltaEta->SetYTitle("#Delta #eta");
  fhConvDeltaEta->SetXTitle("Pair Mass (GeV/c^2)");
  outputContainer->Add(fhConvDeltaEta) ;
  
  fhConvDeltaPhi  = new TH2F
  ("hConvDeltaPhi","#Delta #phi of selected conversion pairs",100,0,fMassCut,nphibins*2,-0.5,0.5);
  fhConvDeltaPhi->SetYTitle("#Delta #phi");
  fhConvDeltaPhi->SetXTitle("Pair Mass (GeV/c^2)");
  outputContainer->Add(fhConvDeltaPhi) ;
  
  fhConvDeltaEtaPhi  = new TH2F
  ("hConvDeltaEtaPhi","#Delta #eta vs #Delta #phi of selected conversion pairs",netabins,-0.5,0.5,nphibins,-0.5,0.5);
  fhConvDeltaEtaPhi->SetYTitle("#Delta #phi");
  fhConvDeltaEtaPhi->SetXTitle("#Delta #eta");
  outputContainer->Add(fhConvDeltaEtaPhi) ;
  
  fhConvAsym  = new TH2F
  ("hConvAsym","Asymmetry of selected conversion pairs",100,0,fMassCut,100,0,1);
  fhConvAsym->SetYTitle("Asymmetry");
  fhConvAsym->SetXTitle("Pair Mass (GeV/c^2)");
  outputContainer->Add(fhConvAsym) ;
  
  fhConvPt  = new TH2F
  ("hConvPt","p_{T} of selected conversion pairs",100,0,fMassCut,100,0.,10.);
  fhConvPt->SetYTitle("Pair p_{T} (GeV/c)");
  fhConvPt->SetXTitle("Pair Mass (GeV/c^2)");
  outputContainer->Add(fhConvPt) ;
  
  fhConvDistEta  = new TH2F
  ("hConvDistEta","distance to conversion vertex",100,-0.7,0.7,100,0.,5.);
  fhConvDistEta->SetXTitle("#eta");
  fhConvDistEta->SetYTitle(" distance (m)");
  outputContainer->Add(fhConvDistEta) ;
  
  fhConvDistEn  = new TH2F
  ("hConvDistEn","distance to conversion vertex",nptbins,ptmin,ptmax,100,0.,5.);
  fhConvDistEn->SetXTitle("E (GeV)");
  fhConvDistEn->SetYTitle(" distance (m)");
  outputContainer->Add(fhConvDistEn) ;
  
  fhConvDistMass  = new TH2F
  ("hConvDistMass","distance to conversion vertex",100,0,fMassCut,100,0.,5.);
  fhConvDistMass->SetXTitle("m (GeV/c^2)");
  fhConvDistMass->SetYTitle(" distance (m)");
  outputContainer->Add(fhConvDistMass) ;
  
  fhConvDistEtaCutEta  = new TH2F
  ("hConvDistEtaCutEta","distance to conversion vertex, dEta < 0.05",100,-0.7,0.7,100,0.,5.);
  fhConvDistEtaCutEta->SetXTitle("#eta");
  fhConvDistEtaCutEta->SetYTitle(" distance (m)");
  outputContainer->Add(fhConvDistEtaCutEta) ;
  
  fhConvDistEnCutEta  = new TH2F
  ("hConvDistEnCutEta","distance to conversion vertex, dEta < 0.05",nptbins,ptmin,ptmax,100,0.,5.);
  fhConvDistEnCutEta->SetXTitle("E (GeV)");
  fhConvDistEnCutEta->SetYTitle(" distance (m)");
  outputContainer->Add(fhConvDistEnCutEta) ;
  
  fhConvDistMassCutEta  = new TH2F
  ("hConvDistMassCutEta","distance to conversion vertex, dEta < 0.05",100,0,fMassCut,100,0.,5.);
  fhConvDistMassCutEta->SetXTitle("m (GeV/c^2)");
  fhConvDistMassCutEta->SetYTitle(" distance (m)");
  outputContainer->Add(fhConvDistMassCutEta) ;
  
  fhConvDistEtaCutMass  = new TH2F
  ("hConvDistEtaCutMass","distance to conversion vertex, dEta < 0.05, m < 10 MeV",100,-0.7,0.7,100,0.,5.);
  fhConvDistEtaCutMass->SetXTitle("#eta");
  fhConvDistEtaCutMass->SetYTitle(" distance (m)");
  outputContainer->Add(fhConvDistEtaCutMass) ;
  
  fhConvDistEnCutMass  = new TH2F
  ("hConvDistEnCutMass","distance to conversion vertex, dEta < 0.05, m < 10 MeV",nptbins,ptmin,ptmax,100,0.,5.);
  fhConvDistEnCutMass->SetXTitle("E (GeV)");
  fhConvDistEnCutMass->SetYTitle(" distance (m)");
  outputContainer->Add(fhConvDistEnCutMass) ;
  
  fhConvDistEtaCutAsy  = new TH2F
  ("hConvDistEtaCutAsy","distance to conversion vertex, dEta < 0.05, m < 10 MeV, A < 0.1",100,-0.7,0.7,100,0.,5.);
  fhConvDistEtaCutAsy->SetXTitle("#eta");
  fhConvDistEtaCutAsy->SetYTitle(" distance (m)");
  outputContainer->Add(fhConvDistEtaCutAsy) ;
  
  fhConvDistEnCutAsy  = new TH2F
  ("hConvDistEnCutAsy","distance to conversion vertex, dEta < 0.05, m < 10 MeV, A < 0.1",nptbins,ptmin,ptmax,100,0.,5.);
  fhConvDistEnCutAsy->SetXTitle("E (GeV)");
  fhConvDistEnCutAsy->SetYTitle(" distance (m)");
  outputContainer->Add(fhConvDistEnCutAsy) ;
  
  if(IsDataMC())
  {
    fhPtConversionTagged  = new TH1F("hPtMCConversionTagged","Number of converted #gamma over calorimeter, tagged as converted",nptbins,ptmin,ptmax);
    fhPtConversionTagged->SetYTitle("N");
    fhPtConversionTagged->SetXTitle("p_{T #gamma}(GeV/c)");
    outputContainer->Add(fhPtConversionTagged) ;
    
    
    fhPtAntiNeutronTagged  = new TH1F("hPtMCAntiNeutronTagged","Number of AntiNeutron id as Photon over calorimeter, tagged as converted",nptbins,ptmin,ptmax);
    fhPtAntiNeutronTagged->SetYTitle("N");
    fhPtAntiNeutronTagged->SetXTitle("p_{T #gamma}(GeV/c)");
    outputContainer->Add(fhPtAntiNeutronTagged) ;
    
    fhPtAntiProtonTagged  = new TH1F("hPtMCAntiProtonTagged","Number of AntiProton id as Photon over calorimeter, tagged as converted",nptbins,ptmin,ptmax);
    fhPtAntiProtonTagged->SetYTitle("N");
    fhPtAntiProtonTagged->SetXTitle("p_{T #gamma}(GeV/c)");
    outputContainer->Add(fhPtAntiProtonTagged) ;
    
    fhPtUnknownTagged  = new TH1F("hPtMCUnknownTagged","Number of Unknown id as Photon over calorimeter, tagged as converted",nptbins,ptmin,ptmax);
    fhPtUnknownTagged->SetYTitle("N");
    fhPtUnknownTagged->SetXTitle("p_{T #gamma}(GeV/c)");
    outputContainer->Add(fhPtUnknownTagged) ;
    
    fhConvDeltaEtaMCConversion  = new TH2F
    ("hConvDeltaEtaMCConversion","#Delta #eta of selected conversion pairs from real conversions",100,0,fMassCut,netabins,-0.5,0.5);
    fhConvDeltaEtaMCConversion->SetYTitle("#Delta #eta");
    fhConvDeltaEtaMCConversion->SetXTitle("Pair Mass (GeV/c^2)");
    outputContainer->Add(fhConvDeltaEtaMCConversion) ;
    
    fhConvDeltaPhiMCConversion  = new TH2F
    ("hConvDeltaPhiMCConversion","#Delta #phi of selected conversion pairs from real conversions",100,0,fMassCut,nphibins,-0.5,0.5);
    fhConvDeltaPhiMCConversion->SetYTitle("#Delta #phi");
    fhConvDeltaPhiMCConversion->SetXTitle("Pair Mass (GeV/c^2)");
    outputContainer->Add(fhConvDeltaPhiMCConversion) ;
    
    fhConvDeltaEtaPhiMCConversion  = new TH2F
    ("hConvDeltaEtaPhiMCConversion","#Delta #eta vs #Delta #phi of selected conversion pairs, from real conversions",netabins,-0.5,0.5,nphibins,-0.5,0.5);
    fhConvDeltaEtaPhiMCConversion->SetYTitle("#Delta #phi");
    fhConvDeltaEtaPhiMCConversion->SetXTitle("#Delta #eta");
    outputContainer->Add(fhConvDeltaEtaPhiMCConversion) ;
    
    fhConvAsymMCConversion  = new TH2F
    ("hConvAsymMCConversion","Asymmetry of selected conversion pairs from real conversions",100,0,fMassCut,100,0,1);
    fhConvAsymMCConversion->SetYTitle("Asymmetry");
    fhConvAsymMCConversion->SetXTitle("Pair Mass (GeV/c^2)");
    outputContainer->Add(fhConvAsymMCConversion) ;
    
    fhConvPtMCConversion  = new TH2F
    ("hConvPtMCConversion","p_{T} of selected conversion pairs from real conversions",100,0,fMassCut,100,0.,10.);
    fhConvPtMCConversion->SetYTitle("Pair p_{T} (GeV/c)");
    fhConvPtMCConversion->SetXTitle("Pair Mass (GeV/c^2)");
    outputContainer->Add(fhConvPtMCConversion) ;
    
    fhConvDispersionMCConversion  = new TH2F
    ("hConvDispersionMCConversion","p_{T} of selected conversion pairs from real conversions",100,0.,1.,100,0.,1.);
    fhConvDispersionMCConversion->SetYTitle("Dispersion cluster 1");
    fhConvDispersionMCConversion->SetXTitle("Dispersion cluster 2");
    outputContainer->Add(fhConvDispersionMCConversion) ;
    
    fhConvM02MCConversion  = new TH2F
    ("hConvM02MCConversion","p_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
    fhConvM02MCConversion->SetYTitle("M02 cluster 1");
    fhConvM02MCConversion->SetXTitle("M02 cluster 2");
    outputContainer->Add(fhConvM02MCConversion) ;
    
    fhConvDeltaEtaMCAntiNeutron  = new TH2F
    ("hConvDeltaEtaMCAntiNeutron","#Delta #eta of selected conversion pairs from anti-neutrons",100,0,fMassCut,netabins,-0.5,0.5);
    fhConvDeltaEtaMCAntiNeutron->SetYTitle("#Delta #eta");
    fhConvDeltaEtaMCAntiNeutron->SetXTitle("Pair Mass (GeV/c^2)");
    outputContainer->Add(fhConvDeltaEtaMCAntiNeutron) ;
    
    fhConvDeltaPhiMCAntiNeutron  = new TH2F
    ("hConvDeltaPhiMCAntiNeutron","#Delta #phi of selected conversion pairs from anti-neutrons",100,0,fMassCut,nphibins,-0.5,0.5);
    fhConvDeltaPhiMCAntiNeutron->SetYTitle("#Delta #phi");
    fhConvDeltaPhiMCAntiNeutron->SetXTitle("Pair Mass (GeV/c^2)");
    outputContainer->Add(fhConvDeltaPhiMCAntiNeutron) ;
    
    fhConvDeltaEtaPhiMCAntiNeutron  = new TH2F
    ("hConvDeltaEtaPhiMCAntiNeutron","#Delta #eta vs #Delta #phi of selected conversion pairs from anti-neutrons",netabins,-0.5,0.5,nphibins,-0.5,0.5);
    fhConvDeltaEtaPhiMCAntiNeutron->SetYTitle("#Delta #phi");
    fhConvDeltaEtaPhiMCAntiNeutron->SetXTitle("#Delta #eta");
    outputContainer->Add(fhConvDeltaEtaPhiMCAntiNeutron) ;
    
    fhConvAsymMCAntiNeutron  = new TH2F
    ("hConvAsymMCAntiNeutron","Asymmetry of selected conversion pairs from anti-neutrons",100,0,fMassCut,100,0,1);
    fhConvAsymMCAntiNeutron->SetYTitle("Asymmetry");
    fhConvAsymMCAntiNeutron->SetXTitle("Pair Mass (GeV/c^2)");
    outputContainer->Add(fhConvAsymMCAntiNeutron) ;
    
    fhConvPtMCAntiNeutron  = new TH2F
    ("hConvPtMCAntiNeutron","p_{T} of selected conversion pairs from anti-neutrons",100,0,fMassCut,100,0.,10.);
    fhConvPtMCAntiNeutron->SetYTitle("Pair p_{T} (GeV/c)");
    fhConvPtMCAntiNeutron->SetXTitle("Pair Mass (GeV/c^2)");
    outputContainer->Add(fhConvPtMCAntiNeutron) ;
    
    fhConvDispersionMCAntiNeutron  = new TH2F
    ("hConvDispersionMCAntiNeutron","p_{T} of selected conversion pairs from anti-neutrons",100,0.,1.,100,0.,1.);
    fhConvDispersionMCAntiNeutron->SetYTitle("Dispersion cluster 1");
    fhConvDispersionMCAntiNeutron->SetXTitle("Dispersion cluster 2");
    outputContainer->Add(fhConvDispersionMCAntiNeutron) ;
    
    fhConvM02MCAntiNeutron  = new TH2F
    ("hConvM02MCAntiNeutron","p_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
    fhConvM02MCAntiNeutron->SetYTitle("M02 cluster 1");
    fhConvM02MCAntiNeutron->SetXTitle("M02 cluster 2");
    outputContainer->Add(fhConvM02MCAntiNeutron) ;
    
    fhConvDeltaEtaMCAntiProton  = new TH2F
    ("hConvDeltaEtaMCAntiProton","#Delta #eta of selected conversion pairs from anti-protons",100,0,fMassCut,netabins,-0.5,0.5);
    fhConvDeltaEtaMCAntiProton->SetYTitle("#Delta #eta");
    fhConvDeltaEtaMCAntiProton->SetXTitle("Pair Mass (GeV/c^2)");
    outputContainer->Add(fhConvDeltaEtaMCAntiProton) ;
    
    fhConvDeltaPhiMCAntiProton  = new TH2F
    ("hConvDeltaPhiMCAntiProton","#Delta #phi of selected conversion pairs from anti-protons",100,0,fMassCut,nphibins,-0.5,0.5);
    fhConvDeltaPhiMCAntiProton->SetYTitle("#Delta #phi");
    fhConvDeltaPhiMCAntiProton->SetXTitle("Pair Mass (GeV/c^2)");
    outputContainer->Add(fhConvDeltaPhiMCAntiProton) ;
    
    fhConvDeltaEtaPhiMCAntiProton  = new TH2F
    ("hConvDeltaEtaPhiMCAntiProton","#Delta #eta vs #Delta #phi of selected conversion pairs from anti-protons",netabins,-0.5,0.5,nphibins,-0.5,0.5);
    fhConvDeltaEtaPhiMCAntiProton->SetYTitle("#Delta #phi");
    fhConvDeltaEtaPhiMCAntiProton->SetXTitle("#Delta #eta");
    outputContainer->Add(fhConvDeltaEtaPhiMCAntiProton) ;
    
    fhConvAsymMCAntiProton  = new TH2F
    ("hConvAsymMCAntiProton","Asymmetry of selected conversion pairs from anti-protons",100,0,fMassCut,100,0,1);
    fhConvAsymMCAntiProton->SetYTitle("Asymmetry");
    fhConvAsymMCAntiProton->SetXTitle("Pair Mass (GeV/c^2)");
    outputContainer->Add(fhConvAsymMCAntiProton) ;
    
    fhConvPtMCAntiProton  = new TH2F
    ("hConvPtMCAntiProton","p_{T} of selected conversion pairs from anti-protons",100,0,fMassCut,100,0.,10.);
    fhConvPtMCAntiProton->SetYTitle("Pair p_{T} (GeV/c)");
    fhConvPtMCAntiProton->SetXTitle("Pair Mass (GeV/c^2)");
    outputContainer->Add(fhConvPtMCAntiProton) ;
    
    fhConvDispersionMCAntiProton  = new TH2F
    ("hConvDispersionMCAntiProton","p_{T} of selected conversion pairs from anti-protons",100,0.,1.,100,0.,1.);
    fhConvDispersionMCAntiProton->SetYTitle("Dispersion cluster 1");
    fhConvDispersionMCAntiProton->SetXTitle("Dispersion cluster 2");
    outputContainer->Add(fhConvDispersionMCAntiProton) ;
    
    fhConvM02MCAntiProton  = new TH2F
    ("hConvM02MCAntiProton","p_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
    fhConvM02MCAntiProton->SetYTitle("M02 cluster 1");
    fhConvM02MCAntiProton->SetXTitle("M02 cluster 2");
    outputContainer->Add(fhConvM02MCAntiProton) ;
    
    fhConvDeltaEtaMCString  = new TH2F
    ("hConvDeltaEtaMCString","#Delta #eta of selected conversion pairs from string",100,0,fMassCut,netabins,-0.5,0.5);
    fhConvDeltaEtaMCString->SetYTitle("#Delta #eta");
    fhConvDeltaEtaMCString->SetXTitle("Pair Mass (GeV/c^2)");
    outputContainer->Add(fhConvDeltaEtaMCString) ;
    
    fhConvDeltaPhiMCString  = new TH2F
    ("hConvDeltaPhiMCString","#Delta #phi of selected conversion pairs from string",100,0,fMassCut,nphibins,-0.5,0.5);
    fhConvDeltaPhiMCString->SetYTitle("#Delta #phi");
    fhConvDeltaPhiMCString->SetXTitle("Pair Mass (GeV/c^2)");
    outputContainer->Add(fhConvDeltaPhiMCString) ;
    
    fhConvDeltaEtaPhiMCString  = new TH2F
    ("hConvDeltaEtaPhiMCString","#Delta #eta vs #Delta #phi of selected conversion pairs from string",netabins,-0.5,0.5,nphibins,-0.5,0.5);
    fhConvDeltaEtaPhiMCString->SetYTitle("#Delta #phi");
    fhConvDeltaEtaPhiMCString->SetXTitle("#Delta #eta");
    outputContainer->Add(fhConvDeltaEtaPhiMCString) ;
    
    fhConvAsymMCString  = new TH2F
    ("hConvAsymMCString","Asymmetry of selected conversion pairs from string",100,0,fMassCut,100,0,1);
    fhConvAsymMCString->SetYTitle("Asymmetry");
    fhConvAsymMCString->SetXTitle("Pair Mass (GeV/c^2)");
    outputContainer->Add(fhConvAsymMCString) ;
    
    fhConvPtMCString  = new TH2F
    ("hConvPtMCString","p_{T} of selected conversion pairs from string",100,0,fMassCut,100,0.,10.);
    fhConvPtMCString->SetYTitle("Pair p_{T} (GeV/c)");
    fhConvPtMCString->SetXTitle("Pair Mass (GeV/c^2)");
    outputContainer->Add(fhConvPtMCString) ;
    
    fhConvDispersionMCString  = new TH2F
    ("hConvDispersionMCString","p_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
    fhConvDispersionMCString->SetYTitle("Dispersion cluster 1");
    fhConvDispersionMCString->SetXTitle("Dispersion cluster 2");
    outputContainer->Add(fhConvDispersionMCString) ;
    
    fhConvM02MCString  = new TH2F
    ("hConvM02MCString","p_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
    fhConvM02MCString->SetYTitle("M02 cluster 1");
    fhConvM02MCString->SetXTitle("M02 cluster 2");
    outputContainer->Add(fhConvM02MCString) ;
    
    fhConvDistMCConversion  = new TH2F
    ("hConvDistMCConversion","calculated conversion distance vs real vertes for MC conversion",100,0.,5.,100,0.,5.);
    fhConvDistMCConversion->SetYTitle("distance");
    fhConvDistMCConversion->SetXTitle("vertex R");
    outputContainer->Add(fhConvDistMCConversion) ;
    
    fhConvDistMCConversionCuts  = new TH2F
    ("hConvDistMCConversionCuts","calculated conversion distance vs real vertes for MC conversion, deta < 0.05, m < 10 MeV, asym < 0.1",100,0.,5.,100,0.,5.);
    fhConvDistMCConversionCuts->SetYTitle("distance");
    fhConvDistMCConversionCuts->SetXTitle("vertex R");
    outputContainer->Add(fhConvDistMCConversionCuts) ;
    
  }
  
  return outputContainer ;
  
}

//___________________________________________
void AliAnaPhotonConvInCalo::InitParameters()
{
  //Initialize the parameters of the analysis.
  AddToHistogramsName("AnaPhotonConvInCalo_");
  
  fMassCut                = 0.03; //30 MeV
  fRemoveConvertedPair    = kFALSE;
  fAddConvertedPairsToAOD = kFALSE;
	
}

//_________________________________________________
void  AliAnaPhotonConvInCalo::MakeAnalysisFillAOD()
{
  //Do conversion photon analysis and fill aods
  
  //Loop on stored AOD photons
  Int_t naod = GetOutputAODBranch()->GetEntriesFast();
  AliDebug(1,Form("AOD branch entries %d", naod));
  
  //List to be used in conversion analysis, to tag the cluster as candidate for conversion
  Bool_t * indexConverted = new Bool_t[naod];
  for (Int_t i = 0; i < naod; i++) indexConverted[i] = kFALSE;
  
  for(Int_t iaod = 0; iaod < naod ; iaod++)
  {
    AliAODPWG4Particle* calo =  (AliAODPWG4Particle*) (GetOutputAODBranch()->At(iaod));
    
    Bool_t bConverted = kFALSE;
    Int_t id2 = -1;
    
    //Check if set previously as converted couple, if so skip its use.
    if (indexConverted[iaod]) continue;
    
    // Second cluster loop
    AliAODPWG4Particle* calo2 = 0;
    for(Int_t jaod = iaod + 1 ; jaod < naod ; jaod++)
    {
      //Check if set previously as converted couple, if so skip its use.
      if (indexConverted[jaod]) continue;
      //printf("Check Conversion indeces %d and %d\n",iaod,jaod);
      calo2 =  (AliAODPWG4Particle*) (GetOutputAODBranch()->At(jaod));
      
      //................................................
      //Get mass of pair, if small, take this pair.
      Float_t pairM     = calo->GetPairMass(calo2);
      //printf("\t both in calo, mass %f, cut %f\n",pairM,fMassCut);
      if(pairM < fMassCut)
      {
        calo->SetTagged(kFALSE);
        id2 = calo2->GetCaloLabel(0);
        Float_t asymmetry = TMath::Abs(calo->E()-calo2->E())/(calo->E()+calo2->E());
        Float_t dPhi      = (calo->Momentum())->Phi()-(calo2->Momentum())->Phi();
        Float_t dEta      = (calo->Momentum())->Eta()-(calo2->Momentum())->Eta();
        
        //...............................................
        //Fill few histograms with kinematics of the pair
        //FIXME, move all this to MakeAnalysisFillHistograms ...
        
        fhConvDeltaEta   ->Fill( pairM, dPhi      );
        fhConvDeltaPhi   ->Fill( pairM, dEta      );
        fhConvAsym       ->Fill( pairM, asymmetry );
        fhConvDeltaEtaPhi->Fill( dEta , dPhi      );
        fhConvPt         ->Fill( pairM, (calo->Momentum())->Pt()+(calo2->Momentum())->Pt());
        
        //Estimate conversion distance, T. Awes, M. Ivanov
        //Under the assumption that the pair has zero mass, and that each electron
        //of the pair has the same momentum, they will each have the same bend radius
        //given by R=p/(qB) = p / (300 B) with p in [MeV/c], B in [Tesla] and R in [m].
        //With nominal ALICE magnet current of 30kA B=0.5T, and so with E_cluster=p,
        //R = E/1.5 [cm].  Under these assumptions, the distance from the conversion
        //point to the MCEal can be related to the separation distance, L=2y, on the MCEal
        //as d = sqrt(R^2 -(R-y)^2) = sqrt(2Ry - y^2). And since R>>y we can write as
        //d = sqrt(E*L/1.5) where E is the cluster energy and L is the distance in cm between
        //the clusters.
        
        TObjArray * clusters    = 0;
        if(calo->GetDetectorTag() == kEMCAL) clusters = GetEMCALClusters();
        else                                 clusters = GetPHOSClusters();
        
        
        Int_t iclus = -1;
        AliVCluster *cluster1 = FindCluster(clusters,calo ->GetCaloLabel(0),iclus);
        AliVCluster *cluster2 = FindCluster(clusters,calo2->GetCaloLabel(0),iclus);
        
        Float_t pos1[3];
        cluster1->GetPosition(pos1);
        Float_t pos2[3];
        cluster2->GetPosition(pos2);
        Float_t clustDist = TMath::Sqrt((pos1[0]-pos2[0])*(pos1[0]-pos2[0])+
                                        (pos1[1]-pos2[1])*(pos1[1]-pos2[1])+
                                        (pos1[2]-pos2[2])*(pos1[2]-pos2[2]));
        
        Float_t convDist  = TMath::Sqrt(calo->E() *clustDist*0.01/0.15);
        Float_t convDist2 = TMath::Sqrt(calo2->E()*clustDist*0.01/0.15);
        //printf("l = %f, e1 = %f, d1=%f, e2 = %f, d2=%f\n",clustDist,calo->E(),convDist,calo2->E(),convDist2);
        AliDebug(2,Form("Pair with mass %2.3f < %2.3f, %1.2f < dPhi %2.2f < %2.2f, dEta %f < %2.2f, asymmetry %2.2f< %2.2f; \n    cluster1 id %d, e %2.3f  SM %d, eta %2.3f, phi %2.3f ; \n    cluster2 id %d, e %2.3f, SM %d,eta %2.3f, phi %2.3f",
                        pairM,fMassCut,fConvDPhiMinCut, dPhi, fConvDPhiMaxCut, dEta, fConvDEtaCut, asymmetry, fConvAsymCut,
                        calo->GetCaloLabel(0),calo->E(),GetCaloUtils()->GetModuleNumber(calo,GetReader()->GetInputEvent()), calo->Eta(), calo->Phi(),
                        id2, calo2->E(), GetCaloUtils()->GetModuleNumber(calo2,GetReader()->GetInputEvent()),calo2->Eta(), calo2->Phi()));
        
        fhConvDistEta ->Fill(calo ->Eta(),convDist );
        fhConvDistEta ->Fill(calo2->Eta(),convDist2);
        fhConvDistEn  ->Fill(calo ->E(),  convDist );
        fhConvDistEn  ->Fill(calo2->E(),  convDist2);
        fhConvDistMass->Fill(pairM, convDist );
        //dEta cut
        if(dEta<0.05)
        {
          fhConvDistEtaCutEta ->Fill(calo->Eta(), convDist );
          fhConvDistEtaCutEta ->Fill(calo2->Eta(),convDist2);
          fhConvDistEnCutEta  ->Fill(calo->E(),   convDist );
          fhConvDistEnCutEta  ->Fill(calo2->E(),  convDist2);
          fhConvDistMassCutEta->Fill(pairM, convDist );
          //mass cut
          if(pairM<0.01)
          {//10 MeV
            fhConvDistEtaCutMass ->Fill(calo ->Eta(), convDist );
            fhConvDistEtaCutMass ->Fill(calo2->Eta(), convDist2);
            fhConvDistEnCutMass  ->Fill(calo ->E(),   convDist );
            fhConvDistEnCutMass  ->Fill(calo2->E(),   convDist2);
            // asymmetry cut
            if(asymmetry<0.1)
            {
              fhConvDistEtaCutAsy ->Fill(calo ->Eta(), convDist );
              fhConvDistEtaCutAsy ->Fill(calo2->Eta(), convDist2);
              fhConvDistEnCutAsy  ->Fill(calo ->E(),   convDist );
              fhConvDistEnCutAsy  ->Fill(calo2->E(),   convDist2);
            }//asymmetry cut
          }//mass cut
        }//dEta cut
        
        //...............................................
        //Select pairs in a eta-phi window
        if(TMath::Abs(dEta) < fConvDEtaCut    &&
           TMath::Abs(dPhi) < fConvDPhiMaxCut &&
           TMath::Abs(dPhi) > fConvDPhiMinCut &&
           asymmetry        < fConvAsymCut       )
        {
          indexConverted[iaod] = kTRUE;
          indexConverted[jaod] = kTRUE;
          bConverted           = kTRUE;
        }
        //printf("Accepted? %d\n",bConverted);
        //...........................................
        //Fill more histograms, simulated data
        //FIXME, move all this to MakeAnalysisFillHistograms ...
        if(IsDataMC())
        {
          //Check the origin of the pair, look for conversion, antinucleons or jet correlations (strings)
          Int_t ancPDG    = 0;
          Int_t ancStatus = 0;
          Int_t ancLabel  = GetMCAnalysisUtils()->CheckCommonAncestor(cluster1->GetLabel(), cluster2->GetLabel(),
                                                                      GetReader(), ancPDG, ancStatus, fMomentum, fProdVertex);
          
          // printf("AliAnaPhotonConvInCalo::MakeAnalysisFillHistograms() - Common ancestor label %d, pdg %d, name %s, status %d; \n",
          //                          ancLabel,ancPDG,TDatabasePDG::Instance()->GetParticle(ancPDG)->GetName(),ancStatus);
          
          Int_t tag1 = calo ->GetTag();
          Int_t tag2 = calo2->GetTag();
          if(GetMCAnalysisUtils()->CheckTagBit(tag1,AliMCAnalysisUtils::kMCConversion))
          {
            if(GetMCAnalysisUtils()->CheckTagBit(tag2,AliMCAnalysisUtils::kMCConversion) && (ancPDG==22 || TMath::Abs(ancPDG)==11) && ancLabel > -1)
            {
              fhConvDeltaEtaMCConversion   ->Fill( pairM, dEta      );
              fhConvDeltaPhiMCConversion   ->Fill( pairM, dPhi      );
              fhConvAsymMCConversion       ->Fill( pairM, asymmetry );
              fhConvDeltaEtaPhiMCConversion->Fill( dEta , dPhi      );
              fhConvPtMCConversion         ->Fill( pairM, calo->Pt()+calo2->Pt());
              fhConvDispersionMCConversion ->Fill( cluster1->GetDispersion(), cluster2->GetDispersion());
              fhConvM02MCConversion        ->Fill( cluster1->GetM02(), cluster2->GetM02());
              fhConvDistMCConversion       ->Fill( convDist , fProdVertex.Mag() );
              fhConvDistMCConversion       ->Fill( convDist2, fProdVertex.Mag() );
              
              if(dEta<0.05 && pairM<0.01 && asymmetry<0.1)
              {
                fhConvDistMCConversionCuts->Fill( convDist , fProdVertex.Mag() );
                fhConvDistMCConversionCuts->Fill( convDist2, fProdVertex.Mag() );
              }
              
            }
          }
          else if(GetMCAnalysisUtils()->CheckTagBit(tag1,AliMCAnalysisUtils::kMCAntiNeutron))
          {
            if(GetMCAnalysisUtils()->CheckTagBit(tag2,AliMCAnalysisUtils::kMCAntiNeutron) && ancPDG==-2112 && ancLabel > -1)
            {
              fhConvDeltaEtaMCAntiNeutron    ->Fill( pairM, dEta      );
              fhConvDeltaPhiMCAntiNeutron    ->Fill( pairM, dPhi      );
              fhConvAsymMCAntiNeutron        ->Fill( pairM, asymmetry );
              fhConvDeltaEtaPhiMCAntiNeutron ->Fill( dEta , dPhi      );
              fhConvPtMCAntiNeutron          ->Fill( pairM, calo->Pt()+calo2->Pt());
              fhConvDispersionMCAntiNeutron  ->Fill( cluster1->GetDispersion(), cluster2->GetDispersion());
              fhConvM02MCAntiNeutron         ->Fill( cluster1->GetM02(), cluster2->GetM02());
            }
          }
          else if(GetMCAnalysisUtils()->CheckTagBit(tag1,AliMCAnalysisUtils::kMCAntiProton))
          {
            if(GetMCAnalysisUtils()->CheckTagBit(tag2,AliMCAnalysisUtils::kMCAntiProton) && ancPDG==-2212 && ancLabel > -1)
            {
              fhConvDeltaEtaMCAntiProton    ->Fill( pairM, dEta      );
              fhConvDeltaPhiMCAntiProton    ->Fill( pairM, dPhi      );
              fhConvAsymMCAntiProton        ->Fill( pairM, asymmetry );
              fhConvDeltaEtaPhiMCAntiProton ->Fill( dEta , dPhi      );
              fhConvPtMCAntiProton          ->Fill( pairM, calo->Pt()+calo2->Pt());
              fhConvDispersionMCAntiProton  ->Fill( cluster1->GetDispersion(), cluster2->GetDispersion());
              fhConvM02MCAntiProton         ->Fill( cluster1->GetM02(), cluster2->GetM02());
            }
          }
          
          //Pairs coming from fragmenting pairs.
          if( ancPDG < 22 && ancLabel > 7 && (ancStatus == 11 || ancStatus == 12) )
          {
            fhConvDeltaEtaMCString    ->Fill( pairM, dPhi);
            fhConvDeltaPhiMCString    ->Fill( pairM, dPhi);
            fhConvAsymMCString        ->Fill( pairM, TMath::Abs(calo->E()-calo2->E())/(calo->E()+calo2->E()) );
            fhConvDeltaEtaPhiMCString ->Fill( dPhi,  dPhi);
            fhConvPtMCString          ->Fill( pairM, calo->Pt()+calo2->Pt());
            fhConvDispersionMCString  ->Fill( cluster1->GetDispersion(), cluster2->GetDispersion());
            fhConvM02MCString         ->Fill( cluster1->GetM02(), cluster2->GetM02());
          }
          
        }// Data MC
        
        break;
      }
      
    }//Mass loop
    
    //..........................................................................................................
    //Pair selected as converted, remove both clusters or recombine them into a photon and put them in the AOD
    if(bConverted)
    {
      //Add to AOD
      if(fAddConvertedPairsToAOD)
      {
        //Create AOD of pair analysis
        fMomentum = *(calo->Momentum())+*(calo2->Momentum());
        AliAODPWG4Particle aodpair = AliAODPWG4Particle(fMomentum);
        aodpair.SetLabel(calo->GetLabel());
        
        //printf("Index %d, Id %d\n",iaod, calo->GetID());
        //Set the indeces of the original caloclusters
        aodpair.SetCaloLabel(calo->GetCaloLabel(0),id2);
        aodpair.SetDetectorTag(calo->GetDetectorTag());
        aodpair.SetIdentifiedParticleType(calo->GetIdentifiedParticleType());
        aodpair.SetTag(calo ->GetTag());
        aodpair.SetTagged(kTRUE);
        //Add AOD with pair object to aod branch
        AddAODParticle(aodpair);
        //printf("\t \t both added pair\n");
      }
      
      //Do not add the current calocluster
      if(!fRemoveConvertedPair)
      {
        //printf("TAGGED\n");
        //Tag this cluster as likely conversion
        calo->SetTagged(kTRUE);
      }
    }//converted pair
    
  }// main loop
  
  // Remove entries identified as conversion electrons
  // Revise if this is OK
  if(fRemoveConvertedPair || fAddConvertedPairsToAOD)
  {
    for(Int_t iaod = 0; iaod < naod ; iaod++)
    {
      if(indexConverted[iaod])GetOutputAODBranch()->RemoveAt(iaod);
    }
    GetOutputAODBranch()->Compress();
  }
  
  delete [] indexConverted;
  
  AliDebug(1,Form("End fill AODs, with %d entries",GetOutputAODBranch()->GetEntriesFast()));
  
}

//________________________________________________________
void  AliAnaPhotonConvInCalo::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!");
        return;
      }
    }
  }// is data and MC
  
  //----------------------------------
  //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();
    
    if(ph->IsTagged())
    {
      AliDebug(2,Form("ID Photon: 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();
      
      fhPtPhotonConv->Fill(ptcluster);
      if(ecluster > 0.5)        fhEtaPhiPhotonConv  ->Fill(etacluster, phicluster);
      else if(GetMinPt() < 0.5) fhEtaPhi05PhotonConv->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)
          {
            AliDebug(1,Form("*** no primary ***:  label %d", label));
            continue;
          }
          //eprim   = primary->Energy();
          //ptprim  = primary->Pt();
          
        }
        else if(GetReader()->ReadAODMCParticles())
        {
          if(label >=  mcparticles->GetEntriesFast())
          {
            AliDebug(2,Form("*** large label ***:  label %d, n tracks %d",label, mcparticles->GetEntriesFast()));
            continue ;
          }
          
          //Get the particle
          aodprimary = (AliAODMCParticle*) mcparticles->At(label);
          
          if(!aodprimary)
          {
            AliDebug(2,Form("*** no primary ***:  label %d", label));
            continue;
          }
          
          //eprim   = aodprimary->E();
          //ptprim  = aodprimary->Pt();
          
        }
        
        Int_t tag =ph->GetTag();
        
        if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton))
        {
          if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion))
          {
            fhPtConversionTagged ->Fill(ptcluster);
          }
        }
        else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCAntiNeutron))
        {
          fhPtAntiNeutronTagged ->Fill(ptcluster);
        }
        else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCAntiProton))
        {
          fhPtAntiProtonTagged ->Fill(ptcluster);
        }
        else
        {
          fhPtUnknownTagged ->Fill(ptcluster);
        }
        
      }//Histograms with MC
    }// tagged by conversion
  }// aod loop
  
}


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