ROOT logo
#include "AliAnalysisTaskSDMGammaMC.h"
 
#include <vector>
#include <Riostream.h>
#include <TChain.h>
#include <TTree.h>
#include <TF1.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TH3F.h>
#include <TH1D.h>
#include <TH2D.h>
#include <TH3D.h>
#include <TCanvas.h>
#include <TList.h>
#include <TFile.h>
#include <TLorentzVector.h>
#include <TNtuple.h>
#include <TRandom3.h>

#include "AliAnalysisTaskSE.h"
#include "AliAnalysisManager.h"
#include "AliStack.h"
#include "AliESDtrackCuts.h"
#include "AliESDEvent.h"
#include "AliESDInputHandler.h"
#include "AliAODEvent.h"
#include "AliMCEvent.h"
#include "AliEMCALGeometry.h"
#include "AliInputEventHandler.h"
#include "AliESDInputHandler.h"
#include "AliAODInputHandler.h"

#include "AliEMCALRecoUtils.h"
#include "AliExternalTrackParam.h"

// ROOT includes
#include <TGeoManager.h>
#include <TGeoMatrix.h>
#include <TGeoBBox.h>
#include <TH2F.h>
#include <TArrayI.h>
#include <TArrayF.h>
#include <TObjArray.h>

// STEER includes
#include "AliVCluster.h"
#include "AliVCaloCells.h"
#include "AliLog.h"
#include "AliPID.h"
#include "AliESDEvent.h"
#include "AliAODEvent.h"
#include "AliESDtrack.h"
#include "AliAODTrack.h"
#include "AliExternalTrackParam.h"
#include "AliESDfriendTrack.h"
#include "AliTrackerBase.h"

// EMCAL includes
#include "AliEMCALRecoUtils.h"
#include "AliEMCALGeometry.h"
#include "AliTrackerBase.h"
#include "AliEMCALCalibTimeDepCorrection.h" // Run dependent
#include "AliEMCALPIDUtils.h"

using std::cout;
using std::endl;

ClassImp(AliAnalysisTaskSDMGammaMC)

//________________________________________________________________________
AliAnalysisTaskSDMGammaMC::AliAnalysisTaskSDMGammaMC() : 
  AliAnalysisTaskSE(),
  fOutput(0),
  fMcMode(0),
  fRecalibrator(0),
  fPhimin(0),
  fPhimax(0),
  fEtamin(0),
  fEtamax(0),
  fTrackCuts(0),
  fEsdEv(0),
  fAodEv(0),
  h1_nClusters(0), 
  h1_zvtx(0), 
  h1_trigger(0), 
  h1_E(0), 
  h1_Phi(0), 
  h2_PiMotherID(0), 
  h2_GaMotherID(0), 
  h3_gE_RecTruth(0), 
  h3_gE_RecTruth_ncellscut(0), 
  h1_Pi0TruthPt(0), 
  h1_PriPi0TruthPt(0), 
  h1_Pi0TruthPtEmcal(0), 
  h1_PriPi0TruthPtEmcal(0), 
  h2_Pi0TruthPhiEta(0), 
  h2_PriPi0TruthPhiEta(0), 
  h2_Pi0TruthPhiEtaEmcal(0), 
  h2_PriPi0TruthPhiEtaEmcal(0), 
  h1_TruthPhotonsEmcal(0), 
  h2_TruthPhotonsPhiEta(0),
  h1_PhotonsEmcal(0), 
  h1_PhotonsNCellsCut(0), 
  h1_PhotonsTrackMatchCut(0), 
  h1_PhotonsAllCut(0), 
  h2_PhotonsPhiEtaIsEmcal(0),
  h1_dR_RealMC(0),
  h1_Eta(0),
  h1_Chi2(0),
  h1_nTrkMatch(0),
  h1_nCells(0),
  h1_ClusterDisp(0),
  h2_Ellipse(0),
  h2_EtaPt(0),
  h2_dphi_deta(0), 
  h2_dphi_deta_mix(0), 
  h2_DispRes(0),
  h2_cells_M02(0),
  TriggerList(0)
{
  // Dummy constructor ALWAYS needed for I/O.
}

//________________________________________________________________________
AliAnalysisTaskSDMGammaMC::AliAnalysisTaskSDMGammaMC(const char *name) :
  AliAnalysisTaskSE(name),
  fOutput(0),
  fMcMode(0),
  fRecalibrator(0),
  fPhimin(0),
  fPhimax(0),
  fEtamin(0),
  fEtamax(0),
  fTrackCuts(0),
  fEsdEv(0),
  fAodEv(0),
  h1_nClusters(0), 
  h1_zvtx(0), 
  h1_trigger(0), 
  h1_E(0), 
  h1_Phi(0), 
  h2_PiMotherID(0), 
  h2_GaMotherID(0), 
  h3_gE_RecTruth(0), 
  h3_gE_RecTruth_ncellscut(0), 
  h1_Pi0TruthPt(0), 
  h1_PriPi0TruthPt(0), 
  h1_Pi0TruthPtEmcal(0), 
  h1_PriPi0TruthPtEmcal(0), 
  h2_Pi0TruthPhiEta(0), 
  h2_PriPi0TruthPhiEta(0), 
  h2_Pi0TruthPhiEtaEmcal(0), 
  h2_PriPi0TruthPhiEtaEmcal(0), 
  h1_TruthPhotonsEmcal(0), 
  h2_TruthPhotonsPhiEta(0),
  h1_PhotonsEmcal(0), 
  h1_PhotonsNCellsCut(0), 
  h1_PhotonsTrackMatchCut(0), 
  h1_PhotonsAllCut(0), 
  h2_PhotonsPhiEtaIsEmcal(0),
  h1_dR_RealMC(0),
  h1_Eta(0),
  h1_Chi2(0),
  h1_nTrkMatch(0),
  h1_nCells(0),
  h1_ClusterDisp(0),
  h2_Ellipse(0),
  h2_EtaPt(0),
  h2_dphi_deta(0), 
  h2_dphi_deta_mix(0), 
  h2_DispRes(0), 
  h2_cells_M02(0),
  TriggerList(0)
{
  // Constructor
  // Define input and output slots here (never in the dummy constructor)
  // Input slot #0 works with a TChain - it is connected to the default input container
  // Output slot #1 writes into a TH1 container


  DefineOutput(1, TList::Class());                                            // for output list
}

//________________________________________________________________________
AliAnalysisTaskSDMGammaMC::~AliAnalysisTaskSDMGammaMC()
{
  // Destructor. Clean-up the output list, but not the histograms that are put inside
  // (the list is owner and will clean-up these histograms). Protect in PROOF case.
  if (fOutput && !AliAnalysisManager::GetAnalysisManager()->IsProofMode()) {
    delete fOutput;
  }
  delete fTrackCuts;
}

