ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *					                           					          *
 * Authors: Friederike Bock, Baldo Sahlmueller 		                      *
 * Version 1.0                        	       							  *
 *                           						 					  *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is    	  *
 * provided "as is" without express or implied warranty.       			  *
 **************************************************************************/

////////////////////////////////////////////////
//---------------------------------------------
// Class handling all kinds of selection cuts for
// Photon from EMCAL clusters
//---------------------------------------------
////////////////////////////////////////////////

#include "AliCaloPhotonCuts.h"
#include "AliAnalysisManager.h"
#include "AliInputEventHandler.h"
#include "AliMCEventHandler.h"
#include "AliAODHandler.h"
#include "TH1.h"
#include "TH2.h"
#include "TF1.h"
#include "AliStack.h"
#include "AliAODConversionMother.h"
#include "AliAODConversionPhoton.h"
#include "TObjString.h"
#include "AliAODEvent.h"
#include "AliESDEvent.h"
#include "AliCentrality.h"
#include "TList.h"
#include "TFile.h"
#include "AliLog.h"
#include "AliV0ReaderV1.h"
#include "AliAODMCParticle.h"
#include "AliAODMCHeader.h"
#include "AliPicoTrack.h"
#include "AliEMCALRecoUtils.h"
#include "AliTrackerBase.h"

class iostream;

using namespace std;

ClassImp(AliCaloPhotonCuts)


const char* AliCaloPhotonCuts::fgkCutNames[AliCaloPhotonCuts::kNCuts] = {
	"ClusterType",          //0   0: all,    1: EMCAL,   2: PHOS
	"EtaMin",               //1   0: -10,    1: -0.6687, 2: -0,5, 3: -2
	"EtaMax",               //2   0: 10,     1: 0.66465, 2: 0.5,  3: 2
	"PhiMin",               //3   0: -10000, 1: 1.39626
	"PhiMax",               //4   0: 10000, 1: 3.125
	"DistanceToBadChannel",	//5   0: 0,      1: 5
	"Timing",               //6   0: no cut
	"TrackMatching",        //7   0: 0,      1: 5
	"ExoticCell",           //8   0: no cut
	"MinEnergy",            //9   0: no cut, 1: 0.05,    2: 0.1,  3: 0.15, 4: 0.2, 5: 0.3, 6: 0.5, 7: 0.75, 8: 1, 9: 1.25 (all GeV)
	"MinNCells",            //10  0: no cut, 1: 1,       2: 2,    3: 3,    4: 4,   5: 5,   6: 6
	"MinM02",				//11
	"MaxM02",				//12
	"MinM20",				//13
	"MaxM20",				//14
	"MaximumDispersion",	//15
	"NLM"					//16
};


//________________________________________________________________________
AliCaloPhotonCuts::AliCaloPhotonCuts(const char *name,const char *title) :
	AliAnalysisCuts(name,title),
	fHistograms(NULL),	
	fClusterType(0),
	fMinEtaCut(-10),
	fMaxEtaCut(10),
	fUseEtaCut(0),
	fMinPhiCut(-10000),
	fMaxPhiCut(-10000),
	fUsePhiCut(0),
	fMinDistanceToBadChannel(0),
	fUseDistanceToBadChannel(0),
	fMaxTimeDiff(10e10),
	fUseTimeDiff(0),
    fMaxDistTrackToClusterEta(0),
    fMinDistTrackToClusterPhi(0),
    fMaxDistTrackToClusterPhi(0),
	fUseDistTrackToCluster(0),
    fExtendedMatching(kFALSE),
	fExoticCell(0),
	fUseExoticCell(0),
	fMinEnergy(0),
	fUseMinEnergy(0),
	fMinNCells(0),
	fUseNCells(0),
	fMaxM02(1000),
	fMinM02(0),
	fUseM02(0),
	fMaxM20(1000),
	fMinM20(0),
	fUseM20(0),
	fMaxDispersion(1000),
	fUseDispersion(0),
	fMinNLM(0),
	fMaxNLM(1000),
	fUseNLM(0),
	fCutString(NULL),
	fHistCutIndex(NULL),
	fHistAcceptanceCuts(NULL),
	fHistClusterIdentificationCuts(NULL),
	fHistClusterEtavsPhiBeforeAcc(NULL),
	fHistClusterEtavsPhiAfterAcc(NULL),
	fHistClusterEtavsPhiAfterQA(NULL),
    //fHistDistanceToBadChannelBeforeAcc(NULL),
    //fHistDistanceToBadChannelAfterAcc(NULL),
	fHistClusterTimevsEBeforeQA(NULL),
	fHistClusterTimevsEAfterQA(NULL),
    //fHistExoticCellBeforeQA(NULL),
    //fHistExoticCellAfterQA(NULL),
    //fHistNMatchedTracks(NULL),
	fHistEnergyOfClusterBeforeQA(NULL),
	fHistEnergyOfClusterAfterQA(NULL),
	fHistNCellsBeforeQA(NULL),
	fHistNCellsAfterQA(NULL),
	fHistM02BeforeQA(NULL),
	fHistM02AfterQA(NULL),
	fHistM20BeforeQA(NULL),
	fHistM20AfterQA(NULL),
	fHistDispersionBeforeQA(NULL),
    fHistDispersionAfterQA(NULL),
    //fHistNLMBeforeQA(NULL),
    //fHistNLMAfterQA(NULL),
    fHistClusterRBeforeQA(NULL),
    fHistClusterRAfterQA(NULL),
    fHistClusterdEtadPhiBeforeQA(NULL),
    fHistClusterdEtadPhiAfterQA(NULL),
    fHistDistanceTrackToClusterBeforeQA(NULL),
    fHistDistanceTrackToClusterAfterQA(NULL),
    fHistClusterdEtadPhiPosTracksBeforeQA(NULL),
    fHistClusterdEtadPhiNegTracksBeforeQA(NULL),
    fHistClusterdEtadPhiPosTracksAfterQA(NULL),
    fHistClusterdEtadPhiNegTracksAfterQA(NULL),
    fHistClusterdEtadPhiPosTracks_P1_BeforeQA(NULL),
    fHistClusterdEtadPhiPosTracks_P14_BeforeQA(NULL),
    fHistClusterdEtadPhiPosTracks_P4_BeforeQA(NULL),
    fHistClusterdEtadPhiNegTracks_P1_BeforeQA(NULL),
    fHistClusterdEtadPhiNegTracks_P14_BeforeQA(NULL),
    fHistClusterdEtadPhiNegTracks_P4_BeforeQA(NULL),
    fHistClusterdEtadPtBeforeQA(NULL),
    fHistClusterdPhidPtBeforeQA(NULL),
    fHistClusterM20Pt_dPhiBeforeQA(NULL),
    fHistClusterM02Pt_dPhiBeforeQA(NULL),
    fHistClusterM20M02BeforeQA(NULL),
    fHistClusterM20M02AfterQA(NULL)
{
   for(Int_t jj=0;jj<kNCuts;jj++){fCuts[jj]=0;}
   fCutString=new TObjString((GetCutNumber()).Data());
}