//________________________________________________________________________
void AliAnalysisTaskSDMGammaMC::UserCreateOutputObjects()
{
  // Create histograms
  // Called once (on the worker node)

  fOutput = new TList();
  fOutput->SetOwner();  // IMPORTANT!
   
  fTrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE);

  cout << "__________AliAnalysisTaskSDMGammaMC: Input settings__________" << endl;
  cout << " fMcMode:             " << fMcMode   << endl;
  cout << " fRecalibrator:       " << fRecalibrator << endl;
  cout << " phi range:           " << fPhimin << ", " << fPhimax << endl;
  cout << " eta range:           " << fEtamin << ", " << fEtamax << endl;
  cout << " number of zvtx bins: " << zvtx_bins << endl;
  cout << " number of mult bins: " << mult_bins << endl;
  cout << " poolDepth:           " << poolDepth << endl;
  cout << endl;
  

  double TotalNBins = 0.0;

  // Create histograms
  Int_t nClustersbins = 501;
  Float_t nClusterslow = -0.5, nClustersup = 500.5;
  h1_nClusters = new TH1F("h1_nClusters", "# of clusters", nClustersbins, nClusterslow, nClustersup);
  h1_nClusters->GetXaxis()->SetTitle("number of clusters/evt");
  h1_nClusters->GetYaxis()->SetTitle("counts");
  h1_nClusters->SetMarkerStyle(kFullCircle);
  TotalNBins+=nClustersbins;

  Int_t nZvertexbins = 501;
  Float_t Zvertexlow = -50.0, Zvertexup = 50.0;
  h1_zvtx = new TH1F("h1_zvtx", "# of clusters", nZvertexbins, Zvertexlow, Zvertexup);
  h1_zvtx->GetXaxis()->SetTitle("z_{vertex}");
  h1_zvtx->GetYaxis()->SetTitle("counts");
  h1_zvtx->SetMarkerStyle(kFullCircle);
  TotalNBins+=nZvertexbins;

  h1_trigger = new TH1F("h1_trigger", "trigger number returned", 1001,-0.5,1000.5);
  TotalNBins+=1001;

  Int_t ptbins = 2000;
  Float_t ptlow = 0.0, ptup = 20.0;
  Int_t Ebins = 1000;
  Float_t Elow = 0.0, Eup = 20.0;
  h1_E = new TH1F("h1_E", "Cluster Energy in EMCal", Ebins, Elow, Eup);
  h1_E->GetXaxis()->SetTitle("E [GeV]");
  h1_E->GetYaxis()->SetTitle("counts");
  h1_E->SetMarkerStyle(kFullCircle);
  TotalNBins+=Ebins;

  h1_Phi = new TH1F("h1_Phi", "phi distribution", 1000, -7, 7);
  h1_Phi->GetXaxis()->SetTitle("#phi [rad]");
  h1_Phi->GetYaxis()->SetTitle("dN/dP_{T} (c/GeV)");
  h1_Phi->SetMarkerStyle(kFullCircle);
  TotalNBins+=1000;

  h2_PiMotherID = new TH2F("h2_PiMotherID", "Mother ID for Truth Pi0's", 100001, -0.5,100000.5, 2, 0.5,2.5);
  h2_PiMotherID->GetXaxis()->SetTitle("#pi^{0} Mother Particle ID");
  h2_PiMotherID->GetYaxis()->SetTitle("primary or non-primary");
  h2_PiMotherID->GetZaxis()->SetTitle("counts");
  h2_PiMotherID->SetMarkerStyle(kFullCircle);
  TotalNBins+=2*100001;

  h2_GaMotherID = new TH2F("h2_GaMotherID", "Mother ID for Truth #gamma's", 100001, -0.5,100000.5, 2, 0.5,2.5);
  h2_GaMotherID->GetXaxis()->SetTitle("#gamma Mother Particle ID");
  h2_GaMotherID->GetYaxis()->SetTitle("primary or non-primary");
  h2_GaMotherID->GetZaxis()->SetTitle("counts");
  h2_GaMotherID->SetMarkerStyle(kFullCircle);
  TotalNBins+=2*100001;

  h3_gE_RecTruth = new TH3F("h3_gE_RecTruth", "#gamma E_{truth}/E_{clust} vs E_{clust}", Ebins,Elow,Eup, 1000,0,4, 4,0.5,4.5);
  h3_gE_RecTruth->GetXaxis()->SetTitle("E^{rec}_{clust} [GeV]");
  h3_gE_RecTruth->GetYaxis()->SetTitle("E^{rec}_{clust}/E^{truth}_{#gamma}");
  h3_gE_RecTruth->GetZaxis()->SetTitle("category");
  h3_gE_RecTruth->SetMarkerStyle(kFullCircle);
  TotalNBins+=Ebins*1000*4;
  
  h3_gE_RecTruth_ncellscut = new TH3F("h3_gE_RecTruth_ncellscut", "#gamma E_{truth}/E_{clust} vs E_{clust} (for nCells>1)", Ebins,Elow,Eup, 1000,0,4, 4,0.5,4.5);
  h3_gE_RecTruth_ncellscut->GetXaxis()->SetTitle("E^{rec}_{clust} [GeV]");
  h3_gE_RecTruth_ncellscut->GetYaxis()->SetTitle("E^{rec}_{clust}/E^{truth}_{#gamma}");
  h3_gE_RecTruth_ncellscut->GetZaxis()->SetTitle("category");
  h3_gE_RecTruth_ncellscut->SetMarkerStyle(kFullCircle);
  TotalNBins+=Ebins*1000*4;
  
  h1_Pi0TruthPt = new TH1F("h1_Pi0TruthPt", "P_{T} distribution for Truth Pi0's", ptbins, ptlow, ptup);
  h1_Pi0TruthPt->GetXaxis()->SetTitle("P_{T} (GeV/c)");
  h1_Pi0TruthPt->GetYaxis()->SetTitle("dN/dP_{T} (c/GeV)");
  h1_Pi0TruthPt->SetMarkerStyle(kFullCircle);
  TotalNBins+=ptbins;

  h1_PriPi0TruthPt = new TH1F("h1_PriPi0TruthPt", "P_{T} distribution for Truth Primary Pi0's", ptbins, ptlow, ptup);
  h1_PriPi0TruthPt->GetXaxis()->SetTitle("P_{T} (GeV/c)");
  h1_PriPi0TruthPt->GetYaxis()->SetTitle("dN/dP_{T} (c/GeV)");
  h1_PriPi0TruthPt->SetMarkerStyle(kFullCircle);
  TotalNBins+=ptbins;

  h1_Pi0TruthPtEmcal = new TH1F("h1_Pi0TruthPtEmcal", "P_{T} distribution for Truth Pi0's (hit EMCal)", ptbins, ptlow, ptup);
  h1_Pi0TruthPtEmcal->GetXaxis()->SetTitle("P_{T} (GeV/c)");
  h1_Pi0TruthPtEmcal->GetYaxis()->SetTitle("dN/dP_{T} (c/GeV)");
  h1_Pi0TruthPtEmcal->SetMarkerStyle(kFullCircle);
  TotalNBins+=ptbins;

  h1_PriPi0TruthPtEmcal = new TH1F("h1_PriPi0TruthPtEmcal", "P_{T} distribution for Truth Primary Pi0's (hit EMCal)", ptbins, ptlow, ptup);
  h1_PriPi0TruthPtEmcal->GetXaxis()->SetTitle("P_{T} (GeV/c)");
  h1_PriPi0TruthPtEmcal->GetYaxis()->SetTitle("dN/dP_{T} (c/GeV)");
  h1_PriPi0TruthPtEmcal->SetMarkerStyle(kFullCircle);
  TotalNBins+=ptbins;

  h2_Pi0TruthPhiEta = new TH2F("h2_Pi0TruthPhiEta","Pi0Truth Phi vs Eta ", 380,-0.02,6.30, 200,-10,10);
  h2_Pi0TruthPhiEta->GetXaxis()->SetTitle("#phi [rad]");
  h2_Pi0TruthPhiEta->GetYaxis()->SetTitle("#eta ");
  TotalNBins+=380*200;

  h2_PriPi0TruthPhiEta = new TH2F("h2_PriPi0TruthPhiEta","Primary Pi0Truth Phi vs Eta ", 380,-0.02,6.30, 200,-10,10);
  h2_PriPi0TruthPhiEta->GetXaxis()->SetTitle("#phi [rad]");
  h2_PriPi0TruthPhiEta->GetYaxis()->SetTitle("#eta ");
  TotalNBins+=380*200;

  h2_Pi0TruthPhiEtaEmcal = new TH2F("h2_Pi0TruthPhiEtaEmcal","Pi0Truth Phi vs Eta (in EMCal)", 380,-0.02,6.30, 150,-5,5);
  h2_Pi0TruthPhiEtaEmcal->GetXaxis()->SetTitle("#phi [rad]");
  h2_Pi0TruthPhiEtaEmcal->GetYaxis()->SetTitle("#eta ");
  TotalNBins+=380*150;

  h2_PriPi0TruthPhiEtaEmcal = new TH2F("h2_PriPi0TruthPhiEtaEmcal","Primary Pi0Truth Phi vs Eta (in EMCal)", 380,-0.02,6.30, 150,-5,5);
  h2_PriPi0TruthPhiEtaEmcal->GetXaxis()->SetTitle("#phi [rad]");
  h2_PriPi0TruthPhiEtaEmcal->GetYaxis()->SetTitle("#eta ");
  TotalNBins+=380*150;

  h1_TruthPhotonsEmcal = new TH1F("h1_TruthPhotonsEmcal", "P_{T} distribution for photons (in EMCal)", ptbins, ptlow, ptup);
  h1_TruthPhotonsEmcal->GetXaxis()->SetTitle("P_{T} (GeV/c)");
  h1_TruthPhotonsEmcal->GetYaxis()->SetTitle("dN/dP_{T} (c/GeV)");
  h1_TruthPhotonsEmcal->SetMarkerStyle(kFullCircle);
  TotalNBins+=ptbins;

  h2_TruthPhotonsPhiEta = new TH2F("h2_TruthPhotonsPhiEta", 
				   "Truth Photons Phi vs Eta (pointed at emcal)", 380,-0.02,6.30, 150,-1.5,1.5);
  h2_TruthPhotonsPhiEta->GetXaxis()->SetTitle("#phi [rad]");
  h2_TruthPhotonsPhiEta->GetYaxis()->SetTitle("#eta ");
  h2_TruthPhotonsPhiEta->SetMarkerStyle(kFullCircle);
  TotalNBins+=380*150;

  h1_PhotonsEmcal = new TH1F("h1_PhotonsEmcal", "P_{T} distribution for photons (in EMCal)", ptbins, ptlow, ptup);
  h1_PhotonsEmcal->GetXaxis()->SetTitle("P_{T} (GeV/c)");
  h1_PhotonsEmcal->GetYaxis()->SetTitle("dN/dP_{T} (c/GeV)");
  h1_PhotonsEmcal->SetMarkerStyle(kFullCircle);
  TotalNBins+=ptbins;

  h1_PhotonsNCellsCut = new TH1F("h1_PhotonsNCellsCut", "P_{T} distribution for #gamma's that survive NCells cut", ptbins, ptlow, ptup);
  h1_PhotonsNCellsCut->GetXaxis()->SetTitle("P_{T} (GeV/c)");
  h1_PhotonsNCellsCut->GetYaxis()->SetTitle("dN/dP_{T} (c/GeV)");
  h1_PhotonsNCellsCut->SetMarkerStyle(kFullCircle);
  TotalNBins+=ptbins;

  h1_PhotonsTrackMatchCut = new TH1F("h1_PhotonsTrackMatchCut", "P_{T} distribution for #gamma's that survive TrackMatch cut", ptbins, ptlow, ptup);
  h1_PhotonsTrackMatchCut->GetXaxis()->SetTitle("P_{T} (GeV/c)");
  h1_PhotonsTrackMatchCut->GetYaxis()->SetTitle("dN/dP_{T} (c/GeV)");
  h1_PhotonsTrackMatchCut->SetMarkerStyle(kFullCircle);
  TotalNBins+=ptbins;

  h1_PhotonsAllCut = new TH1F("h1_PhotonsAllCut", "P_{T} distribution for #gamma's that survive All cut", ptbins, ptlow, ptup);
  h1_PhotonsAllCut->GetXaxis()->SetTitle("P_{T} (GeV/c)");
  h1_PhotonsAllCut->GetYaxis()->SetTitle("dN/dP_{T} (c/GeV)");
  h1_PhotonsAllCut->SetMarkerStyle(kFullCircle);
  TotalNBins+=ptbins;

  h2_PhotonsPhiEtaIsEmcal = new TH2F("h2_PhotonsPhiEtaIsEmcal",
				     "Photons Phi vs Eta (IsEMCAL()==1)", 380,-0.02,6.30, 150,-1.5,1.5);
  h2_PhotonsPhiEtaIsEmcal->GetXaxis()->SetTitle("#phi [rad]");
  h2_PhotonsPhiEtaIsEmcal->GetYaxis()->SetTitle("#eta ");
  TotalNBins+=380*150;
  
  h1_dR_RealMC = new TH1F("h1_dR_RealMC", "P_{T} distribution for #gamma's that survive All cut", 2000, -0.01, 10);
  h1_dR_RealMC->GetXaxis()->SetTitle("dR sqrt(dx^{2}+dy^{2})");
  h1_dR_RealMC->GetYaxis()->SetTitle("N");
  h1_dR_RealMC->SetMarkerStyle(kFullCircle);
  TotalNBins+=2000;

  Int_t etabins = 150;
  Float_t etalow = -1.5, etaup = 1.5;
  h1_Eta = new TH1F("h1_Eta","#eta distribution for reconstructed",etabins, etalow, etaup);
  h1_Eta->GetXaxis()->SetTitle("#eta");
  h1_Eta->GetYaxis()->SetTitle("counts");
  TotalNBins+=etabins;
  
  Int_t chi2bins = 100;
  Float_t chi2low = -2, chi2up = 2;
  h1_Chi2 = new TH1F("h1_Chi2","#chi^{2} distribution for reconstructed",chi2bins, chi2low, chi2up);
  h1_Chi2->GetXaxis()->SetTitle("#chi^{2}");
  h1_Chi2->GetYaxis()->SetTitle("counts");
  TotalNBins+=chi2bins;

  h1_nTrkMatch = new TH1F("h1_nTrkMatch","number of matched tracks",14, -1.5, 5.5);
  h1_nTrkMatch->GetXaxis()->SetTitle("nTracksMatched");
  h1_nTrkMatch->GetYaxis()->SetTitle("counts");
  TotalNBins+=14;
       
  h1_ClusterDisp = new TH1F("h1_ClusterDisp","Dispersion of CaloCluster",1000, -1, 3);
  h1_ClusterDisp->GetXaxis()->SetTitle("cluster->GetClusterDisp()");
  h1_ClusterDisp->GetYaxis()->SetTitle("counts");
  TotalNBins+=1000;
       
  h2_Ellipse = new TH2F("h2_Ellipse","Ellipse axis M20 vs M02",500, -0.01, 1, 500, -0.01, 1);
  h2_Ellipse->GetXaxis()->SetTitle("cluster->GetM20()");
  h2_Ellipse->GetYaxis()->SetTitle("cluster->GetM02()");
  h2_Ellipse->GetZaxis()->SetTitle("counts");
  TotalNBins+=500*500;
       
  h2_EtaPt = new TH2F("h2_EtaPt","Cluster Energy vs ",etabins, etalow, etaup, ptbins, ptlow, ptup);
  h2_EtaPt->GetXaxis()->SetTitle("E [GeV]");
  h2_EtaPt->GetYaxis()->SetTitle("p_{T} [GeV/c]");
  TotalNBins+=etabins*ptbins;

  h2_dphi_deta = new TH2F("h2_dphi_deta","#Delta#phi vs #Delta#eta", 349,-1.5,5, 400,-2.0,2.0);
  h2_dphi_deta->GetXaxis()->SetTitle("#Delta#phi");
  h2_dphi_deta->GetYaxis()->SetTitle("#Delta#eta");
  TotalNBins+=349*400;
  
  h2_dphi_deta_mix = new TH2F("h2_dphi_deta_mix","#Delta#phi vs #Delta#eta (mixed events)", 349,-1.5,5, 400,-2.0,2.0);
  h2_dphi_deta_mix->GetXaxis()->SetTitle("#Delta#phi");
  h2_dphi_deta_mix->GetYaxis()->SetTitle("#Delta#eta");
  TotalNBins+=349*400;

  h2_DispRes = new TH2F("h2_DispRes", "zvtx info", 500,-0.01,1, 500,-0.1,2);
  h2_DispRes->GetXaxis()->SetTitle("EvtVtx->GetDispersion()");
  h2_DispRes->GetYaxis()->SetTitle("EvtVtx->GetZRes()");
  h2_DispRes->GetZaxis()->SetTitle("counts");
  TotalNBins+=500*500;

  h2_cells_M02 = new TH2F("h2_cells_M02", "nCells vs M02", 204,-1.5,100.5, 500,-1,1.5);
  h2_cells_M02->GetXaxis()->SetTitle("nCells");
  h2_cells_M02->GetYaxis()->SetTitle("M02");
  h2_cells_M02->GetZaxis()->SetTitle("counts");
  TotalNBins+=204*500;

  cout << endl << "Total number of bins in booked histograms:  " << TotalNBins << endl << endl;

  //TFile *f = OpenFile(1); 
  //TDirectory::TContext context(f);
    
  fOutput->Add(h1_nClusters);
  fOutput->Add(h1_zvtx);
  fOutput->Add(h1_trigger);
  fOutput->Add(h1_E);
  fOutput->Add(h1_Phi);
  fOutput->Add(h2_PiMotherID);
  fOutput->Add(h2_GaMotherID);
  fOutput->Add(h3_gE_RecTruth);
  fOutput->Add(h3_gE_RecTruth_ncellscut);
  fOutput->Add(h1_Pi0TruthPt);
  fOutput->Add(h1_PriPi0TruthPt);
  fOutput->Add(h1_Pi0TruthPtEmcal);
  fOutput->Add(h1_PriPi0TruthPtEmcal);
  fOutput->Add(h2_Pi0TruthPhiEta);
  fOutput->Add(h2_PriPi0TruthPhiEta);
  fOutput->Add(h2_Pi0TruthPhiEtaEmcal);
  fOutput->Add(h2_PriPi0TruthPhiEtaEmcal);
  fOutput->Add(h1_TruthPhotonsEmcal);
  fOutput->Add(h2_TruthPhotonsPhiEta);
  fOutput->Add(h1_PhotonsEmcal);
  fOutput->Add(h1_PhotonsNCellsCut);
  fOutput->Add(h1_PhotonsTrackMatchCut);
  fOutput->Add(h1_PhotonsAllCut);
  fOutput->Add(h2_PhotonsPhiEtaIsEmcal);
  fOutput->Add(h1_dR_RealMC);
  fOutput->Add(h1_Eta);
  fOutput->Add(h1_Chi2);
  fOutput->Add(h1_nTrkMatch);
  fOutput->Add(h1_ClusterDisp);
  fOutput->Add(h2_Ellipse);
  fOutput->Add(h2_EtaPt);
  fOutput->Add(h2_dphi_deta);
  fOutput->Add(h2_dphi_deta_mix);
  fOutput->Add(h2_DispRes);
  fOutput->Add(h2_cells_M02);

  // Post data for ALL output slots >0 here, 
  // To get at least an empty histogram 
  // 1 is the outputnumber of a certain weg of task 1  
  PostData(1, fOutput); 
}

//________________________________________________________________________
void AliAnalysisTaskSDMGammaMC::UserExec(Option_t *) 
{
  // Main loop Called for each event

  AliMCEvent *mcEvent = MCEvent();  
  Bool_t isMC = bool(mcEvent);//is this the right way to do this? 
  if (!mcEvent){
    cout << "no MC event" << endl;
    return;
  }
  
  TRandom3 randy; randy.SetSeed(0);

  double recalScale = 1.0;

  AliAnalysisManager *am = AliAnalysisManager::GetAnalysisManager();    
  
  AliESDInputHandler *esdH = dynamic_cast<AliESDInputHandler*> (am->GetInputEventHandler());
  AliAODInputHandler *aodH = dynamic_cast<AliAODInputHandler*> (am->GetInputEventHandler());
  if (!aodH && !esdH)  Printf("ERROR: Could not get ESD or AODInputHandler");
  
  if(esdH)      fEsdEv = esdH->GetEvent();    
  else if(aodH) fAodEv = aodH->GetEvent();  
  else{
    AliFatal("Neither ESD nor AOD event found");
    return;
  }


  // get pointer to reconstructed event
  AliVEvent *event = InputEvent();
  if (!event){
    AliError("Pointer == 0, this can not happen!");  return;}
  //AliESDEvent* fEsdEv = dynamic_cast<AliESDEvent*>(event);
  //AliAODEvent* aod = dynamic_cast<AliAODEvent*>(event);
  //if (!fEsdEv){
  //AliError("Cannot get the ESD event");  return;}
  
  Int_t iTrigger = 0;
  if (fEsdEv)       iTrigger = fEsdEv->GetHeader()->GetL0TriggerInputs();
  else if (fAodEv)  iTrigger = fAodEv->GetHeader()->GetL0TriggerInputs();
  //h1_trigger->Fill(iTrigger);
  
  char saythis[500];
  Int_t iTriggerBin = 0;
  for(unsigned long j=0; j<TriggerList.size(); j++){
    if(iTrigger==TriggerList[j])
      iTriggerBin=j+1;
  }
  if(iTriggerBin==0){
    TriggerList.push_back(iTrigger);
    iTriggerBin=TriggerList.size();
  }
  
  h1_trigger->SetBinContent(iTriggerBin, h1_trigger->GetBinContent(iTriggerBin)+1);
  sprintf(saythis,"%d",iTrigger);
  h1_trigger->GetXaxis()->SetBinLabel(iTriggerBin, saythis);
  
  if(fEsdEv){
    TString trigClasses = fEsdEv->GetFiredTriggerClasses();
    // remove "fast cluster events": 
    if (trigClasses.Contains("FAST")  && !trigClasses.Contains("ALL"))
      return;
  }
  else if(fAodEv){
    TString trigClasses = fAodEv->GetFiredTriggerClasses();
    // remove "fast cluster events": 
    if (trigClasses.Contains("FAST")  && !trigClasses.Contains("ALL"))
      return;
  }
  
  if (fEsdEv){
    if(!(fEsdEv->GetPrimaryVertex()->GetStatus()))   return;
  }
  //else if (fAodEv){
  //if(!(fAodEv->GetPrimaryVertex()->GetStatus()))   return;
  //}

  Double_t vertDisp=0.0;
  Double_t vertZres=0.0;
  Bool_t vertIsfromZ=0;
  if (fEsdEv){
    vertDisp    = fEsdEv->GetPrimaryVertex()->GetDispersion();
    vertZres    = fEsdEv->GetPrimaryVertex()->GetZRes();
    vertIsfromZ = fEsdEv->GetPrimaryVertex()->IsFromVertexerZ();
  }
  else if (fAodEv){
    vertDisp    = 0;
    vertZres    = 0;
    vertIsfromZ = 0;
  }    

  h2_DispRes->Fill(vertDisp, vertZres);  
  // if vertex is from spd vertexZ, require more stringent cut
  if (vertIsfromZ) {
    if (vertDisp>0.02 ||  vertZres>0.25 ) 
      return; // bad vertex from VertexerZ
  }

  Int_t nclusters=0;
  if(fEsdEv){
    //Int_t evtN      = fEsdEv->GetEventNumberInFile();  
    //Int_t ntracks   = fEsdEv->GetNumberOfTracks();
    nclusters = fEsdEv->GetNumberOfCaloClusters();
  }
  else if(fAodEv){
    //Int_t evtN      = fAodEv->GetEventNumberInFile();  
    //Int_t ntracks   = fAodEv->GetNumberOfTracks();
    nclusters = fAodEv->GetNumberOfCaloClusters();
  }

  // EMCal cluster loop for reconstructed event
  //numberofclusters set above! 
  Double_t vertZ=0.0;
  if (fEsdEv)       vertZ = fEsdEv->GetPrimaryVertex()->GetZ();
  else if (fAodEv)  vertZ = fAodEv->GetPrimaryVertex()->GetZ();    

  h1_zvtx->Fill(vertZ);
  //zvertex cut:
  if(fabs(vertZ)>10.0)
    return;
  
  h1_nClusters->Fill(nclusters);

  //cout << iskip << " " << izvtx << " " << imult << endl;  
  //cout << "GetNumberOfVertices(): " << fAodEv->GetNumberOfVertices() << endl;



  //######################### ~~~~~~~~~~~ ##################################
  //######################### STARTING MC ##################################
  //######################### ~~~~~~~~~~~ ##################################
  
  if(isMC){
    int isPrimary  = 0;
    int isK0sDecay = 0;

    if (!mcEvent){
      cout << "no MC event" << endl;
      return;
    }
    
    const AliVVertex *evtVtx = mcEvent->GetPrimaryVertex();
    if (!evtVtx)
      return;
    
    mcEvent->PreReadAll();    
    
    Int_t nTracksMC  = mcEvent->GetNumberOfTracks();
    Int_t nPTracksMC = mcEvent->GetNumberOfPrimaries();

    for (Int_t iTrack = 0; iTrack<nTracksMC; ++iTrack) {
      AliMCParticle *mcP = static_cast<AliMCParticle*>(mcEvent->GetTrack(iTrack));
      if (!mcP)
	continue;            
      
      if(iTrack<nPTracksMC)  isPrimary = 1;
      else                   isPrimary = 0;
      
      if(mcP->PdgCode() == 22){
	if(isPrimary==1){
	  if(mcP->GetMother()>-1)
	    h2_GaMotherID->Fill(( (AliMCParticle*)mcEvent->GetTrack(mcP->GetMother()) )->PdgCode(), 1);
	  else
	    h2_GaMotherID->Fill(0.0,1);
	}
	else
	  h2_GaMotherID->Fill(( (AliMCParticle*)mcEvent->GetTrack(mcP->GetMother()) )->PdgCode(), 2);	
      }
      
      // it's a pion !! 
      if(mcP->PdgCode() != 111)
	continue;
      
      isK0sDecay = 0;
      if(mcP->GetMother()>-1){
	if( ((AliMCParticle*)mcEvent->GetTrack(mcP->GetMother()))->PdgCode() ==  310 ||
	    ((AliMCParticle*)mcEvent->GetTrack(mcP->GetMother()))->PdgCode() == -310  )
	  isK0sDecay = 1;
      }      
      
      // primary particle
      //Double_t dR_vtx = TMath::Sqrt((mcP->Xv()-evtVtx->GetX())*(mcP->Xv()-evtVtx->GetX()) + 
      //			    (mcP->Yv()-evtVtx->GetY())*(mcP->Yv()-evtVtx->GetY()));
      //if(dR_vtx <= 0.01)  isPrimary = 1;
      //else            isPrimary = 0;
      
      
      if(isPrimary==1){
	if(mcP->GetMother()>-1)
	  h2_PiMotherID->Fill(( (AliMCParticle*)mcEvent->GetTrack(mcP->GetMother()) )->PdgCode(), 1);
	else
	  h2_PiMotherID->Fill(0.0,1);
      }
      else
	h2_PiMotherID->Fill(( (AliMCParticle*)mcEvent->GetTrack(mcP->GetMother()) )->PdgCode(), 2);
      
      h1_Pi0TruthPt    ->Fill(mcP->Pt());
      h2_Pi0TruthPhiEta->Fill(mcP->Phi(),mcP->Eta());
      
      if(isPrimary==1){
	h1_PriPi0TruthPt    ->Fill(mcP->Pt());
	h2_PriPi0TruthPhiEta->Fill(mcP->Phi(),mcP->Eta());
      }
      
      if(mcP->Eta()<-1.0 || mcP->Eta()>1.0)
	continue;
      
      Int_t DecayPhotonLabel[2] = {mcP->GetFirstDaughter(),
				   mcP->GetLastDaughter() };
      
      if (DecayPhotonLabel[0]<0)  continue;
      if (DecayPhotonLabel[1]<0)  DecayPhotonLabel[1]=DecayPhotonLabel[0];      
      if (DecayPhotonLabel[1]-DecayPhotonLabel[0] != 1)  continue;
      
      bool bacc = true;
      bool binp = true;
      bool isConv[2] = {1,1};
      Int_t convIndices[2][2] = { {-1,-1},{-1,-1} };
      Double_t eta_d[2] = {0.0,0.0};
      Double_t phi_d[2] = {0.0,0.0};
      Int_t daughter_index = -1;
      for (Int_t iPhoton=DecayPhotonLabel[0];iPhoton<=DecayPhotonLabel[1];++iPhoton){
	if(iPhoton==DecayPhotonLabel[0]) daughter_index=0;
	else                             daughter_index=1;
        const AliMCParticle *dmc = static_cast<const AliMCParticle *>(mcEvent->GetTrack(iPhoton));
	eta_d[daughter_index] = dmc->Eta();
	phi_d[daughter_index] = dmc->Phi();
        if(!(dmc->PdgCode()==22))             binp = false;
        if(!(eta_d[daughter_index]>fEtamin && eta_d[daughter_index]<fEtamax && 
	     phi_d[daughter_index]>fPhimin && phi_d[daughter_index]<fPhimax   ))   bacc = false;	
	
	if( ((TParticle*)dmc->Particle())->GetNDaughters() != 2 )  isConv[daughter_index] = 0;
	else{//if photon has 2 daughters. 
	  
	  Int_t dd1 = dmc->GetFirstDaughter();
	  Int_t dd2 = dmc->GetLastDaughter();
	  if (dd2-dd1 != 1)  cout << "How can this happen???? " << endl;
	  const AliMCParticle *dd1mc = static_cast<const AliMCParticle *>(mcEvent->GetTrack(dd1));
	  const AliMCParticle *dd2mc = static_cast<const AliMCParticle *>(mcEvent->GetTrack(dd2));
	  if( dd1mc->PdgCode() != -dd2mc->PdgCode() )
	    isConv[daughter_index] = 0;
	  else if( TMath::Abs(dd1mc->PdgCode())!=11 )
	    isConv[daughter_index] = 0;
	  if(isConv[daughter_index]==1){//store the e+e- indices...
	    convIndices[daughter_index][0] = dd1;
	    convIndices[daughter_index][1] = dd2;
	  }//if this photon converted. 
	}//close else-if photon has 2 daughters.
      }//loop over 2 decay photons (iPhoton)
      
      if(binp && bacc){// 2 Photons hit the EMCAL! 

	h1_Pi0TruthPtEmcal    ->Fill(mcP->Pt());
	h2_Pi0TruthPhiEtaEmcal->Fill(mcP->Phi(),mcP->Eta());		
	
	if(isPrimary==1){
	  h1_PriPi0TruthPtEmcal    ->Fill(mcP->Pt());
	  h2_PriPi0TruthPhiEtaEmcal->Fill(mcP->Phi(),mcP->Eta());
	}
	
	Int_t PhotonClusterMatch[2][3]  = { {0,-1,-1},
					    {0,-1,-1} };
	Int_t PhotonElectronMatch[2][6] = { {0,-1,-1,-1,-1,-1},
					    {0,-1,-1,-1,-1,-1} };
	
	for(int iCluster=0; iCluster<nclusters; iCluster++) {	    
	  
	  AliESDCaloCluster* esdCluster=NULL;
	  AliAODCaloCluster* aodCluster=NULL;
	  if (fEsdEv)       esdCluster = fEsdEv->GetCaloCluster(iCluster); // pointer to EMCal cluster
	  else if (fAodEv)  aodCluster = fAodEv->GetCaloCluster(iCluster); // pointer to EMCal cluster
	  
	  Double_t clustMC_phi, clustMC_eta;	  
	  if(fEsdEv){	    
	    if(esdCluster->IsEMCAL()){		

	      if(!isGoodEsdCluster(esdCluster))
		continue;
	      
	      Float_t pos[3] = {0,0,0};
	      esdCluster->GetPosition(pos);
	      TVector3 vpos(pos);
	      h1_Phi->Fill(vpos.Phi());
	      clustMC_phi = vpos.Phi();
	      clustMC_eta = vpos.Eta();
	      
	      Double_t dR = TMath::Sqrt((eta_d[daughter_index]-clustMC_eta)*(eta_d[daughter_index]-clustMC_eta) + 
					(phi_d[daughter_index]-clustMC_phi)*(phi_d[daughter_index]-clustMC_phi));
	      h1_dR_RealMC->Fill(dR);
	      //matches_pion_photon = 0;
	      //if(dR<=0.04) matches_pion_photon = 1;
	      
	      TArrayI *TruthLabelsA = esdCluster->GetLabelsArray();
	      if(TruthLabelsA){
		for(int itl=0; itl<TruthLabelsA->GetSize(); itl++){
		  
		  for(int iPhoton=0; iPhoton<2; iPhoton++){
		    if(TruthLabelsA->At(itl)==DecayPhotonLabel[iPhoton]){
		      PhotonClusterMatch[iPhoton][0] = 1;
		      PhotonClusterMatch[iPhoton][1] = DecayPhotonLabel[iPhoton];
		      PhotonClusterMatch[iPhoton][2] = iCluster;
		    }
		  }//loop over truth labels.
		  
		  AliMCParticle *elecCandidate = (AliMCParticle*)(mcEvent->GetTrack(TruthLabelsA->At(itl)));
		  if(TMath::Abs(elecCandidate->PdgCode())==11){//if we have an electron...
		    Int_t elecMother_index = elecCandidate->GetMother();
		    if(elecMother_index>1 && elecMother_index<nTracksMC){
		      AliMCParticle *elecMother   = (AliMCParticle*)(mcEvent->GetTrack(elecMother_index));
		      if( TMath::Abs(elecMother->PdgCode())==22 ){//if the e's mother is a photon...
			Int_t elecGrandMother_index = elecMother->GetMother();
			if(elecGrandMother_index==iTrack){//if the e's gMother is THE pi0 in question...
			  AliMCParticle *elecGrandMother = (AliMCParticle*)(mcEvent->GetTrack(elecGrandMother_index));
			  if( TMath::Abs(elecGrandMother->PdgCode())!=111 ) cout << "|| This can't happen!!  A pion is a pion is a pion is a pion... ||" << endl;
			  
			  for(int iPhoton=0; iPhoton<2; iPhoton++){
			    //if(convIndices[iPhoton][0]==elecMother_index){
			    if(convIndices[iPhoton][0]==TruthLabelsA->At(itl) || convIndices[iPhoton][1]==TruthLabelsA->At(itl)){
			      if(PhotonElectronMatch[iPhoton][1] == DecayPhotonLabel[iPhoton]) PhotonElectronMatch[iPhoton][0] = 2;
			      else                                                             PhotonElectronMatch[iPhoton][0] = 1;
			      PhotonElectronMatch[iPhoton][1] = DecayPhotonLabel[iPhoton];
			      if(PhotonElectronMatch[iPhoton][2]==-1) PhotonElectronMatch[iPhoton][2] = iCluster;//first cluster
			      else                                    PhotonElectronMatch[iPhoton][3] = iCluster;//second cluster
			      if(PhotonElectronMatch[iPhoton][2]==-1) PhotonElectronMatch[iPhoton][4] = elecCandidate->PdgCode();
			      else                                    PhotonElectronMatch[iPhoton][5] = elecCandidate->PdgCode();
			    }			    
			  }//loop over both decay photons
			  
			}//if it's THE pi0.
		      }//if we have a photon.	 
		    }//if we have an electron.
		  }//if the candidate has a real mother.
		  
		}//itl (TruthLabel loop)
	      }//if(TruthLabelsA exists)
	    }//if(isEMCal)
	  }//if(esdEv)
	}//loop over clusters. 

	
	for(int iPhoton=0; iPhoton<2; iPhoton++){
	  AliMCParticle *truthP = (AliMCParticle*)(mcEvent->GetTrack(DecayPhotonLabel[iPhoton]));
	  if(!truthP)
	    continue;
	  if(PhotonClusterMatch[iPhoton][0]==1){
	    AliESDCaloCluster *esdCluster = fEsdEv->GetCaloCluster(PhotonClusterMatch[iPhoton][2]);
	    recalScale = PrivateEnergyRecal(esdCluster->E(), fRecalibrator);
	    h3_gE_RecTruth->Fill(recalScale*esdCluster->E(), truthP->E()/(recalScale*esdCluster->E()), 1);
	    if(esdCluster->GetNCells()>=2)
	      h3_gE_RecTruth_ncellscut->Fill(recalScale*esdCluster->E(), truthP->E()/(recalScale*esdCluster->E()), 1);
	  }
	  else if(PhotonElectronMatch[iPhoton][0]==2 && PhotonElectronMatch[iPhoton][2] == PhotonElectronMatch[iPhoton][3]){//merged conv photon
	    AliESDCaloCluster *esdCluster = fEsdEv->GetCaloCluster(PhotonElectronMatch[iPhoton][2]);
	    recalScale = PrivateEnergyRecal(esdCluster->E(), fRecalibrator);
	    h3_gE_RecTruth->Fill(recalScale*esdCluster->E(), truthP->E()/(recalScale*esdCluster->E()), 2);
	    if(esdCluster->GetNCells()>=2)
	      h3_gE_RecTruth_ncellscut->Fill(recalScale*esdCluster->E(), truthP->E()/(recalScale*esdCluster->E()), 2);
	  }
	  else if(PhotonElectronMatch[iPhoton][0]==2){//non-merged conv photon (but both hit emcal)
	    AliESDCaloCluster *esdCluster = fEsdEv->GetCaloCluster(PhotonElectronMatch[iPhoton][2]);
	    recalScale = PrivateEnergyRecal(esdCluster->E(), fRecalibrator);
	    h3_gE_RecTruth->Fill(recalScale*esdCluster->E(), truthP->E()/(recalScale*esdCluster->E()), 4);
	    if(esdCluster->GetNCells()>=2)
	      h3_gE_RecTruth_ncellscut->Fill(recalScale*esdCluster->E(), truthP->E()/(recalScale*esdCluster->E()), 4);
	                       esdCluster = fEsdEv->GetCaloCluster(PhotonElectronMatch[iPhoton][3]);
	    recalScale = PrivateEnergyRecal(esdCluster->E(), fRecalibrator);
	    h3_gE_RecTruth->Fill(recalScale*esdCluster->E(), truthP->E()/(recalScale*esdCluster->E()), 4);
	    if(esdCluster->GetNCells()>=2)
	      h3_gE_RecTruth_ncellscut->Fill(recalScale*esdCluster->E(), truthP->E()/(recalScale*esdCluster->E()), 4);
	  }
	  else if(PhotonElectronMatch[iPhoton][0]==1){//non-merged conv photon (one missed emcal)
	    AliESDCaloCluster *esdCluster = fEsdEv->GetCaloCluster(PhotonElectronMatch[iPhoton][2]);
	    recalScale = PrivateEnergyRecal(esdCluster->E(), fRecalibrator);
	    h3_gE_RecTruth->Fill(recalScale*esdCluster->E(), truthP->E()/(recalScale*esdCluster->E()), 3);
	    if(esdCluster->GetNCells()>=2)
	      h3_gE_RecTruth_ncellscut->Fill(recalScale*esdCluster->E(), truthP->E()/(recalScale*esdCluster->E()), 3);
	  }
	}//loop over decay photons (iPhoton).	  
	
      }// 2 Photons pointed at the EMCAL!       
    }//for(nTracksMC) ie. Truth Pion loop. 
    
  }//if(isMC)
  
  //######################### ~~~~~~~~~~~~ ##################################
  //######################### DONE WITH MC ##################################
  //######################### ~~~~~~~~~~~~ ##################################
  
  
  
  // NEW HISTO should be filled before this point, as PostData puts the
  // information for this iteration of the UserExec in the container
  PostData(1, fOutput);
  }