//________________________________________________________________________
AliCaloPhotonCuts::AliCaloPhotonCuts(const AliCaloPhotonCuts &ref) :
   AliAnalysisCuts(ref),
 	fHistograms(NULL),	
 	fClusterType(ref.fClusterType),
	fMinEtaCut(ref.fMinEtaCut),
	fMaxEtaCut(ref.fMaxEtaCut),
	fUseEtaCut(ref.fUseEtaCut),
	fMinPhiCut(ref.fMinPhiCut),
	fMaxPhiCut(ref.fMaxPhiCut),
	fUsePhiCut(ref.fUsePhiCut),
	fMinDistanceToBadChannel(ref.fMinDistanceToBadChannel),
	fUseDistanceToBadChannel(ref.fUseDistanceToBadChannel),
	fMaxTimeDiff(ref.fMaxTimeDiff),
	fUseTimeDiff(ref.fUseTimeDiff),
    fMaxDistTrackToClusterEta(ref.fMaxDistTrackToClusterEta),
    fMinDistTrackToClusterPhi(ref.fMinDistTrackToClusterPhi),
    fMaxDistTrackToClusterPhi(ref.fMaxDistTrackToClusterPhi),
	fUseDistTrackToCluster(ref.fUseDistTrackToCluster),
    fExtendedMatching(ref.fExtendedMatching),
	fExoticCell(ref.fExoticCell),
	fUseExoticCell(ref.fUseExoticCell),
	fMinEnergy(ref.fMinEnergy),
	fUseMinEnergy(ref.fUseMinEnergy),
	fMinNCells(ref.fMinNCells),
	fUseNCells(ref.fUseNCells),
	fMaxM02(ref.fMaxM02),
	fMinM02(ref.fMinM02),
	fUseM02(ref.fUseM02),
	fMaxM20(ref.fMaxM20),
	fMinM20(ref.fMinM20),
	fUseM20(ref.fUseDispersion),
	fMaxDispersion(ref.fMaxDispersion),
	fUseDispersion(ref.fUseDispersion),
	fMinNLM(ref.fMinNLM),
	fMaxNLM(ref.fMaxNLM),
	fUseNLM(ref.fUseNLM),
	fCutString(NULL),
	fHistCutIndex(NULL),
	fHistAcceptanceCuts(NULL),
	fHistClusterIdentificationCuts(NULL),
	fHistClusterEtavsPhiBeforeAcc(NULL),
	fHistClusterEtavsPhiAfterAcc(NULL),
	fHistClusterEtavsPhiAfterQA(NULL),
    //fHistDistanceToBadChannelBeforeAcc(NULL),
    //fHistDistanceToBadChannelAfterAcc(NULL),
	fHistClusterTimevsEBeforeQA(NULL),
	fHistClusterTimevsEAfterQA(NULL),
    //fHistExoticCellBeforeQA(NULL),
    //fHistExoticCellAfterQA(NULL),
    //fHistNMatchedTracks(NULL),
	fHistEnergyOfClusterBeforeQA(NULL),
	fHistEnergyOfClusterAfterQA(NULL),
	fHistNCellsBeforeQA(NULL),
	fHistNCellsAfterQA(NULL),
	fHistM02BeforeQA(NULL),
	fHistM02AfterQA(NULL),
	fHistM20BeforeQA(NULL),
	fHistM20AfterQA(NULL),
	fHistDispersionBeforeQA(NULL),
    fHistDispersionAfterQA(NULL),
    //fHistNLMBeforeQA(NULL),
    //fHistNLMAfterQA(NULL),
    fHistClusterRBeforeQA(NULL),
    fHistClusterRAfterQA(NULL),
    fHistClusterdEtadPhiBeforeQA(NULL),
    fHistClusterdEtadPhiAfterQA(NULL),
    fHistDistanceTrackToClusterBeforeQA(NULL),
    fHistDistanceTrackToClusterAfterQA(NULL),
    fHistClusterdEtadPhiPosTracksBeforeQA(NULL),
    fHistClusterdEtadPhiNegTracksBeforeQA(NULL),
    fHistClusterdEtadPhiPosTracksAfterQA(NULL),
    fHistClusterdEtadPhiNegTracksAfterQA(NULL),
    fHistClusterdEtadPhiPosTracks_P1_BeforeQA(NULL),
    fHistClusterdEtadPhiPosTracks_P14_BeforeQA(NULL),
    fHistClusterdEtadPhiPosTracks_P4_BeforeQA(NULL),
    fHistClusterdEtadPhiNegTracks_P1_BeforeQA(NULL),
    fHistClusterdEtadPhiNegTracks_P14_BeforeQA(NULL),
    fHistClusterdEtadPhiNegTracks_P4_BeforeQA(NULL),
    fHistClusterdEtadPtBeforeQA(NULL),
    fHistClusterdPhidPtBeforeQA(NULL),
    fHistClusterM20Pt_dPhiBeforeQA(NULL),
    fHistClusterM02Pt_dPhiBeforeQA(NULL),
    fHistClusterM20M02BeforeQA(NULL),
    fHistClusterM20M02AfterQA(NULL)
{
   // Copy Constructor
   for(Int_t jj=0;jj<kNCuts;jj++){fCuts[jj]=ref.fCuts[jj];}
   fCutString=new TObjString((GetCutNumber()).Data());

}


//________________________________________________________________________
AliCaloPhotonCuts::~AliCaloPhotonCuts() {
   // Destructor
   //Deleting fHistograms leads to seg fault it it's added to output collection of a task
   // if(fHistograms)
   //    delete fHistograms;
   // fHistograms = NULL;
   if(fCutString != NULL){
      delete fCutString;
      fCutString = NULL;
   }
}