//________________________________________________________________________
void AliAnalysisTaskSDMGammaMC::Terminate(Option_t *) //specify what you want to have done
{
  // Called once at the end of the query.
  
}

//________________________________________________________________________
Int_t AliAnalysisTaskSDMGammaMC::GetZvtxBin(Double_t vertZ)
{
  
  int izvtx = -1;
  
  if     (vertZ<-35)
    izvtx=0;
  else if(vertZ<-30)
    izvtx=1;
  else if(vertZ<-25)
    izvtx=2;
  else if(vertZ<-20)
    izvtx=3;
  else if(vertZ<-15)
    izvtx=4;
  else if(vertZ<-10)
    izvtx=5;
  else if(vertZ< -5)
    izvtx=6;
  else if(vertZ<  0)
    izvtx=7;
  else if(vertZ<  5)
    izvtx=8;
  else if(vertZ< 10)
    izvtx=9;
  else if(vertZ< 15)
    izvtx=10;
  else if(vertZ< 20)
    izvtx=11;
  else if(vertZ< 25)
    izvtx=12;
  else if(vertZ< 30)
    izvtx=13;
  else if(vertZ< 35)
    izvtx=14;
  else
    izvtx=15;
  
  return izvtx;  
}

//________________________________________________________________________
Int_t AliAnalysisTaskSDMGammaMC::GetMultBin(Int_t mult){

  int imult = -1;
  
  if     (mult<2)
    imult=0;
  else if(mult<25)
    imult=mult-2;
  else
    imult=24;
  
  return imult;  
}

//________________________________________________________________________
Int_t AliAnalysisTaskSDMGammaMC::isGoodEsdCluster(AliESDCaloCluster* esdclust){

  int pass = 1;
  int nMinCells  = 1;
  double MinE    = 0.4;
  //double MinErat = 0;
  //double MinEcc  = 0;
  
  if (!esdclust)
    pass = 0;    
  if (!esdclust->IsEMCAL()) 
    pass = 0;//removes ~70% of clusters.
  if (esdclust->E()<MinE)
    pass = 0;//does nothing
  if (esdclust->GetNCells()<nMinCells)
    pass = 0;//does nothing
  //if (GetMaxCellEnergy(esdclust)/esdclust->E()<MinErat)
  //pass = 0;
  //if (esdclust->Chi2()<MinEcc) // eccentricity cut
  //pass = 0;//this is always -1.
    
  /*
  //This cuts out more than just 1 cell clusters
  //and drains the statistics badly.  
  //haven't figured out what it does yet. 
  if(esdclust->GetM20()<0.02)
  pass = 0;
  */
  //if(esdclust->GetM02()<0.1)
  //  pass = 0;
  //if(esdclust->GetM02()>0.5)
  //  pass = 0;
  //if(esdclust->GetNCells()<2)
  //  pass = 0;    

  Float_t pos[3] = {0,0,0};
  esdclust->GetPosition(pos);
  TVector3 clusterPosition(pos);
  if(clusterPosition.Eta()<fEtamin || clusterPosition.Eta()>fEtamax || 
     clusterPosition.Phi()<fPhimin || clusterPosition.Phi()>fPhimax  )
    pass = 0;
  clusterPosition.Delete();

  //doing this by hand now... 
  //if(!esdclust->GetNTracksMatched()==0)
  //pass = 0;
  
  return pass;
}