//________________________________________________________________________
void AliCaloPhotonCuts::InitCutHistograms(TString name){

	// Initialize Cut Histograms for QA (only initialized and filled if function is called)
	TH1::AddDirectory(kFALSE);

	if(fHistograms != NULL){
		delete fHistograms;
		fHistograms=NULL;
	}
	if(fHistograms==NULL){
		fHistograms=new TList();
		fHistograms->SetOwner(kTRUE);
		if(name=="")fHistograms->SetName(Form("CaloCuts_%s",GetCutNumber().Data()));
		else fHistograms->SetName(Form("%s_%s",name.Data(),GetCutNumber().Data()));
	}

	// IsPhotonSelected
	fHistCutIndex=new TH1F(Form("IsPhotonSelected %s",GetCutNumber().Data()),"IsPhotonSelected",5,-0.5,4.5);
	fHistCutIndex->GetXaxis()->SetBinLabel(kPhotonIn+1,"in");
	fHistCutIndex->GetXaxis()->SetBinLabel(kDetector+1,"detector");
	fHistCutIndex->GetXaxis()->SetBinLabel(kAcceptance+1,"acceptance");
	fHistCutIndex->GetXaxis()->SetBinLabel(kClusterQuality+1,"cluster QA");
	fHistCutIndex->GetXaxis()->SetBinLabel(kPhotonOut+1,"out");
	fHistograms->Add(fHistCutIndex);

	// Acceptance Cuts
	fHistAcceptanceCuts=new TH1F(Form("AcceptanceCuts %s",GetCutNumber().Data()),"AcceptanceCuts",5,-0.5,4.5);
	fHistAcceptanceCuts->GetXaxis()->SetBinLabel(1,"in");
	fHistAcceptanceCuts->GetXaxis()->SetBinLabel(2,"eta");
	fHistAcceptanceCuts->GetXaxis()->SetBinLabel(3,"phi");
	fHistAcceptanceCuts->GetXaxis()->SetBinLabel(4,"distance to bad channel");
	fHistAcceptanceCuts->GetXaxis()->SetBinLabel(5,"out");
	fHistograms->Add(fHistAcceptanceCuts);

	// Cluster Cuts
	fHistClusterIdentificationCuts =new TH1F(Form("ClusterQualityCuts %s",GetCutNumber().Data()),"ClusterQualityCuts",11,-0.5,10.5);
	fHistClusterIdentificationCuts->GetXaxis()->SetBinLabel(1,"in");
	fHistClusterIdentificationCuts->GetXaxis()->SetBinLabel(2,"timing");
	fHistClusterIdentificationCuts->GetXaxis()->SetBinLabel(3,"track matching");
	fHistClusterIdentificationCuts->GetXaxis()->SetBinLabel(4,"Exotics");
	fHistClusterIdentificationCuts->GetXaxis()->SetBinLabel(5,"minimum energy");
	fHistClusterIdentificationCuts->GetXaxis()->SetBinLabel(6,"minimum NCells");
	fHistClusterIdentificationCuts->GetXaxis()->SetBinLabel(7,"M02");
	fHistClusterIdentificationCuts->GetXaxis()->SetBinLabel(8,"M20");
	fHistClusterIdentificationCuts->GetXaxis()->SetBinLabel(9,"dispersion");
	fHistClusterIdentificationCuts->GetXaxis()->SetBinLabel(10,"NLM");
	fHistClusterIdentificationCuts->GetXaxis()->SetBinLabel(11,"out");
	fHistograms->Add(fHistClusterIdentificationCuts);

	// Acceptance related histogramms
    fHistClusterEtavsPhiBeforeAcc=new TH2F(Form("EtaPhi_beforeAcceptance %s",GetCutNumber().Data()),"EtaPhi_beforeAcceptance",430,0,2*TMath::Pi(),96,-0.7,0.7); // 462->430, 110->96
	fHistograms->Add(fHistClusterEtavsPhiBeforeAcc);
    fHistClusterEtavsPhiAfterAcc=new TH2F(Form("EtaPhi_afterAcceptance %s",GetCutNumber().Data()),"EtaPhi_afterAcceptance",430,0,2*TMath::Pi(),96,-0.7,0.7); // 462->430, 110->96
	fHistograms->Add(fHistClusterEtavsPhiAfterAcc);
    fHistClusterEtavsPhiAfterQA=new TH2F(Form("EtaPhi_afterClusterQA %s",GetCutNumber().Data()),"EtaPhi_afterClusterQA",430,0,2*TMath::Pi(),96,-0.7,0.7); // 462->430, 110->96
	fHistograms->Add(fHistClusterEtavsPhiAfterQA);
    //fHistDistanceToBadChannelBeforeAcc = new TH1F(Form("DistanceToBadChannel_beforeAcceptance %s",GetCutNumber().Data()),"DistanceToBadChannel_beforeAcceptance",200,0,40);
    //fHistograms->Add(fHistDistanceToBadChannelBeforeAcc);
    //fHistDistanceToBadChannelAfterAcc = new TH1F(Form("DistanceToBadChannel_afterAcceptance %s",GetCutNumber().Data()),"DistanceToBadChannel_afterAcceptance",200,0,40);
    //fHistograms->Add(fHistDistanceToBadChannelAfterAcc);
	
	// Cluster quality related histograms
    Double_t timeMin = -2e-6;
    Double_t timeMax = 8e-6;
	if (GetClusterType() == 1){
		timeMin = -2e-7;
		timeMax = 12e-7;
	}	
    fHistClusterTimevsEBeforeQA=new TH2F(Form("ClusterTimeVsE_beforeClusterQA %s",GetCutNumber().Data()),"ClusterTimeVsE_beforeClusterQA",800,timeMin,timeMax,100,0,40);
	fHistograms->Add(fHistClusterTimevsEBeforeQA);
    fHistClusterTimevsEAfterQA=new TH2F(Form("ClusterTimeVsE_afterClusterQA %s",GetCutNumber().Data()),"ClusterTimeVsE_afterClusterQA",800,timeMin,timeMax,100,0,40);
	fHistograms->Add(fHistClusterTimevsEAfterQA);
    //fHistExoticCellBeforeQA=new TH2F(Form("ExoticCell_beforeClusterQA %s",GetCutNumber().Data()),"ExoticCell_beforeClusterQA",400,0,40,50,0.75,1);
    //fHistograms->Add(fHistExoticCellBeforeQA);
    //fHistExoticCellAfterQA=new TH2F(Form("ExoticCell_afterClusterQA %s",GetCutNumber().Data()),"ExoticCell_afterClusterQA",400,0,40,50,0.75,1);
    //fHistograms->Add(fHistExoticCellAfterQA);
    //fHistNMatchedTracks = new TH1F(Form("NMatchedTracks_%s",GetCutNumber().Data()),"NMatchedTracks",22,-1.5,20.5);
    //fHistograms->Add(fHistNMatchedTracks);
	fHistEnergyOfClusterBeforeQA = new TH1F(Form("EnergyOfCluster_beforeClusterQA %s",GetCutNumber().Data()),"EnergyOfCluster_beforeClusterQA",300,0,30);
	fHistograms->Add(fHistEnergyOfClusterBeforeQA);
	fHistEnergyOfClusterAfterQA = new TH1F(Form("EnergyOfCluster_afterClusterQA %s",GetCutNumber().Data()),"EnergyOfCluster_afterClusterQA",300,0,30);
	fHistograms->Add(fHistEnergyOfClusterAfterQA);
	fHistNCellsBeforeQA = new TH1F(Form("NCellPerCluster_beforeClusterQA %s",GetCutNumber().Data()),"NCellPerCluster_beforeClusterQA",50,0,50);
	fHistograms->Add(fHistNCellsBeforeQA);
	fHistNCellsAfterQA = new TH1F(Form("NCellPerCluster_afterClusterQA %s",GetCutNumber().Data()),"NCellPerCluster_afterClusterQA",50,0,50);
	fHistograms->Add(fHistNCellsAfterQA);
	fHistM02BeforeQA = new TH1F(Form("M02_beforeClusterQA %s",GetCutNumber().Data()),"M02_beforeClusterQA",400,0,5);
	fHistograms->Add(fHistM02BeforeQA);
	fHistM02AfterQA = new TH1F(Form("M02_afterClusterQA %s",GetCutNumber().Data()),"M02_afterClusterQA",400,0,5);
	fHistograms->Add(fHistM02AfterQA);
	fHistM20BeforeQA = new TH1F(Form("M20_beforeClusterQA %s",GetCutNumber().Data()),"M20_beforeClusterQA",400,0,2.5);
	fHistograms->Add(fHistM20BeforeQA);
	fHistM20AfterQA = new TH1F(Form("M20_afterClusterQA %s",GetCutNumber().Data()),"M20_afterClusterQA",400,0,2.5);
	fHistograms->Add(fHistM20AfterQA);
	fHistDispersionBeforeQA = new TH1F(Form("Dispersion_beforeClusterQA %s",GetCutNumber().Data()),"Dispersion_beforeClusterQA",100,0,4);
	fHistograms->Add(fHistDispersionBeforeQA);
	fHistDispersionAfterQA = new TH1F(Form("Dispersion_afterClusterQA %s",GetCutNumber().Data()),"Dispersion_afterClusterQA",100,0,4);
	fHistograms->Add(fHistDispersionAfterQA);
    //fHistNLMBeforeQA = new TH1F(Form("NLM_beforeClusterQA %s",GetCutNumber().Data()),"NLM_beforeClusterQA",10,0,10);
    //fHistograms->Add(fHistNLMBeforeQA);
    //fHistNLMAfterQA = new TH1F(Form("NLM_afterClusterQA %s",GetCutNumber().Data()),"NLM_afterClusterQA",10,0,10);
    //fHistograms->Add(fHistNLMAfterQA);

    //TrackMatching histograms
    if(fUseDistTrackToCluster) {
        fHistClusterRBeforeQA = new TH1F(Form("R_Cluster_beforeClusterQA %s",GetCutNumber().Data()),"R of cluster",200,400,500);
        fHistograms->Add(fHistClusterRBeforeQA);
        fHistClusterRAfterQA = new TH1F(Form("R_Cluster_afterClusterQA %s",GetCutNumber().Data()),"R of cluster_matched",200,400,500);
        fHistograms->Add(fHistClusterRAfterQA);
        fHistClusterdEtadPhiBeforeQA=new TH2F(Form("dEtaVsdPhi_beforeClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_beforeClusterQA",240,-0.3,0.3,240,-0.3,0.3);
        fHistograms->Add(fHistClusterdEtadPhiBeforeQA);
        fHistClusterdEtadPhiAfterQA=new TH2F(Form("dEtaVsdPhi_afterClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_afterClusterQA",240,-0.3,0.3,240,-0.3,0.3);
        fHistograms->Add(fHistClusterdEtadPhiAfterQA);
        fHistDistanceTrackToClusterBeforeQA = new TH1F(Form("DistanceToTrack_beforeClusterQA %s",GetCutNumber().Data()),"DistanceToTrack_beforeClusterQA",200,0,2);
        fHistograms->Add(fHistDistanceTrackToClusterBeforeQA);
        fHistDistanceTrackToClusterAfterQA = new TH1F(Form("DistanceToTrack_afterClusterQA %s",GetCutNumber().Data()),"DistanceToTrack_afterClusterQA",200,0,2);
        fHistograms->Add(fHistDistanceTrackToClusterAfterQA);
	
        if(fExtendedMatching){
            fHistClusterdEtadPhiPosTracksBeforeQA = new TH2F(Form("dEtaVsdPhi_posTracks_beforeClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_posTracks_beforeClusterQA",240,-0.3,0.3,240,-0.3,0.3);
            fHistograms->Add(fHistClusterdEtadPhiPosTracksBeforeQA);
            fHistClusterdEtadPhiNegTracksBeforeQA = new TH2F(Form("dEtaVsdPhi_negTracks_beforeClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_negTracks_beforeClusterQA",240,-0.3,0.3,240,-0.3,0.3);
            fHistograms->Add(fHistClusterdEtadPhiNegTracksBeforeQA);
            fHistClusterdEtadPhiPosTracksAfterQA = new TH2F(Form("dEtaVsdPhi_posTracks_afterClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_posTracks_afterClusterQA",240,-0.3,0.3,240,-0.3,0.3);
            fHistograms->Add(fHistClusterdEtadPhiPosTracksAfterQA);
            fHistClusterdEtadPhiNegTracksAfterQA = new TH2F(Form("dEtaVsdPhi_negTracks_afterClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_negTracks_afterClusterQA",240,-0.3,0.3,240,-0.3,0.3);
            fHistograms->Add(fHistClusterdEtadPhiNegTracksAfterQA);
            fHistClusterdEtadPhiPosTracks_P1_BeforeQA = new TH2F(Form("dEtaVsdPhi_posTracks_P<1_beforeClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_posTracks_P<1_beforeClusterQA",240,-0.3,0.3,240,-0.3,0.3);
            fHistograms->Add(fHistClusterdEtadPhiPosTracks_P1_BeforeQA);
            fHistClusterdEtadPhiPosTracks_P14_BeforeQA = new TH2F(Form("dEtaVsdPhi_posTracks_1<P<4_beforeClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_posTracks_1<P<4_beforeClusterQA",240,-0.3,0.3,240,-0.3,0.3);
            fHistograms->Add(fHistClusterdEtadPhiPosTracks_P14_BeforeQA);
            fHistClusterdEtadPhiPosTracks_P4_BeforeQA = new TH2F(Form("dEtaVsdPhi_posTracks_P>4_beforeClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_posTracks_P>4_beforeClusterQA",240,-0.3,0.3,240,-0.3,0.3);
            fHistograms->Add(fHistClusterdEtadPhiPosTracks_P4_BeforeQA);
            fHistClusterdEtadPhiNegTracks_P1_BeforeQA= new TH2F(Form("dEtaVsdPhi_negTrack_P<1s_beforeClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_negTrack_P<1s_beforeClusterQA",240,-0.3,0.3,240,-0.3,0.3);
            fHistograms->Add(fHistClusterdEtadPhiNegTracks_P1_BeforeQA);
            fHistClusterdEtadPhiNegTracks_P14_BeforeQA = new TH2F(Form("dEtaVsdPhi_negTracks_1<P<4_beforeClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_negTracks_1<P<4_beforeClusterQA",240,-0.3,0.3,240,-0.3,0.3);
            fHistograms->Add(fHistClusterdEtadPhiNegTracks_P14_BeforeQA);
            fHistClusterdEtadPhiNegTracks_P4_BeforeQA = new TH2F(Form("dEtaVsdPhi_negTracks_P>4_beforeClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_negTracks_P>4_beforeClusterQA",240,-0.3,0.3,240,-0.3,0.3);
            fHistograms->Add(fHistClusterdEtadPhiNegTracks_P4_BeforeQA);
            fHistClusterdEtadPtBeforeQA = new TH2F(Form("dEtaVsPt_beforeClusterQA %s",GetCutNumber().Data()),"dEtaVsPt_beforeClusterQA",240,-0.3,0.3,250,0,25);
            fHistograms->Add(fHistClusterdEtadPtBeforeQA);
            fHistClusterdPhidPtBeforeQA = new TH2F(Form("dPhiVsPt_beforeClusterQA %s",GetCutNumber().Data()),"dPhiVsPt_beforeClusterQA",480,-0.6,0.6,250,0,25);
            fHistograms->Add(fHistClusterdPhidPtBeforeQA);
            fHistClusterM20Pt_dPhiBeforeQA = new TH2F(Form("M20VsPt_dPhi_beforeClusterQA %s",GetCutNumber().Data()),"M20VsPt_dPhi_beforeClusterQA",200,0,2.5,250,0,25);
            fHistograms->Add(fHistClusterM20Pt_dPhiBeforeQA);
            fHistClusterM02Pt_dPhiBeforeQA = new TH2F(Form("M02VsPt_dPhi_beforeClusterQA %s",GetCutNumber().Data()),"M20VsPt_dPhi_beforeClusterQA",400,0,5,250,0,25);
            fHistograms->Add(fHistClusterM02Pt_dPhiBeforeQA);
            fHistClusterM20M02BeforeQA = new TH2F(Form("M20VsM02_beforeClusterQA %s",GetCutNumber().Data()),"M20VsM02_beforeClusterQA",200,0,2.5,400,0,5);
            fHistograms->Add(fHistClusterM20M02BeforeQA);
            fHistClusterM20M02AfterQA = new TH2F(Form("M20VsM02_afterClusterQA %s",GetCutNumber().Data()),"M20VsM02_afterClusterQA",200,0,2.5,400,0,5);
            fHistograms->Add(fHistClusterM20M02AfterQA);
        }
    }
	TH1::AddDirectory(kTRUE);
}


///________________________________________________________________________
Bool_t AliCaloPhotonCuts::ClusterIsSelectedMC(TParticle *particle,AliStack *fMCStack){
   // MonteCarlo Photon Selection

	if(!fMCStack)return kFALSE;

	if (particle->GetPdgCode() == 22){

		if ( particle->Eta() < fMinEtaCut || particle->Eta() > fMaxEtaCut ) return kFALSE;
		if ( particle->Phi() < fMinPhiCut || particle->Phi() > fMaxPhiCut ) return kFALSE;
		
		if(particle->GetMother(0) >-1 && fMCStack->Particle(particle->GetMother(0))->GetPdgCode() == 22){
			return kFALSE; // no photon as mothers!
		}
		if(particle->GetMother(0) >= fMCStack->GetNprimary()){
			return kFALSE; // the gamma has a mother, and it is not a primary particle
		}
		return kTRUE;
	}
	return kFALSE;
}
///________________________________________________________________________
Bool_t AliCaloPhotonCuts::ClusterIsSelectedAODMC(AliAODMCParticle *particle,TClonesArray *aodmcArray){
	// MonteCarlo Photon Selection

	if(!aodmcArray)return kFALSE;
	if (particle->GetPdgCode() == 22){
		if ( particle->Eta() < fMinEtaCut || particle->Eta() > fMaxEtaCut ) return kFALSE;
		if ( particle->Phi() < fMinPhiCut || particle->Phi() > fMaxPhiCut ) return kFALSE;
		if(particle->GetMother() > -1){
			if((static_cast<AliAODMCParticle*>(aodmcArray->At(particle->GetMother())))->GetPdgCode() == 22){
				return kFALSE; // no photon as mothers!
			}
			if(!(static_cast<AliAODMCParticle*>(aodmcArray->At(particle->GetMother()))->IsPrimary())){
				return kFALSE; // the gamma has a mother, and it is not a primary particle
			}
		}
		return kTRUE; // return in case of accepted gamma
	}
	return kFALSE;
}



///________________________________________________________________________
// This function selects the clusters based on their quality criteria
///________________________________________________________________________
Bool_t AliCaloPhotonCuts::ClusterQualityCuts(AliVCluster* cluster, AliVEvent *event, Bool_t isMC)
{   // Specific Photon Cuts
    if(event){} // suppress warning

	Int_t cutIndex = 0;
	if(fHistClusterIdentificationCuts)fHistClusterIdentificationCuts->Fill(cutIndex);
	cutIndex++;

// 	Double_t minR = 999.0;
	// get the minimum radius of tracks to cluster
// 	if(fHistDistanceTrackToClusterBeforeQA || fHistDistanceTrackToClusterAfterQA){
// 		Float_t pos[3];
// 		cluster->GetPosition(pos);  // Get cluster position
// 		
// 		TVector3 cp(pos);
// 		int NtrMatched = 0;
// 		NtrMatched = cluster->GetNTracksMatched();
// 		fHistNMatchedTracks->Fill(NtrMatched);
// 		//loop over tracks for Jet QA
// 		TList *l = event->GetList();
// 		TClonesArray *tracks = dynamic_cast<TClonesArray*>(l->FindObject("Tracks"));
// 		for(int itrack = 0; itrack < NtrMatched; itrack++){
// 			AliVTrack *trackcluster = static_cast<AliVTrack*>(tracks->At(itrack));
// 			if (! trackcluster) {
// 				AliError(Form("Couldn't get ESD track %d\n", itrack));
// 				continue;
// 			}
// 			Double_t dphi = -999.0;
// 			Double_t deta = -999.0;
// 			AliPicoTrack::GetEtaPhiDiff(trackcluster, cluster, dphi, deta);
// 			cout << "here" << endl;
// 			Double_t dr = sqrt(dphi*dphi + deta+deta);
// 			if(dr < minR)
// 				minR = dr;
// 		}//loop over tracks
// 	}
	
	// Fill Histos before Cuts
	if(fHistClusterTimevsEBeforeQA) fHistClusterTimevsEBeforeQA->Fill(cluster->GetTOF(), cluster->E());
// 	if(fHistExoticCellBeforeQA) fHistExoticCellBeforeQA->Fill(cluster->E(), );
// 	if(fHistDistanceTrackToClusterBeforeQA) fHistDistanceTrackToClusterBeforeQA->Fill(minR);
	if(fHistEnergyOfClusterBeforeQA) fHistEnergyOfClusterBeforeQA->Fill(cluster->E());
	if(fHistNCellsBeforeQA) fHistNCellsBeforeQA->Fill(cluster->GetNCells());
	if(fHistM02BeforeQA) fHistM02BeforeQA->Fill(cluster->GetM02());
	if(fHistM20BeforeQA) fHistM20BeforeQA->Fill(cluster->GetM20());
	if(fHistDispersionBeforeQA) fHistDispersionBeforeQA->Fill(cluster->GetDispersion());
// 	if(fHistNLMBeforeQA) fHistNLMBeforeQA->Fill(cluster->GetNExMax());
	
	// Check wether timing is ok
	if (fUseTimeDiff){
		if(abs(cluster->GetTOF()) > fMaxTimeDiff && !isMC){
			if(fHistClusterIdentificationCuts)fHistClusterIdentificationCuts->Fill(cutIndex); //1
			return kFALSE;
		}
	}	
	cutIndex++; //2, next cut

	// Minimum distance to track
// 	if (fUseDistTrackToCluster){
//  		Float_t pos[3];
//  		cluster->GetPosition(pos);  // Get cluster position
//  		TVector3 cp(pos);
//  		int NtrMatched = 0;
//  		NtrMatched = cluster->GetNTracksMatched();
// 		fHistNMatchedTracks->Fill(NtrMatched);
//  		if(NtrMatched > 0){
// 			//loop over tracks for QA
// 			TList *l = event->GetList();
// 			TClonesArray *tracks = dynamic_cast<TClonesArray*>(l->FindObject("Tracks"));
// 			
// 			Double_t dphi = 999.0;
// 			Double_t deta = 999.0;
// 			Double_t dr2 = 999.0;
// 
// 			for(int itrack = 0; itrack < NtrMatched; itrack++){
// 				AliVTrack *trackcluster = NULL;
// 				trackcluster = static_cast<AliVTrack*>(tracks->At(itrack));
// 				if (! trackcluster) {
// 				AliError(Form("Couldn't get ESD track %d\n", itrack));
// 				continue;
// 				}
// 				AliPicoTrack::GetEtaPhiDiff(trackcluster, cluster, dphi, deta);
// 				dr2 = dphi*dphi + deta+deta;
// 				//cout << dr << endl;
// 				if(dr2 < fMinDistTrackToCluster*fMinDistTrackToCluster){
// 		//        if(dphi < fMinDistTrackToCluster || deta < fMinDistTrackToCluster){
// 				if(fHistClusterIdentificationCuts)fHistClusterIdentificationCuts->Fill(cutIndex); //2
// 				return kFALSE;
// 				}
// 				
// 			}//loop over tracks
// 		}
// //		if(cluster->GetEmcCpvDistance() < fMinDistTrackToCluster){
// //			if(fHistClusterIdentificationCuts)fHistClusterIdentificationCuts->Fill(cutIndex); //2
// //			return kFALSE;
// //		}
// 	}
	cutIndex++;//3, next cut

	// exotic cell cut --IMPLEMENT LATER---
// 	if(!AcceptanceCuts(photon)){
// 		if(fHistClusterIdentificationCuts)fHistClusterIdentificationCuts->Fill(cutIndex); //3
// 		return kFALSE;
// 	}
	cutIndex++; //4, next cut
	
	// minimum cell energy cut
	if (fUseMinEnergy){
		if(cluster->E() < fMinEnergy){
			if(fHistClusterIdentificationCuts)fHistClusterIdentificationCuts->Fill(cutIndex); //4
			return kFALSE;
		}
	}	
	cutIndex++; //5, next cut
	
	// minimum number of cells
	if (fUseNCells){
		if(cluster->GetNCells() < fMinNCells) {
			if(fHistClusterIdentificationCuts)fHistClusterIdentificationCuts->Fill(cutIndex); //5
			return kFALSE;
		}
	}	
	cutIndex++; //6, next cut
	
	// M02 cut
	if (fUseM02){
		if( cluster->GetM02()< fMinM02 || cluster->GetM02() > fMaxM02 ) {
			if(fHistClusterIdentificationCuts)fHistClusterIdentificationCuts->Fill(cutIndex); //6
			return kFALSE;
		}
	}	
	cutIndex++; //7, next cut
	
	// M20 cut
	if (fUseM20){
		if( cluster->GetM20()< fMinM20 || cluster->GetM20() > fMaxM20 ) {
			if(fHistClusterIdentificationCuts)fHistClusterIdentificationCuts->Fill(cutIndex); //7
			return kFALSE;
		}
	}	
	cutIndex++; //8, next cut
	
	// dispersion cut
	if (fUseDispersion){
		if( cluster->GetDispersion()> fMaxDispersion) {
			if(fHistClusterIdentificationCuts)fHistClusterIdentificationCuts->Fill(cutIndex); //8
			return kFALSE;
		}
	}	
	cutIndex++; //9, next cut
	
	// NLM cut --IMPLEMENT LATER---
// 	if (fUseNLM){
// 		if( cluster->GetDispersion()> fMaxDispersion) {
// 			if(fHistClusterIdentificationCuts)fHistClusterIdentificationCuts->Fill(cutIndex); //9
// 			return kFALSE;
// 		}
// 	}	
	cutIndex++; //9, next cut
	
	// DONE with selecting photons
	if(fHistClusterIdentificationCuts)fHistClusterIdentificationCuts->Fill(cutIndex); //10

	// Histos after Cuts
//  Double_t vertex[3] = {0,0,0};
//	event->GetPrimaryVertex()->GetXYZ(vertex);
	// TLorentzvector with cluster
//	TLorentzVector clusterVector;
//	cluster->GetMomentum(clusterVector,vertex);

    Float_t clusPos[3]={0,0,0};
    cluster->GetPosition(clusPos);
    TVector3 clusterVector(clusPos[0],clusPos[1],clusPos[2]);
	Double_t etaCluster = clusterVector.Eta();
	Double_t phiCluster = clusterVector.Phi();
	if (phiCluster < 0) phiCluster= phiCluster+ 2*TMath::Pi();

	if(fHistClusterEtavsPhiAfterQA) fHistClusterEtavsPhiAfterQA->Fill(phiCluster,etaCluster);
	if(fHistClusterTimevsEAfterQA) fHistClusterTimevsEAfterQA->Fill(cluster->GetTOF(), cluster->E());
// 	if(fHistExoticCellAfterQA) fHistExoticCellAfterQA->Fill(cluster->E(), );
// 	if(fHistDistanceTrackToClusterAfterQA) fHistDistanceTrackToClusterAfterQA->Fill(minR);
	if(fHistEnergyOfClusterAfterQA) fHistEnergyOfClusterAfterQA->Fill(cluster->E());
	if(fHistNCellsAfterQA) fHistNCellsAfterQA->Fill(cluster->GetNCells());
	if(fHistM02AfterQA) fHistM02AfterQA->Fill(cluster->GetM02());
	if(fHistM20AfterQA) fHistM20AfterQA->Fill(cluster->GetM20());
	if(fHistDispersionAfterQA) fHistDispersionAfterQA->Fill(cluster->GetDispersion());
// 	if(fHistNLMBeforeQA) fHistNLMAfterQA->Fill(cluster->GetNExMax());

	return kTRUE;

}


///________________________________________________________________________
Bool_t AliCaloPhotonCuts::ClusterIsSelected(AliVCluster *cluster, AliVEvent * event, Bool_t isMC)
{
	//Selection of Reconstructed photon clusters with Calorimeters

	FillClusterCutIndex(kPhotonIn);

//  Double_t vertex[3] = {0,0,0};
//	event->GetPrimaryVertex()->GetXYZ(vertex);
    // TLorentzvector with cluster
//  TLorentzVector clusterVector;
//	cluster->GetMomentum(clusterVector,vertex);

    Float_t clusPos[3]={0,0,0};
    cluster->GetPosition(clusPos);
    TVector3 clusterVector(clusPos[0],clusPos[1],clusPos[2]);
	Double_t etaCluster = clusterVector.Eta();
	Double_t phiCluster = clusterVector.Phi();
	if (phiCluster < 0) phiCluster= phiCluster+ 2*TMath::Pi();

	// Histos before cuts
	if(fHistClusterEtavsPhiBeforeAcc) fHistClusterEtavsPhiBeforeAcc->Fill(phiCluster,etaCluster);
	
	// Cluster Selection - 0= accept any calo cluster
	if (fClusterType > 0){
		//Select EMCAL cluster
		if (fClusterType == 1 && !cluster->IsEMCAL()){
			FillClusterCutIndex(kDetector);
			return kFALSE;
		}
		//Select PHOS cluster
		if (fClusterType == 2 && !cluster->IsPHOS()){
			FillClusterCutIndex(kDetector);
			return kFALSE;
		}
	}
	
	// Acceptance Cuts
	if(!AcceptanceCuts(cluster,event)){
		FillClusterCutIndex(kAcceptance);
		return kFALSE;
	}
	// Cluster Quality Cuts
	if(!ClusterQualityCuts(cluster,event,isMC)){
		FillClusterCutIndex(kClusterQuality);
		return kFALSE;
	}

	// Photon passed cuts
	FillClusterCutIndex(kPhotonOut);
	return kTRUE;
}


///________________________________________________________________________
Bool_t AliCaloPhotonCuts::AcceptanceCuts(AliVCluster *cluster, AliVEvent* event) 
{
   // Exclude certain areas for photon reconstruction
    if(event){} // suppress warning

	Int_t cutIndex=0;
	if(fHistAcceptanceCuts)fHistAcceptanceCuts->Fill(cutIndex);
	cutIndex++;

	
//	Double_t vertex[3] = {0,0,0};
// 	event->GetPrimaryVertex()->GetXYZ(vertex);
	// TLorentzvector with cluster
//	TLorentzVector clusterVector;
//	cluster->GetMomentum(clusterVector,vertex);

    Float_t clusPos[3]={0,0,0};
    cluster->GetPosition(clusPos);
    TVector3 clusterVector(clusPos[0],clusPos[1],clusPos[2]);
	Double_t etaCluster = clusterVector.Eta();
	Double_t phiCluster = clusterVector.Phi();
	if (phiCluster < 0) phiCluster= phiCluster+ 2*TMath::Pi();
	
	// check eta range
	if (fUseEtaCut){
		if (etaCluster < fMinEtaCut || etaCluster > fMaxEtaCut){
			if(fHistAcceptanceCuts)fHistAcceptanceCuts->Fill(cutIndex);
			return kFALSE;
		}
	}
	cutIndex++;
	
	// check phi range
	if (fUsePhiCut ){
        if (phiCluster < fMinPhiCut || phiCluster > fMaxPhiCut){
			if(fHistAcceptanceCuts)fHistAcceptanceCuts->Fill(cutIndex);
			return kFALSE;
		}
	}
	cutIndex++;
	
	// check distance to bad channel
	if (fUseDistanceToBadChannel){
		if (cluster->GetDistanceToBadChannel() < fMinDistanceToBadChannel){
			if(fHistAcceptanceCuts)fHistAcceptanceCuts->Fill(cutIndex);
			return kFALSE;
		}	
	}
	cutIndex++;
	if(fHistAcceptanceCuts)fHistAcceptanceCuts->Fill(cutIndex);

	// Histos after cuts
	if(fHistClusterEtavsPhiAfterAcc) fHistClusterEtavsPhiAfterAcc->Fill(phiCluster,etaCluster);
	
	return kTRUE;
}

Bool_t AliCaloPhotonCuts::MatchConvPhotonToCluster(AliAODConversionPhoton* convPhoton, AliVCluster* cluster, AliVEvent* event ){

	if (!fUseDistTrackToCluster) return kFALSE;
	
	AliESDEvent *esdev = dynamic_cast<AliESDEvent*>(event);
	AliAODEvent *aodev = 0;
	if (!esdev) {
		aodev = dynamic_cast<AliAODEvent*>(event);
		if (!aodev) {
			AliError("Task needs AOD or ESD event, returning");
			return kFALSE;
		}
	}

//    Double_t vertex[3] = {0,0,0};
//	  event->GetPrimaryVertex()->GetXYZ(vertex);

    if(!cluster->IsEMCAL() && !cluster->IsPHOS()){AliError("Cluster is neither EMCAL nor PHOS, returning"); return kFALSE;}

    Float_t clusterPosition[3] = {0,0,0};
    cluster->GetPosition(clusterPosition);
    Double_t clusterR = TMath::Sqrt( clusterPosition[0]*clusterPosition[0] + clusterPosition[1]*clusterPosition[1] );
    if(fHistClusterRBeforeQA) fHistClusterRBeforeQA->Fill(clusterR);

//cout << "+++++++++ Cluster: x, y, z, R" << clusterPosition[0] << ", " << clusterPosition[1] << ", " << clusterPosition[2] << ", " << clusterR << "+++++++++" << endl;

	Bool_t matched = kFALSE;
	for (Int_t i = 0; i < 2; i++){
		Int_t tracklabel = convPhoton->GetLabel(i);
		AliVTrack *inTrack = 0x0;	
		if(esdev) {
			if(tracklabel > event->GetNumberOfTracks() ) continue;
			inTrack = esdev->GetTrack(tracklabel);
		} else {
			if(((AliV0ReaderV1*)AliAnalysisManager::GetAnalysisManager()->GetTask("V0ReaderV1"))->AreAODsRelabeled()){
				inTrack = dynamic_cast<AliVTrack*>(event->GetTrack(tracklabel));	
			} else {
				for(Int_t ii=0; ii<event->GetNumberOfTracks(); ii++) {
					inTrack = dynamic_cast<AliVTrack*>(event->GetTrack(ii));
					if(inTrack){
						if(inTrack->GetID() == tracklabel) {
							continue;
						}
					}
				}
			}
		}

		AliESDtrack *esdt = dynamic_cast<AliESDtrack*>(inTrack);
		AliAODTrack *aodt = 0;
		if (!esdt) {
			aodt = dynamic_cast<AliAODTrack*>(inTrack);
			if (!aodt){AliError("Track is neither ESD nor AOD, continue"); continue;}
		}

		AliExternalTrackParam *trackParam = 0;
		if (esdt) {
			const AliExternalTrackParam *in = esdt->GetInnerParam();
			if (!in){AliError("Could not get InnerParam of Track, continue"); continue;}
			trackParam = new AliExternalTrackParam(*in);
		} else {
			Double_t xyz[3] = {0}, pxpypz[3] = {0}, cv[21] = {0};
			aodt->PxPyPz(pxpypz);
			aodt->XvYvZv(xyz);
			aodt->GetCovarianceXYZPxPyPz(cv);
			trackParam = new AliExternalTrackParam(xyz,pxpypz,cv,aodt->Charge());
		}
		if (!trackParam){AliError("Could not get TrackParameters, continue"); continue;}
		
		Bool_t propagated = kFALSE;
		AliExternalTrackParam emcParam(*trackParam);
		Float_t dPhi = 0;
		Float_t dEta = 0;

		if(cluster->IsEMCAL()){
			Float_t eta = 0; Float_t phi = 0; Float_t pt = 0;
			propagated = AliEMCALRecoUtils::ExtrapolateTrackToEMCalSurface(&emcParam, 430, 0.000510999, 20, eta, phi, pt);
			if(propagated){
				propagated = AliEMCALRecoUtils::ExtrapolateTrackToCluster(&emcParam, cluster, 0.000510999, 5, dEta, dPhi);
			}
		}
		if(cluster->IsPHOS()){
			propagated = AliTrackerBase::PropagateTrackToBxByBz(&emcParam, clusterR, 0.000510999, 20, kTRUE, 0.8, -1);
			if (propagated){
				Double_t trkPos[3] = {0,0,0};
				emcParam.GetXYZ(trkPos);
				TVector3 trkPosVec(trkPos[0],trkPos[1],trkPos[2]);
				TVector3 clsPosVec(clusterPosition);
				dPhi = clsPosVec.DeltaPhi(trkPosVec);
				dEta = clsPosVec.Eta()-trkPosVec.Eta();
			}
		}

		if (propagated){
			Float_t dR2 = dPhi*dPhi + dEta*dEta;
            if(fHistDistanceTrackToClusterBeforeQA)fHistDistanceTrackToClusterBeforeQA->Fill(TMath::Sqrt(dR2));
            if(fHistClusterdEtadPhiBeforeQA) fHistClusterdEtadPhiBeforeQA->Fill(dEta, dPhi);

            Float_t clusM02 = (Float_t) cluster->GetM02();
            Float_t clusM20 = (Float_t) cluster->GetM20();
            if(fExtendedMatching){
                if(inTrack->Charge() > 0) {
                    fHistClusterdEtadPhiPosTracksBeforeQA->Fill(dEta, dPhi);
                    if(inTrack->P() < 1) fHistClusterdEtadPhiPosTracks_P1_BeforeQA->Fill(dEta, dPhi);
                    else if(inTrack->P() < 4) fHistClusterdEtadPhiPosTracks_P14_BeforeQA->Fill(dEta, dPhi);
                    else fHistClusterdEtadPhiPosTracks_P4_BeforeQA->Fill(dEta, dPhi);
                }
                else{
                    fHistClusterdEtadPhiNegTracksBeforeQA->Fill(dEta, dPhi);
                    if(inTrack->P() < 1) fHistClusterdEtadPhiNegTracks_P1_BeforeQA->Fill(dEta, dPhi);
                    else if(inTrack->P() < 4) fHistClusterdEtadPhiNegTracks_P14_BeforeQA->Fill(dEta, dPhi);
                    else fHistClusterdEtadPhiNegTracks_P4_BeforeQA->Fill(dEta, dPhi);
                }
                fHistClusterdEtadPtBeforeQA->Fill(dEta, inTrack->Pt());
                fHistClusterdPhidPtBeforeQA->Fill(dPhi, inTrack->Pt());
                if(abs(dPhi) > 0.05){
                    fHistClusterM20Pt_dPhiBeforeQA->Fill(clusM20, inTrack->Pt());
                    fHistClusterM02Pt_dPhiBeforeQA->Fill(clusM02, inTrack->Pt());
                }
                fHistClusterM20M02BeforeQA->Fill(clusM20, clusM02);
            }

            Bool_t match_dEta = (abs(dEta) < fMaxDistTrackToClusterEta) ? kTRUE : kFALSE;
            Bool_t match_dPhi = kFALSE;
            if( (inTrack->Charge() > 0) && (dPhi > fMinDistTrackToClusterPhi) && (dPhi < fMaxDistTrackToClusterPhi) ) match_dPhi = kTRUE;
            else if( (inTrack->Charge() < 0) && (dPhi < -fMinDistTrackToClusterPhi) && (dPhi > -fMaxDistTrackToClusterPhi) ) match_dPhi = kTRUE;

            if(match_dEta && match_dPhi){
            //if(dR2 < fMinDistTrackToCluster*fMinDistTrackToCluster){
				matched = kTRUE;
			} else {
                if(fHistDistanceTrackToClusterAfterQA)fHistDistanceTrackToClusterAfterQA->Fill(TMath::Sqrt(dR2));
                if(fHistClusterdEtadPhiAfterQA) fHistClusterdEtadPhiAfterQA->Fill(dEta, dPhi);
                if(fHistClusterRAfterQA) fHistClusterRAfterQA->Fill(clusterR);
                if(fExtendedMatching){
                    if(inTrack->Charge() > 0) fHistClusterdEtadPhiPosTracksAfterQA->Fill(dEta, dPhi);
                    else fHistClusterdEtadPhiNegTracksAfterQA->Fill(dEta, dPhi);
                    fHistClusterM20M02AfterQA->Fill(clusM20, clusM02);
                }
			}	
		}
		delete trackParam;
	}

	return matched;

}

//____________________________________________________________________________________________


///________________________________________________________________________
Bool_t AliCaloPhotonCuts::UpdateCutString() {
   ///Update the cut string (if it has been created yet)

   if(fCutString && fCutString->GetString().Length() == kNCuts) {
      fCutString->SetString(GetCutNumber());
   } else {
      return kFALSE;
   }
   return kTRUE;
}

///________________________________________________________________________
Bool_t AliCaloPhotonCuts::InitializeCutsFromCutString(const TString analysisCutSelection ) {
	// Initialize Cuts from a given Cut string
	AliInfo(Form("Set CaloCut Number: %s",analysisCutSelection.Data()));
	if(analysisCutSelection.Length()!=kNCuts) {
		AliError(Form("Cut selection has the wrong length! size is %d, number of cuts is %d", analysisCutSelection.Length(), kNCuts));
		return kFALSE;
	}
	if(!analysisCutSelection.IsDigit()){
		AliError("Cut selection contains characters");
		return kFALSE;
	}

	const char *cutSelection = analysisCutSelection.Data();
	#define ASSIGNARRAY(i)  fCuts[i] = cutSelection[i] - '0'
	for(Int_t ii=0;ii<kNCuts;ii++){
		ASSIGNARRAY(ii);
	}

	// Set Individual Cuts
	for(Int_t ii=0;ii<kNCuts;ii++){
		if(!SetCut(cutIds(ii),fCuts[ii]))return kFALSE;
	}
	PrintCutsWithValues();
	return kTRUE;
}

///________________________________________________________________________
Bool_t AliCaloPhotonCuts::SetCut(cutIds cutID, const Int_t value) {
	///Set individual cut ID

	switch (cutID) {		
		
		case kClusterType:
			if( SetClusterTypeCut(value)) {
				fCuts[kClusterType] = value;
				UpdateCutString();
				return kTRUE;
			} else return kFALSE;
		
		case kEtaMin:
			if( SetMinEtaCut(value)) {
				fCuts[kEtaMin] = value;
				UpdateCutString();
				return kTRUE;
			} else return kFALSE;

		case kEtaMax:
			if( SetMaxEtaCut(value)) {
				fCuts[kEtaMax] = value;
				UpdateCutString();
				return kTRUE;
			} else return kFALSE;

		case kPhiMin:
			if( SetMinPhiCut(value)) {
				fCuts[kPhiMin] = value;
				UpdateCutString();
				return kTRUE;
			} else return kFALSE;

		case kPhiMax:
			if( SetMaxPhiCut(value)) {
				fCuts[kPhiMax] = value;
				UpdateCutString();
				return kTRUE;
			} else return kFALSE;

		case kDistanceToBadChannel:
			if( SetDistanceToBadChannelCut(value)) {
				fCuts[kDistanceToBadChannel] = value;
				UpdateCutString();
				return kTRUE;
			} else return kFALSE;

		case kTiming:
			if( SetTimingCut(value)) {
				fCuts[kTiming] = value;
				UpdateCutString();
				return kTRUE;
			} else return kFALSE;

		case kTrackMatching:
			if( SetTrackMatchingCut(value)) {
				fCuts[kTrackMatching] = value;
				UpdateCutString();
				return kTRUE;
			} else return kFALSE;

		case kExoticCell:
			if( SetExoticCellCut(value)) {
				fCuts[kExoticCell] = value;
				UpdateCutString();
				return kTRUE;
			} else return kFALSE;

		case kMinEnery:
			if( SetMinEnergyCut(value)) {
				fCuts[kMinEnery] = value;
				UpdateCutString();
				return kTRUE;
			} else return kFALSE;

		case kNMinCells:
			if( SetMinNCellsCut(value)) {
				fCuts[kNMinCells] = value;
				UpdateCutString();
				return kTRUE;
			} else return kFALSE;
			
		case kMinM02:
			if( SetMinM02(value)) {
				fCuts[kMinM02] = value;
				UpdateCutString();
				return kTRUE;
			} else return kFALSE;

		case kMaxM02:
			if( SetMaxM02(value)) {
				fCuts[kMaxM02] = value;
				UpdateCutString();
				return kTRUE;
			} else return kFALSE;
		
		case kMinM20:
			if( SetMinM20(value)) {
				fCuts[kMinM20] = value;
				UpdateCutString();
				return kTRUE;
			} else return kFALSE;

		case kMaxM20:
			if( SetMaxM20(value)) {
				fCuts[kMaxM20] = value;
				UpdateCutString();
				return kTRUE;
			} else return kFALSE;

		case kDispersion:
			if( SetDispersion(value)) {
				fCuts[kDispersion] = value;
				UpdateCutString();
				return kTRUE;
			} else return kFALSE;

		case kNLM:
			if( SetNLM(value)) {
				fCuts[kNLM] = value;
				UpdateCutString();
				return kTRUE;
			} else return kFALSE;

		case kNCuts:
			AliError("Cut id out of range");
			return kFALSE;
	}

	AliError("Cut id %d not recognized");
	return kFALSE;


}
///________________________________________________________________________
void AliCaloPhotonCuts::PrintCuts() {
   // Print out current Cut Selection
   for(Int_t ic = 0; ic < kNCuts; ic++) {
      printf("%-30s : %d \n", fgkCutNames[ic], fCuts[ic]);
   }
}

void AliCaloPhotonCuts::PrintCutsWithValues() {
	// Print out current Cut Selection with value
	printf("\nCluster cutnumber \n");
	for(Int_t ic = 0; ic < kNCuts; ic++) {
		printf("%d",fCuts[ic]);
	}
	printf("\n\n");

	printf("Acceptance cuts: \n");
	if (fClusterType == 0) printf("\tall calorimeter clusters are used\n");
	if (fClusterType == 1) printf("\tEMCAL calorimeter clusters are used\n");
	if (fClusterType == 2) printf("\tPHOS calorimeter clusters are used\n");
	if (fUseEtaCut) printf("\t%3.2f < eta_{cluster} < %3.2f\n", fMinEtaCut, fMaxEtaCut );
	if (fUsePhiCut) printf("\t%3.2f < phi_{cluster} < %3.2f\n", fMinPhiCut, fMaxPhiCut );
	if (fUseDistanceToBadChannel) printf("\tcut on exotics applied \n");
	
	printf("Cluster Quality cuts: \n");
	if (fUseTimeDiff) printf("\t time difference < %3.2f\n", fMaxTimeDiff );
    if (fUseDistTrackToCluster) printf("\tmin distance to track in eta > %3.2f, min phi < %3.2f and max phi > %3.2f\n", fMaxDistTrackToClusterEta, fMinDistTrackToClusterPhi, fMaxDistTrackToClusterPhi );
    if (fUseExoticCell)printf("\t exotic cell: %3.2f\n", fExoticCell );
    if (fUseMinEnergy)printf("\t E_{cluster} > %3.2f\n", fMinEnergy );
	if (fUseNCells) printf("\t number of cells per cluster >= %d\n", fMinNCells );
	if (fUseM02) printf("\t %3.2f < M02 < %3.2f\n", fMinM02, fMaxM02 );
	if (fUseM20) printf("\t %3.2f < M20 < %3.2f\n", fMinM20, fMaxM20 );
	if (fUseDispersion) printf("\t dispersion < %3.2f\n", fMaxDispersion );
	if (fUseNLM) printf("\t %d < NLM < %d\n", fMinNLM, fMaxNLM );
	
}

// EMCAL acceptance 2011
// 1.39626, 3.125 (phi)
// -0.66687,,0.66465


///________________________________________________________________________
Bool_t AliCaloPhotonCuts::SetClusterTypeCut(Int_t clusterType)
{   // Set Cut
	switch(clusterType){
	case 0: // all clusters
		fClusterType=0;
		break;
	case 1: // EMCAL clusters
		fClusterType=1;
		break;
	case 2: // PHOS clusters
		fClusterType=2;
		break;
	default:
		AliError(Form("ClusterTypeCut not defined %d",clusterType));
		return kFALSE;
	}
	return kTRUE;
}

//___________________________________________________________________
Bool_t AliCaloPhotonCuts::SetMinEtaCut(Int_t minEta)
{
	switch(minEta){
	case 0:
		if (!fUseEtaCut) fUseEtaCut=0;
		fMinEtaCut=-10.;
		break;
	case 1:
		if (!fUseEtaCut) fUseEtaCut=1;
		fMinEtaCut=-0.6687;
		break;
	case 2: 
		if (!fUseEtaCut) fUseEtaCut=1;
		fMinEtaCut=-0.5;
		break;
	case 3: 
		if (!fUseEtaCut) fUseEtaCut=1;
		fMinEtaCut=-2;
		break;
	default:
		AliError(Form("MinEta Cut not defined %d",minEta));
		return kFALSE;
	}
	return kTRUE;
}


//___________________________________________________________________
Bool_t AliCaloPhotonCuts::SetMaxEtaCut(Int_t maxEta)
{
	switch(maxEta){
	case 0: 
		if (!fUseEtaCut) fUseEtaCut=0;
		fMaxEtaCut=10;
		break;		
	case 1:
		if (!fUseEtaCut) fUseEtaCut=1;
		fMaxEtaCut=0.66465;
		break;
	case 2: 
		if (!fUseEtaCut) fUseEtaCut=1;
		fMaxEtaCut=0.5;
		break;
	case 3: 
		if (!fUseEtaCut) fUseEtaCut=1;
		fMaxEtaCut=2;
		break;
	default:
		AliError(Form("MaxEta Cut not defined %d",maxEta));
		return kFALSE;
	}
	return kTRUE;
}

//___________________________________________________________________
Bool_t AliCaloPhotonCuts::SetMinPhiCut(Int_t minPhi)
{
	switch(minPhi){
	case 0: 
		if (!fUsePhiCut) fUsePhiCut=0;
		fMinPhiCut=-10000;
		break;
	case 1: // min EMCAL
		if (!fUsePhiCut) fUsePhiCut=1;
		fMinPhiCut=1.39626;
		break;
	case 2: // min EMCAL with TRD 2012 
		if (!fUsePhiCut) fUsePhiCut=1;
		fMinPhiCut=2.10;
		break;
	case 3: // min EMCAL with TRD 2011 
		if (!fUsePhiCut) fUsePhiCut=1;
		fMinPhiCut=2.45;
		break;
		
		
	default:
		AliError(Form("MinPhi Cut not defined %d",minPhi));
		return kFALSE;
	}
	return kTRUE;
}

//___________________________________________________________________
Bool_t AliCaloPhotonCuts::SetMaxPhiCut(Int_t maxPhi)
{
	switch(maxPhi){
	case 0: 
		if (!fUsePhiCut) fUsePhiCut=0;
		fMaxPhiCut=10000;
		break;
	case 1: // max EMCAL
		if (!fUsePhiCut) fUsePhiCut=1;
		fMaxPhiCut=3.15;
		break;
	case 2: // max EMCAL with TRD 2011
		if (!fUsePhiCut) fUsePhiCut=1;
		fMaxPhiCut=2.45;
		break;
	case 3: // max EMCAL with TRD 2012
		if (!fUsePhiCut) fUsePhiCut=1;
		fMaxPhiCut=2.10;
		break;
		
		
	default:
		AliError(Form("Max Phi Cut not defined %d",maxPhi));
		return kFALSE;
	}
	return kTRUE;
}

//___________________________________________________________________
Bool_t AliCaloPhotonCuts::SetDistanceToBadChannelCut(Int_t distanceToBadChannel)
{
	switch(distanceToBadChannel){
	case 0: 
		fUseDistanceToBadChannel=0;
		fMinDistanceToBadChannel=0;
		break;
	case 1: 
		if (!fUseDistanceToBadChannel) fUseDistanceToBadChannel=1;
		fMinDistanceToBadChannel=5;
		break;
	default:
		AliError(Form("minimum distance to bad channel Cut not defined %d",distanceToBadChannel));
		return kFALSE;
	}
	return kTRUE;
}

//___________________________________________________________________
Bool_t AliCaloPhotonCuts::SetTimingCut(Int_t timing)
{
	switch(timing){
	case 0: 
		fUseTimeDiff=0;
		fMaxTimeDiff=500;
		break;
	case 1: 
		if (!fUseTimeDiff) fUseTimeDiff=1;
		fMaxTimeDiff=10e-7; //1000ns
		break;
	case 2: 
		if (!fUseTimeDiff) fUseTimeDiff=1;
		fMaxTimeDiff=50e-8; //500ns
		break;
	case 3: 
		if (!fUseTimeDiff) fUseTimeDiff=1;
		fMaxTimeDiff=20e-8; //200ns
		break;
	case 4: 
		if (!fUseTimeDiff) fUseTimeDiff=1;
		fMaxTimeDiff=10e-8; //100ns
		break;
	case 5: 
		if (!fUseTimeDiff) fUseTimeDiff=1;
		fMaxTimeDiff=50e-9; //50ns
		break;

	default:
		AliError(Form("Timing Cut not defined %d",timing));
		return kFALSE;
	}
	return kTRUE;
}

//___________________________________________________________________
Bool_t AliCaloPhotonCuts::SetTrackMatchingCut(Int_t trackMatching)
{
	switch(trackMatching){
	case 0: 
        fUseDistTrackToCluster = 0;
        fMaxDistTrackToClusterEta = 0;
        fMinDistTrackToClusterPhi = 0;
        fMaxDistTrackToClusterPhi = 0;
		break;
	case 1: 
		if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
        fMaxDistTrackToClusterEta = 0.015;
        fMinDistTrackToClusterPhi = -0.01;
        fMaxDistTrackToClusterPhi = 0.03;	//0.04;
		break;
	case 2: 
		if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
        fMaxDistTrackToClusterEta = 0.015;
        fMinDistTrackToClusterPhi = -0.01;
        fMaxDistTrackToClusterPhi = 0.035;	//0.05;
		break;
	case 3: 
		if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
        fMaxDistTrackToClusterEta = 0.015;
        fMinDistTrackToClusterPhi = -0.015;
        fMaxDistTrackToClusterPhi = 0.04; 	//0.1;
		break;
	case 4: 
		if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
        fMaxDistTrackToClusterEta = 0.015;
        fMinDistTrackToClusterPhi = -0.015;
        fMaxDistTrackToClusterPhi = 0.045;	//0.13;
		break;
	case 5: 
		if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
        fMaxDistTrackToClusterEta = 0.015;
        fMinDistTrackToClusterPhi = -0.02;
        fMaxDistTrackToClusterPhi = 0.05;	//0.15
		break;
	case 6: 
		if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
        fMaxDistTrackToClusterEta = 0.015;
        fMinDistTrackToClusterPhi = -0.02;
        fMaxDistTrackToClusterPhi = 0.055;	//0.2;
		break;
	case 7: 
		if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
        fMaxDistTrackToClusterEta = 0.015;
        fMinDistTrackToClusterPhi = -0.025;
        fMaxDistTrackToClusterPhi = 0.06; 	//0.3;
		break;
	case 8: 
		if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
        fMaxDistTrackToClusterEta = 0.015;
        fMinDistTrackToClusterPhi = -0.025;
        fMaxDistTrackToClusterPhi = 0.07;	//0.4;
		break;
	case 9: 
		if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
        fMaxDistTrackToClusterEta = 0.02;
        fMinDistTrackToClusterPhi = -0.03;
        fMaxDistTrackToClusterPhi = 0.1;	//0.5;
		break;

	default:
		AliError(Form("Track Matching Cut not defined %d",trackMatching));
		return kFALSE;
	}
	return kTRUE;
}

//___________________________________________________________________
Bool_t AliCaloPhotonCuts::SetExoticCellCut(Int_t exoticCell)
{
	switch(exoticCell){
	case 0: 
		fUseExoticCell=0;
		fExoticCell=0;
		break;
	case 1: 
		if (!fUseExoticCell) fUseExoticCell=1;
		fExoticCell=5; 
		break;
	default:
		AliError(Form("Exotic cell Cut not defined %d",exoticCell));
		return kFALSE;
	}
	return kTRUE;
}
		
//___________________________________________________________________
Bool_t AliCaloPhotonCuts::SetMinEnergyCut(Int_t minEnergy)
{
	switch(minEnergy){
	case 0: 
		if (!fUseMinEnergy) fUseMinEnergy=0;
		fMinEnergy=0.1;
		break;
	case 1: 
		if (!fUseMinEnergy) fUseMinEnergy=1;
		fMinEnergy=0.2; 
		break;
	case 2: 
		if (!fUseMinEnergy) fUseMinEnergy=1;
		fMinEnergy=0.3; 
		break;
	case 3: 
		if (!fUseMinEnergy) fUseMinEnergy=1;
		fMinEnergy=0.4; 
		break;
	case 4: 
		if (!fUseMinEnergy) fUseMinEnergy=1;
		fMinEnergy=0.5; 
		break;
	case 5: 
		if (!fUseMinEnergy) fUseMinEnergy=1;
		fMinEnergy=0.6; 
		break;
	case 6: 
		if (!fUseMinEnergy) fUseMinEnergy=1;
		fMinEnergy=4.5; 
		break;
	case 7: 
		if (!fUseMinEnergy) fUseMinEnergy=1;
		fMinEnergy=5.0; 
		break;
	case 8: 
		if (!fUseMinEnergy) fUseMinEnergy=1;
		fMinEnergy=5.5; 
		break;
	case 9: 
		if (!fUseMinEnergy) fUseMinEnergy=1;
		fMinEnergy=6.0; 
		break;
	default:
		AliError(Form("Minimum Energy Cut not defined %d",minEnergy));
		return kFALSE;
	}
	return kTRUE;
}
		
//___________________________________________________________________
Bool_t AliCaloPhotonCuts::SetMinNCellsCut(Int_t minNCells)
{
	switch(minNCells){
	case 0:
		if (!fUseNCells) fUseNCells=0;
		fMinNCells=0;
		break;
	case 1: 
		if (!fUseNCells) fUseNCells=1;
		fMinNCells=1; 
		break;
	case 2: 
		if (!fUseNCells) fUseNCells=1;
		fMinNCells=2; 
		break;
	case 3: 
		if (!fUseNCells) fUseNCells=1;
		fMinNCells=3; 
		break;
	case 4: 
		if (!fUseNCells) fUseNCells=1;
		fMinNCells=4; 
		break;
	case 5: 
		if (!fUseNCells) fUseNCells=1;
		fMinNCells=5; 
		break;
	case 6: 
		if (!fUseNCells) fUseNCells=1;
		fMinNCells=6; 
		break;

	default:
		AliError(Form("Min N cells Cut not defined %d",minNCells));
		return kFALSE;
	}
	return kTRUE;
}

//___________________________________________________________________
Bool_t AliCaloPhotonCuts::SetMaxM02(Int_t maxM02)
{
	switch(maxM02){
	case 0: 
		if (!fUseM02) fUseM02=0;
		fMaxM02=100;
		break;
	case 1: 
		if (!fUseM02) fUseM02=1;
		fMaxM02=1.; 
		break;
	case 2: 
		if (!fUseM02) fUseM02=1;
		fMaxM02=0.7; 
		break;
	case 3: 
		if (!fUseM02) fUseM02=1;
		fMaxM02=0.5; 
		break;
	case 4: 
		if (!fUseM02) fUseM02=1;
		fMaxM02=0.4; 
		break;
	default:
		AliError(Form("Max M02 Cut not defined %d",maxM02));
		return kFALSE;
	}
	return kTRUE;
}

//___________________________________________________________________
Bool_t AliCaloPhotonCuts::SetMinM02(Int_t minM02)
{
	switch(minM02){
	case 0: 
		if (!fUseM02) fUseM02=0;
		fMinM02=0;
		break;
	case 1: 
		if (!fUseM02) fUseM02=1;
		fMinM02=0.002; 
		break;
	case 2: 
		if (!fUseM02) fUseM02=1;
		fMinM02=0.2; 
		break;

	default:
		AliError(Form("Min M02 not defined %d",minM02));
		return kFALSE;
	}
	return kTRUE;
}

//___________________________________________________________________
Bool_t AliCaloPhotonCuts::SetMaxM20(Int_t maxM20)
{
	switch(maxM20){
	case 0: 
		if (!fUseM20) fUseM20=0;
		fMaxM20=100;
		break;
	case 1: 
		if (!fUseM20) fUseM20=1;
		fMaxM20=0.5; 
		break;
	default:
		AliError(Form("Max M20 Cut not defined %d",maxM20));
		return kFALSE;
	}
	return kTRUE;
}

//___________________________________________________________________
Bool_t AliCaloPhotonCuts::SetMinM20(Int_t minM20)
{
	switch(minM20){
	case 0: 
		if (!fUseM20) fUseM20=0;
		fMinM20=0;
		break;
	case 1: 
		if (!fUseM20) fUseM20=1;
		fMinM20=0.002; 
		break;
	default:
		AliError(Form("Min M20 Cut not defined %d",minM20));
		return kFALSE;
	}
	return kTRUE;
}

//___________________________________________________________________
Bool_t AliCaloPhotonCuts::SetDispersion(Int_t dispersion)
{
	switch(dispersion){
	case 0: 
		if (!fUseDispersion) fUseDispersion=0;
		fMaxDispersion =100;
		break;
	case 1: 
		if (!fUseDispersion) fUseDispersion=1;
		fMaxDispersion=2.; 
		break;
	default:
		AliError(Form("Maximum Dispersion Cut not defined %d",dispersion));
		return kFALSE;
	}
	return kTRUE;
}

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