//________________________________________________________________________
Int_t AliAnalysisTaskSDMGammaMC::isGoodAodCluster(AliAODCaloCluster* aodclust){

  int pass = 1;
  int nMinCells  = 1;
  double MinE    = 0.4;
  //double MinErat = 0;
  //double MinEcc  = 0;
  
  if (!aodclust)
    pass = 0;    
  if (!aodclust->IsEMCAL()) 
    pass = 0;//removes ~70% of clusters.
  if (aodclust->E()<MinE)
    pass = 0;//does nothing
  if (aodclust->GetNCells()<nMinCells)
    pass = 0;//does nothing
  //if (GetMaxCellEnergy(aodclust)/aodclust->E()<MinErat)
  //pass = 0;
  //if (aodclust->Chi2()<MinEcc) // eccentricity cut
  //pass = 0;//this is always -1.
    
  /*
  //This cuts out more than just 1 cell clusters
  //and drains the statistics badly.  
  //haven't figured out what it does yet. 
  if(aodclust->GetM20()<0.02)
  pass = 0;
  if(aodclust->GetM02()<0.02)
  pass = 0;
  */
  //if(aodclust->GetM02()<0.1)
  //  pass = 0;
  //if(aodclust->GetM02()>0.5)
  //  pass = 0;
  //if(aodclust->GetNCells()<2)
  //  pass = 0;    

  Float_t pos[3] = {0,0,0};
  aodclust->GetPosition(pos);
  TVector3 clusterPosition(pos);
  if(clusterPosition.Eta()<fEtamin || clusterPosition.Eta()>fEtamax || 
     clusterPosition.Phi()<fPhimin || clusterPosition.Phi()>fPhimax  )
    pass = 0;
  clusterPosition.Delete();

  //if(!aodclust->GetNTracksMatched()==0)
  //pass = 0;
  
  return pass;
}
 
//________________________________________________________________________
Double_t AliAnalysisTaskSDMGammaMC::getDeltaPhi(TLorentzVector p1, TLorentzVector p2){

  double dphi = p1.Phi() - p2.Phi();

  if(dphi<0.5*TMath::Pi())  
    dphi = dphi + 2.0*TMath::Pi();

  if(dphi>1.5*TMath::Pi())  
    dphi = dphi - 2.0*TMath::Pi();

  return dphi;
}

//________________________________________________________________________
Double_t AliAnalysisTaskSDMGammaMC::getDeltaEta(TLorentzVector p1, TLorentzVector p2){

  double deta = p1.PseudoRapidity() - p2.PseudoRapidity();

  return deta;
}


//________________________________________________________________________
Double_t AliAnalysisTaskSDMGammaMC::PrivateEnergyRecal(Double_t energy, Int_t iCalib){
  
  double recalibfactor = 0.0;
  
  if(iCalib==0){// no recalibration! 
    recalibfactor = 1.0;
  }
  else if(iCalib==1){// just a scale factor: 
    recalibfactor = 0.984;
  }
  else if(iCalib==2){// Symmetric Decay Fit - corrects data to uncorrected MC. 
    Double_t p[3] = {0.96968, -2.68720, -0.831607};
    recalibfactor = p[0] + exp(p[1] + p[2]*energy*2.0);
  }
  else if(iCalib==3){// Jason's fit to the LHC12f1a MC single photons - 04 Aug 2013 (call it kPi0MCv4??)
    Double_t p[7] = {1.00000e+00, 3.04925e-02, 4.69043e+00, 9.67998e-02, 2.19381e+02, 6.31604e+01, 1.00046e+00};
    recalibfactor = ((p[6])/(p[0]*(1./(1.+p[1]*exp(-energy/p[2]))*1./(1.+p[3]*exp((energy-p[4])/p[5])))));
  }
  else if(iCalib==4){// Jason's fit to the test beam data - 04 Aug 2013(call it kBTCv3??)
    Double_t p[7] = {9.78672e-01, 2.39745e-01, 6.41199e-01, 9.13538e-02, 1.46058e+02, 1.99469e+01, 9.72716e-01};
    recalibfactor = ((p[6])/(p[0]*(1./(1.+p[1]*exp(-energy/p[2]))*1./(1.+p[3]*exp((energy-p[4])/p[5])))));
  }
  else if(iCalib==5){// Based on kSDM/kTBCv3 (call it kPi0MCv4??)
    Double_t p[10] = {9.78672e-01, 2.39745e-01, 6.41199e-01, 9.13538e-02, 1.46058e+02, 1.99469e+01, 9.72716e-01, 0.96968, -2.68720, -0.831607};
    recalibfactor = ( (p[6]/(p[0]*(1./(1.+p[1]*exp(-energy/p[2]))*1./(1.+p[3]*exp((energy-p[4])/p[5]))))) ) / ( p[7] + exp(p[8] + p[9]*energy/2.0) );
  }
  else if(iCalib==6){// kBeamTestCorrectedv2 - in AliROOT! 
    Double_t p[7] = {9.83504e-01, 2.10106e-01, 8.97274e-01, 8.29064e-02, 1.52299e+02, 3.15028e+01, 0.968};
    recalibfactor = ((p[6])/(p[0]*(1./(1.+p[1]*exp(-energy/p[2]))*1./(1.+p[3]*exp((energy-p[4])/p[5])))));
  }
  else if(iCalib==7){// kPi0MCv3 - in AliROOT! 
    Double_t p[7] = {9.81039e-01, 1.13508e-01, 1.00173e+00, 9.67998e-02, 2.19381e+02, 6.31604e+01, 1.0};
    recalibfactor = ((p[6])/(p[0]*(1./(1.+p[1]*exp(-energy/p[2]))*1./(1.+p[3]*exp((energy-p[4])/p[5])))));
  }
  else if(iCalib==8){// Jason's fit to the noNL MC/data- based on kSDM and kPi0MCv5 - 28 Oct 2013 (call it... ??)
    Double_t p[10] = {1.0, 6.64778e-02, 1.57000e+00, 9.67998e-02, 2.19381e+02, 6.31604e+01, 1.01286, 0.964, -3.132, -0.435};
    recalibfactor = ((p[6])/(p[0]*(1./(1.+p[1]*exp(-energy/p[2]))*1./(1.+p[3]*exp((energy-p[4])/p[5]))))) * (p[7] + exp(p[8]+p[9]*energy*2.0));
  }
  else if(iCalib==9){// Jason's fit to the LHC12f1a/b MC single photons (above 400MeV), including conversions - 28 Oct 2013 (call it kPi0MCv5??)
    Double_t p[7] = {1.0, 6.64778e-02, 1.57000e+00, 9.67998e-02, 2.19381e+02, 6.31604e+01, 1.01286};
    recalibfactor = ((p[6])/(p[0]*(1./(1.+p[1]*exp(-energy/p[2]))*1./(1.+p[3]*exp((energy-p[4])/p[5])))));
  }
  else if(iCalib==10){// Jason played with test beam data
    Double_t p[7] = {1.0, 0.237767, 0.651203, 0.183741, 155.427, 17.0335, 0.987054};
    recalibfactor = ((p[6])/(p[0]*(1./(1.+p[1]*exp(-energy/p[2]))*1./(1.+p[3]*exp((energy-p[4])/p[5])))));
  }
  else if(iCalib==11){// Jason played with test beam MC
    Double_t p[7] = {1.0, 0.0797873, 1.68322, 0.0806098, 244.586, 116.938, 1.00437};
    recalibfactor = ((p[6])/(p[0]*(1./(1.+p[1]*exp(-energy/p[2]))*1./(1.+p[3]*exp((energy-p[4])/p[5])))));
  }
  
  return recalibfactor;
}

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