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

#include "TObjArray.h"
#include "TF1.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TH2I.h"
#include "TH3F.h"
#include "TParticle.h"
#include "TList.h"
#include "THashList.h"

#include "AliAnalysisTaskSE.h"
#include "AliAnalysisTaskEpRatio.h"
#include "AliAnalysisManager.h"
#include "AliInputEventHandler.h"
#include "AliCaloPhoton.h"
#include "AliPHOSGeometry.h"
#include "AliVEvent.h"
#include "AliAODEvent.h"
#include "AliVCaloCells.h"
#include "AliVCluster.h"
#include "AliVTrack.h"
#include "AliLog.h"
#include "AliPID.h"
#include "AliPIDResponse.h" 

// *********************** New
#include "AliVertex.h"
#include "AliVVertex.h"
#include "AliVertexerTracks.h"
#include "AliExternalTrackParam.h"
#include "AliTrackReference.h"

#include <AliCDBManager.h>
#include "AliMagF.h"
#include "TGeoGlobalMagField.h"
#include "AliPHOSCalibData.h"
#include "AliOADBContainer.h"

// Analysis task to fill histograms with E/p ratios for electrons, positrons, muons
// and hadrons (pions, kaons..), where E is an energy of PHOS cluster
// and p is the momentum of it's matched track.

// Authors: Boris Polishchuk,Tsubasa Okubo
// Date   : 04.07.2013

ClassImp(AliAnalysisTaskEpRatio)
//________________________________________________________________________
AliAnalysisTaskEpRatio::AliAnalysisTaskEpRatio(const char *name) :  AliAnalysisTaskSE(name),
  fRunNumber(-999),
  fOutputContainer(0),
  fPHOSGeo(0),
  fPIDResponse(0) // Yuri
// Output slots #0 write into a TH1 container
{
  DefineOutput(1,TList::Class());
  
}
//________________________________________________________________________
void AliAnalysisTaskEpRatio::UserCreateOutputObjects()
{
  // Create histograms
  // Called once
  
  if(fOutputContainer != NULL){
    delete fOutputContainer;
  }
  fOutputContainer = new THashList();
  fOutputContainer->SetOwner();
  
  fOutputContainer->Add( new TH1F("h_CellMultEvent","PHOS Cell Multiplicity per Event",200,0,200) );
  
  fOutputContainer->Add( new TH2F("hEp","E/p All charged particles (E/p VS. p_{T})",1000,0,2,1000,0,10.) );
  fOutputContainer->Add( new TH2F("hEp_ele","E/p electron & positron (E/p VS. p_{T})",1000,0,2,1000,0,10.) );
  fOutputContainer->Add( new TH2F("hEp_ele2","E/p electron & positron (E/p VS. 1/p)",1000,0,2.,500,0,5) );
  fOutputContainer->Add( new TH2F("hEp_other","E/p other (E/p VS. p_{T})",1000,0,2,1000,0,10.) );

  fOutputContainer->Add( new TH2F("hEp_electron","E/p Electron only (E/p VS. p_{T})",1000,0,2,1000,0,10.) );
  fOutputContainer->Add( new TH2F("hEp_positron","E/p Positron only (E/p VS. p_{T})",1000,0,2,1000,0,10.) );

  fOutputContainer->Add( new TH2F("hEp_mod1","E/p All charged particles in Module1 (E/p VS. p_{T})",1000,0,2,1000,0,10.) );
  fOutputContainer->Add( new TH2F("hEp_mod2","E/p All charged particles in Module2 (E/p VS. p_{T})",1000,0,2,1000,0,10.) );
  fOutputContainer->Add( new TH2F("hEp_mod3","E/p All charged particles in Module3 (E/p VS. p_{T})",1000,0,2,1000,0,10.) );

  fOutputContainer->Add( new TH2F("hEp_ele_mod1","E/p electron & positron in Module1 (E/p VS. p_{T})",1000,0,2,1000,0,10.) );
  fOutputContainer->Add( new TH2F("hEp_ele_mod2","E/p electron & positron in Module2 (E/p VS. p_{T})",1000,0,2,1000,0,10.) );
  fOutputContainer->Add( new TH2F("hEp_ele_mod3","E/p electron & positron in Module3 (E/p VS. p_{T})",1000,0,2,1000,0,10.) );

  fOutputContainer->Add( new TH2F("hEp_other_mod1","E/p other in Module1 (E/p VS. p_{T})",1000,0,2,1000,0,10.) );
  fOutputContainer->Add( new TH2F("hEp_other_mod2","E/p other in Module2 (E/p VS. p_{T})",1000,0,2,1000,0,10.) );
  fOutputContainer->Add( new TH2F("hEp_other_mod3","E/p other in Module3 (E/p VS. p_{T})",1000,0,2,1000,0,10.) );

  fOutputContainer->Add( new TH2F("h_dedx_PHOS","dE/dx in PHOS via TPC",1000,0,10,2200,0,220.) );
  fOutputContainer->Add( new TH2F("h_dedx_ele_PHOS","dE/dx electron in PHOS via TPC",1000,0,10,2200,0,220.) );
  fOutputContainer->Add( new TH2F("h_dedx_other_PHOS","dE/dx other in PHOS via TPC",1000,0,10,2200,0,220.) );
  fOutputContainer->Add( new TH2F("h_dedx_pion_PHOS"  ,"dE/dx pion in PHOS via TPC",1000,0,10,2200,0,220.) );
  fOutputContainer->Add( new TH2F("h_dedx_proton_PHOS","dE/dx proton in PHOS via TPC",1000,0,10,2200,0,220.) );
  fOutputContainer->Add( new TH2F("h_dedx_kaon_PHOS"  ,"dE/dx kaon in PHOS via TPC",1000,0,10,2200,0,220.) );
  fOutputContainer->Add( new TH2F("h_dedx_muon_PHOS"  ,"dE/dx muon in PHOS via TPC",1000,0,10,2200,0,220.) );

  fOutputContainer->Add( new TH2F("h_ClusNXZM1","Cluster (X,Z) Module1",   64,0.5,64.5, 56,0.5,56.5) );
  fOutputContainer->Add( new TH2F("h_ClusNXZM2","Cluster (X,Z) Module2",   64,0.5,64.5, 56,0.5,56.5) );
  fOutputContainer->Add( new TH2F("h_ClusNXZM3","Cluster (X,Z) Module3",   64,0.5,64.5, 56,0.5,56.5) );
  fOutputContainer->Add( new TH2F("h_ClusNXZM1_ele","Electron Cluster (X,Z) Module1", 64,0.5,64.5, 56,0.5,56.5) );
  fOutputContainer->Add( new TH2F("h_ClusNXZM2_ele","Electron Cluster (X,Z) Module2", 64,0.5,64.5, 56,0.5,56.5) );
  fOutputContainer->Add( new TH2F("h_ClusNXZM3_ele","Electron Cluster (X,Z) Module3", 64,0.5,64.5, 56,0.5,56.5) );

  fOutputContainer->Add( new TH2F("h_EClus_NCell","Energy VS. NCell in PHOS",1000,0,10,30,0,30.) );
  fOutputContainer->Add( new TH1F("h_ECluster","Energy of Cluster in PHOS",1000,0,10.) );
  fOutputContainer->Add( new TH1F("h_NCells","Number of Cells per Cluster in PHOS",30,0,30.) );

  // =====================================================================================================
  fOutputContainer->Add( new TH2F("hEp_had","E/p Hadrons (E/p VS. p_{T})",1000,0,2,1000,0,10.) );
  fOutputContainer->Add( new TH2F("hEp_had2","E/p Hadrons (E/p VS. 1/p)",1000,0,2.,500,0,5) );
  fOutputContainer->Add( new TH2F("h_dedx_had_PHOS","dE/dx Hadron in PHOS via TPC",1000,0,10,2200,0,220.) );
  fOutputContainer->Add( new TH2F("h_ClusNXZM1_had","Hadron Cluster (X,Z) Module1", 64,0.5,64.5, 56,0.5,56.5) );
  fOutputContainer->Add( new TH2F("h_ClusNXZM2_had","Hadron Cluster (X,Z) Module2", 64,0.5,64.5, 56,0.5,56.5) );
  fOutputContainer->Add( new TH2F("h_ClusNXZM3_had","Hadron Cluster (X,Z) Module3", 64,0.5,64.5, 56,0.5,56.5) );
  fOutputContainer->Add( new TH2F("hEp_had_mod1","E/p Hadron in Module1 (E/p VS. p_{T})",1000,0,2,1000,0,10.) );
  fOutputContainer->Add( new TH2F("hEp_had_mod2","E/p Hadron in Module2 (E/p VS. p_{T})",1000,0,2,1000,0,10.) );
  fOutputContainer->Add( new TH2F("hEp_had_mod3","E/p Hadron in Module3 (E/p VS. p_{T})",1000,0,2,1000,0,10.) );

  // =====================================================================================================
  fOutputContainer->Add( new TH1F("h_NClusEvent","Number PHOS Clusters per Event in All Modules",31,-0.5,30.5) );
  fOutputContainer->Add( new TH1F("h_NClusEventmod1","Number PHOS Clusters per Event in Module1",21,-0.5,20.5) );
  fOutputContainer->Add( new TH1F("h_NClusEventmod2","Number PHOS Clusters per Event in Module2",21,-0.5,20.5) );
  fOutputContainer->Add( new TH1F("h_NClusEventmod3","Number PHOS Clusters per Event in Module3",21,-0.5,20.5) );

  fOutputContainer->Add( new TH1F("h_EClusEvent","PHOS Cluster Energy per Event in All Modules",2010,-0.5,20.5) );
  fOutputContainer->Add( new TH1F("h_EClusEventmod1","PHOS Cluster Energy per Event in Module1",2010,-0.5,20.5) );
  fOutputContainer->Add( new TH1F("h_EClusEventmod2","PHOS Cluster Energy per Event in Module2",2010,-0.5,20.5) );
  fOutputContainer->Add( new TH1F("h_EClusEventmod3","PHOS Cluster Energy per Event in Module3",2010,-0.5,20.5) );

  fOutputContainer->Add( new TH1F("h_NTrackEvent","Number of TPC Tracks per Event",1001,-0.5,1000.5) );
  fOutputContainer->Add( new TH1F("h_PTrackEvent","TPC Momentum per Event",2010,-0.5,20.5) );
  fOutputContainer->Add( new TH1F("h_NClusTPCEvent","Number of TPC Clusters per Event",301,-0.5,300.5) );
  
  // ======================================================================================================
  
  
  AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
  AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());

  fPIDResponse = inputHandler->GetPIDResponse();
  if(!fPIDResponse) AliFatal(" !!! FATAL!! No PIDResponse!!");

  PostData(1, fOutputContainer);
  
}

//________________________________________________________________________
void AliAnalysisTaskEpRatio::UserExec(Option_t *) 
{
  //Main function that does all the job.

  AliVEvent* event = InputEvent();
  fRunNumber = event->GetRunNumber(); 

  SetGeometry();
  
  Double_t v[3]={0,0,0}; //vertex;  
  const AliVVertex *primvertex = event->GetPrimaryVertex();

  primvertex->GetXYZ(v);
  TVector3 vtx(v);
  
  if(fabs(v[2])>10.) return;
  
  const Int_t kNumberOfTracks = event->GetNumberOfTracks();
  const Int_t kNumberOfCaloClusters = event->GetNumberOfCaloClusters();
  
  AliVCaloCells *cells = event->GetPHOSCells();
  Int_t multCells = cells->GetNumberOfCells();
  FillHistogram("h_CellMultEvent",multCells);
  
  TLorentzVector pc1; //4-momentum of PHOS cluster 1
  Int_t inPHOS=0;
  
  // ================
  // === TPC dedx ===
  // ================
  FillHistogram("h_NTrackEvent",kNumberOfTracks);

  for(Int_t iTrack=0; iTrack<kNumberOfTracks; iTrack++){

    AliVTrack* esdTrack = dynamic_cast<AliVTrack*> (event->GetTrack(iTrack));
    if(!esdTrack) AliFatal(Form("iTrack %d is Not a AliVTrack!!",iTrack));

    FillHistogram("h_PTrackEvent",esdTrack->P() );
    FillHistogram("h_NClusTPCEvent",esdTrack->GetTPCNcls() );
  }

  // ================
  // === E/p ========
  // ================
  Float_t position[3];
  Int_t mod1, relId[4], cellAbsId, cellX, cellZ;
  Int_t nPHOSCluster = 0, inMod1 = 0, inMod2 = 0, inMod3 = 0;
  
  for(Int_t iClu=0; iClu<kNumberOfCaloClusters; iClu++){
    
    AliVCluster *c1 = event->GetCaloCluster(iClu);

    if( !c1->IsPHOS() ) continue;
    //if( c1->E()<0.3 ) continue;
    FillHistogram("h_EClus_NCell",c1->E(),c1->GetNCells());
    FillHistogram("h_ECluster",c1->E());
    FillHistogram("h_NCells",c1->GetNCells());
    if( c1->GetNCells()<3 ) continue;

    c1->GetPosition(position);
    TVector3 global1(position);
    fPHOSGeo->GlobalPos2RelId(global1,relId);
    mod1  = relId[0];
    cellX = relId[2];
    cellZ = relId[3];

    cellAbsId = c1->GetCellAbsId(0);
    fPHOSGeo->AbsToRelNumbering(cellAbsId,relId);
    mod1 = relId[0];
    
    FillHistogram("h_EClusEvent",c1->E());
    
    if( mod1 == 1 ){
      inMod1++; nPHOSCluster++;
      FillHistogram("h_EClusEventmod1",c1->E());
    }
    else if( mod1 == 2 ){
      inMod2++; nPHOSCluster++;
      FillHistogram("h_EClusEventmod2",c1->E());
    }
    else if( mod1 == 3 ){
      inMod3++; nPHOSCluster++;
      FillHistogram("h_EClusEventmod3",c1->E());
    }

    Int_t nMatched = c1->GetNTracksMatched();
    
    Double_t Dx = c1->GetTrackDx();
    Double_t Dz = c1->GetTrackDz();
    Double_t r = sqrt(Dx*Dx+Dz*Dz); // unit is [cm]
    
    if(r > 5.) continue;
    if(nMatched<=0) continue;
    
    AliVTrack* esdTrack = dynamic_cast<AliVTrack*> (c1->GetTrackMatched(0));
    if( !(TMath::Abs(esdTrack->Eta())< 0.8) ) continue;

    Short_t charge   = esdTrack->Charge();
    if(fPIDResponse) {

      //if(c1->E()<0.3) continue;  // MIP & noise cut

      // =============================================================================
      FillHistogram("hEp",c1->E()/esdTrack->P(),esdTrack->Pt());
      FillHistogram("h_dedx_PHOS",esdTrack->P(),esdTrack->GetTPCsignal());

      if( mod1 == 1 ){
	FillHistogram("hEp_mod1",c1->E()/esdTrack->P(),esdTrack->Pt());
	FillHistogram("h_ClusNXZM1",cellX,cellZ,1.);
      }
      else if( mod1 == 2 ){
	FillHistogram("hEp_mod2",c1->E()/esdTrack->P(),esdTrack->Pt());
	FillHistogram("h_ClusNXZM2",cellX,cellZ,1.);
      }
      else if( mod1 == 3 ){
	FillHistogram("hEp_mod3",c1->E()/esdTrack->P(),esdTrack->Pt());
	FillHistogram("h_ClusNXZM3",cellX,cellZ,1.);
      }


      Bool_t pidPion=kFALSE, pidKaon=kFALSE, pidProton=kFALSE, pidElectron=kFALSE, pidMuon=kFALSE, pidHadron=kFALSE;
      Double_t nsigmaProton   = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(esdTrack, AliPID::kProton)); // esdTrack << inEvHMain
      Double_t nsigmaKaon     = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(esdTrack, AliPID::kKaon)); 
      Double_t nsigmaPion     = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(esdTrack, AliPID::kPion)); 
      //Double_t nsigmaElectron = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(esdTrack, AliPID::kElectron));
      Double_t nsigmaElectron = fPIDResponse->NumberOfSigmasTPC(esdTrack, AliPID::kElectron);
      Double_t nsigmaMuon     = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(esdTrack, AliPID::kMuon));
     
      if((nsigmaKaon    <nsigmaPion) && (nsigmaKaon    <nsigmaProton) && (nsigmaKaon    <nsigmaElectron) 
	 && (nsigmaKaon     <nsigmaMuon    ) && (nsigmaKaon    <3)) pidKaon     = kTRUE;
      if((nsigmaPion    <nsigmaKaon) && (nsigmaPion    <nsigmaProton) && (nsigmaPion    <nsigmaElectron)
	 && (nsigmaPion     <nsigmaMuon    ) && (nsigmaPion    <3)) pidPion     = kTRUE;
      if((nsigmaProton  <nsigmaKaon) && (nsigmaProton  <nsigmaPion  ) && (nsigmaProton  <nsigmaElectron)
	 && (nsigmaProton   <nsigmaMuon    ) && (nsigmaProton  <3)) pidProton   = kTRUE;
      if((nsigmaMuon    <nsigmaKaon) && (nsigmaMuon    <nsigmaPion  ) && (nsigmaMuon    <nsigmaProton  )
	 && (nsigmaMuon     <nsigmaElectron) && (nsigmaMuon    <3)) pidMuon     = kTRUE;
      if((nsigmaElectron<nsigmaKaon) && (nsigmaElectron<nsigmaPion  ) && (nsigmaElectron<nsigmaProton  ) 
	 && (nsigmaElectron <nsigmaMuon    ) && (nsigmaElectron<3) && (nsigmaElectron>-2)) pidElectron = kTRUE;
      if( (nsigmaElectron<-3) ) pidHadron = kTRUE;
      
      if (pidPion){
	FillHistogram("h_dedx_pion_PHOS",esdTrack->P(),esdTrack->GetTPCsignal());
      }
      if (pidKaon){
	FillHistogram("h_dedx_kaon_PHOS",esdTrack->P(),esdTrack->GetTPCsignal());
      }
      if (pidProton){
	FillHistogram("h_dedx_proton_PHOS",esdTrack->P(),esdTrack->GetTPCsignal());
      }
      if (pidMuon){
        FillHistogram("h_dedx_muon_PHOS",esdTrack->P(),esdTrack->GetTPCsignal());
      }

      if (pidElectron){
	FillHistogram("hEp_ele",c1->E()/esdTrack->P(),esdTrack->Pt());
        FillHistogram("hEp_ele2",c1->E()/esdTrack->P(),1/esdTrack->P());
	FillHistogram("h_dedx_ele_PHOS",esdTrack->P(),esdTrack->GetTPCsignal());

	// =============================================================================

	if (charge>0) FillHistogram("hEp_positron",c1->E()/esdTrack->P(),esdTrack->Pt());
        if (charge<0) FillHistogram("hEp_electron",c1->E()/esdTrack->P(),esdTrack->Pt());

	if( mod1 == 1 ){
	  FillHistogram("h_ClusNXZM1_ele",cellX,cellZ,1.);
	  FillHistogram("hEp_ele_mod1",c1->E()/esdTrack->P(),esdTrack->Pt());
	}
	else if( mod1 == 2 ){
	  FillHistogram("h_ClusNXZM2_ele",cellX,cellZ,1.);
	  FillHistogram("hEp_ele_mod2",c1->E()/esdTrack->P(),esdTrack->Pt());
	}
	else if( mod1 == 3 ){
	  FillHistogram("h_ClusNXZM3_ele",cellX,cellZ,1.);
	  FillHistogram("hEp_ele_mod3",c1->E()/esdTrack->P(),esdTrack->Pt());
	}
      }
      else{
	FillHistogram("hEp_other",c1->E()/esdTrack->P(),esdTrack->Pt());
	FillHistogram("h_dedx_other_PHOS",esdTrack->P(),esdTrack->GetTPCsignal());

	if( mod1 == 1 ){
	  FillHistogram("hEp_other_mod1",c1->E()/esdTrack->P(),esdTrack->Pt());
	}
	else if( mod1 == 2 ){
	  FillHistogram("hEp_other_mod2",c1->E()/esdTrack->P(),esdTrack->Pt());
	}
	else if( mod1 == 3 ){
	  FillHistogram("hEp_other_mod3",c1->E()/esdTrack->P(),esdTrack->Pt());
	}

      }

      if (pidHadron){
	FillHistogram("hEp_had",c1->E()/esdTrack->P(),esdTrack->Pt());
	FillHistogram("hEp_had2",c1->E()/esdTrack->P(),1/esdTrack->P());
	FillHistogram("h_dedx_had_PHOS",esdTrack->P(),esdTrack->GetTPCsignal());

	// =============================================================================

	if( mod1 == 1 ){
	  FillHistogram("h_ClusNXZM1_had",cellX,cellZ,1.);
	  FillHistogram("hEp_had_mod1",c1->E()/esdTrack->P(),esdTrack->Pt());
	}
	else if( mod1 == 2 ){
	  FillHistogram("h_ClusNXZM2_had",cellX,cellZ,1.);
	  FillHistogram("hEp_had_mod2",c1->E()/esdTrack->P(),esdTrack->Pt());
	}
	else if( mod1 == 3 ){
	  FillHistogram("h_ClusNXZM3_had",cellX,cellZ,1.);
	  FillHistogram("hEp_had_mod3",c1->E()/esdTrack->P(),esdTrack->Pt());
	}
      }
      
    }
    
    // =============================================================================================================================
    inPHOS++;
  }
  
  FillHistogram("h_NClusEvent",nPHOSCluster);
  FillHistogram("h_NClusEventmod1",inMod1);
  FillHistogram("h_NClusEventmod2",inMod2);
  FillHistogram("h_NClusEventmod3",inMod3);

  nPHOSCluster = 0;
  inMod1 = 0;
  inMod2 = 0;
  inMod3 = 0;
 
  //delete caloClustersArr;
  PostData(1,fOutputContainer);
  return ;
}

//_____________________________________________________________________________
void AliAnalysisTaskEpRatio::FillHistogram(const char * key,Double_t x)const{
  //FillHistogram
  TH1I * tmpI = dynamic_cast<TH1I*>(fOutputContainer->FindObject(key)) ;
  if(tmpI){
    tmpI->Fill(x) ;
    return ;
  }
  TH1F * tmpF = dynamic_cast<TH1F*>(fOutputContainer->FindObject(key)) ;
  if(tmpF){
    tmpF->Fill(x) ;
    return ;
  }
  TH1D * tmpD = dynamic_cast<TH1D*>(fOutputContainer->FindObject(key)) ;
  if(tmpD){
    tmpD->Fill(x) ;
    return ;
  }
  AliInfo(Form("can not find histogram <%s> ",key)) ;
}
//_____________________________________________________________________________
void AliAnalysisTaskEpRatio::FillHistogram(const char * key,Double_t x,Double_t y)const{
  //FillHistogram
  TObject * tmp = fOutputContainer->FindObject(key) ;
  if(!tmp){
    AliInfo(Form("can not find histogram <%s> ",key)) ;
    return ;
  }
  if(tmp->IsA() == TClass::GetClass("TH1F")){
    ((TH1F*)tmp)->Fill(x,y) ;
    return ;
  }
  if(tmp->IsA() == TClass::GetClass("TH2F")){
    ((TH2F*)tmp)->Fill(x,y) ;
    return ;
  }
  AliError(Form("Calling FillHistogram with 2 parameters for histo <%s> of type %s",key,tmp->IsA()->GetName())) ;
}

//_____________________________________________________________________________
void AliAnalysisTaskEpRatio::SetGeometry()
{
  //Init geometry.
  
  if(!fPHOSGeo){
    
    AliOADBContainer geomContainer("phosGeo");
    geomContainer.InitFromFile("$ALICE_ROOT/OADB/PHOS/PHOSGeometry.root","PHOSRotationMatrixes");
    TObjArray *matrixes = (TObjArray*)geomContainer.GetObject(fRunNumber,"PHOSRotationMatrixes");
    fPHOSGeo =  AliPHOSGeometry::GetInstance("IHEP") ;
    for(Int_t mod=0; mod<5; mod++) {
      if(!matrixes->At(mod)) {
        if( fDebug )
          AliInfo(Form("No PHOS Matrix for mod:%d, geo=%p\n", mod, fPHOSGeo));
        continue;
      }
      else {
        fPHOSGeo->SetMisalMatrix(((TGeoHMatrix*)matrixes->At(mod)),mod) ;
        if( fDebug >1 )
          AliInfo(Form("Adding PHOS Matrix for mod:%d, geo=%p\n", mod, fPHOSGeo));
      }
    }
  } 
  
}

//_____________________________________________________________________________
void AliAnalysisTaskEpRatio::FillHistogram(const char * key,Double_t x,Double_t y, Double_t z) const{
  //Fills 1D histograms with key
  TObject * tmp = fOutputContainer->FindObject(key) ;
  if(!tmp){
    AliInfo(Form("can not find histogram <%s> ",key)) ;
    return ;
  }
  if(tmp->IsA() == TClass::GetClass("TH2F")){
    ((TH2F*)tmp)->Fill(x,y,z) ;
    return ;
  }
  if(tmp->IsA() == TClass::GetClass("TH3F")){
    ((TH3F*)tmp)->Fill(x,y,z) ;
    return ;
  }
}
 AliAnalysisTaskEpRatio.cxx:1
 AliAnalysisTaskEpRatio.cxx:2
 AliAnalysisTaskEpRatio.cxx:3
 AliAnalysisTaskEpRatio.cxx:4
 AliAnalysisTaskEpRatio.cxx:5
 AliAnalysisTaskEpRatio.cxx:6
 AliAnalysisTaskEpRatio.cxx:7
 AliAnalysisTaskEpRatio.cxx:8
 AliAnalysisTaskEpRatio.cxx:9
 AliAnalysisTaskEpRatio.cxx:10
 AliAnalysisTaskEpRatio.cxx:11
 AliAnalysisTaskEpRatio.cxx:12
 AliAnalysisTaskEpRatio.cxx:13
 AliAnalysisTaskEpRatio.cxx:14
 AliAnalysisTaskEpRatio.cxx:15
 AliAnalysisTaskEpRatio.cxx:16
 AliAnalysisTaskEpRatio.cxx:17
 AliAnalysisTaskEpRatio.cxx:18
 AliAnalysisTaskEpRatio.cxx:19
 AliAnalysisTaskEpRatio.cxx:20
 AliAnalysisTaskEpRatio.cxx:21
 AliAnalysisTaskEpRatio.cxx:22
 AliAnalysisTaskEpRatio.cxx:23
 AliAnalysisTaskEpRatio.cxx:24
 AliAnalysisTaskEpRatio.cxx:25
 AliAnalysisTaskEpRatio.cxx:26
 AliAnalysisTaskEpRatio.cxx:27
 AliAnalysisTaskEpRatio.cxx:28
 AliAnalysisTaskEpRatio.cxx:29
 AliAnalysisTaskEpRatio.cxx:30
 AliAnalysisTaskEpRatio.cxx:31
 AliAnalysisTaskEpRatio.cxx:32
 AliAnalysisTaskEpRatio.cxx:33
 AliAnalysisTaskEpRatio.cxx:34
 AliAnalysisTaskEpRatio.cxx:35
 AliAnalysisTaskEpRatio.cxx:36
 AliAnalysisTaskEpRatio.cxx:37
 AliAnalysisTaskEpRatio.cxx:38
 AliAnalysisTaskEpRatio.cxx:39
 AliAnalysisTaskEpRatio.cxx:40
 AliAnalysisTaskEpRatio.cxx:41
 AliAnalysisTaskEpRatio.cxx:42
 AliAnalysisTaskEpRatio.cxx:43
 AliAnalysisTaskEpRatio.cxx:44
 AliAnalysisTaskEpRatio.cxx:45
 AliAnalysisTaskEpRatio.cxx:46
 AliAnalysisTaskEpRatio.cxx:47
 AliAnalysisTaskEpRatio.cxx:48
 AliAnalysisTaskEpRatio.cxx:49
 AliAnalysisTaskEpRatio.cxx:50
 AliAnalysisTaskEpRatio.cxx:51
 AliAnalysisTaskEpRatio.cxx:52
 AliAnalysisTaskEpRatio.cxx:53
 AliAnalysisTaskEpRatio.cxx:54
 AliAnalysisTaskEpRatio.cxx:55
 AliAnalysisTaskEpRatio.cxx:56
 AliAnalysisTaskEpRatio.cxx:57
 AliAnalysisTaskEpRatio.cxx:58
 AliAnalysisTaskEpRatio.cxx:59
 AliAnalysisTaskEpRatio.cxx:60
 AliAnalysisTaskEpRatio.cxx:61
 AliAnalysisTaskEpRatio.cxx:62
 AliAnalysisTaskEpRatio.cxx:63
 AliAnalysisTaskEpRatio.cxx:64
 AliAnalysisTaskEpRatio.cxx:65
 AliAnalysisTaskEpRatio.cxx:66
 AliAnalysisTaskEpRatio.cxx:67
 AliAnalysisTaskEpRatio.cxx:68
 AliAnalysisTaskEpRatio.cxx:69
 AliAnalysisTaskEpRatio.cxx:70
 AliAnalysisTaskEpRatio.cxx:71
 AliAnalysisTaskEpRatio.cxx:72
 AliAnalysisTaskEpRatio.cxx:73
 AliAnalysisTaskEpRatio.cxx:74
 AliAnalysisTaskEpRatio.cxx:75
 AliAnalysisTaskEpRatio.cxx:76
 AliAnalysisTaskEpRatio.cxx:77
 AliAnalysisTaskEpRatio.cxx:78
 AliAnalysisTaskEpRatio.cxx:79
 AliAnalysisTaskEpRatio.cxx:80
 AliAnalysisTaskEpRatio.cxx:81
 AliAnalysisTaskEpRatio.cxx:82
 AliAnalysisTaskEpRatio.cxx:83
 AliAnalysisTaskEpRatio.cxx:84
 AliAnalysisTaskEpRatio.cxx:85
 AliAnalysisTaskEpRatio.cxx:86
 AliAnalysisTaskEpRatio.cxx:87
 AliAnalysisTaskEpRatio.cxx:88
 AliAnalysisTaskEpRatio.cxx:89
 AliAnalysisTaskEpRatio.cxx:90
 AliAnalysisTaskEpRatio.cxx:91
 AliAnalysisTaskEpRatio.cxx:92
 AliAnalysisTaskEpRatio.cxx:93
 AliAnalysisTaskEpRatio.cxx:94
 AliAnalysisTaskEpRatio.cxx:95
 AliAnalysisTaskEpRatio.cxx:96
 AliAnalysisTaskEpRatio.cxx:97
 AliAnalysisTaskEpRatio.cxx:98
 AliAnalysisTaskEpRatio.cxx:99
 AliAnalysisTaskEpRatio.cxx:100
 AliAnalysisTaskEpRatio.cxx:101
 AliAnalysisTaskEpRatio.cxx:102
 AliAnalysisTaskEpRatio.cxx:103
 AliAnalysisTaskEpRatio.cxx:104
 AliAnalysisTaskEpRatio.cxx:105
 AliAnalysisTaskEpRatio.cxx:106
 AliAnalysisTaskEpRatio.cxx:107
 AliAnalysisTaskEpRatio.cxx:108
 AliAnalysisTaskEpRatio.cxx:109
 AliAnalysisTaskEpRatio.cxx:110
 AliAnalysisTaskEpRatio.cxx:111
 AliAnalysisTaskEpRatio.cxx:112
 AliAnalysisTaskEpRatio.cxx:113
 AliAnalysisTaskEpRatio.cxx:114
 AliAnalysisTaskEpRatio.cxx:115
 AliAnalysisTaskEpRatio.cxx:116
 AliAnalysisTaskEpRatio.cxx:117
 AliAnalysisTaskEpRatio.cxx:118
 AliAnalysisTaskEpRatio.cxx:119
 AliAnalysisTaskEpRatio.cxx:120
 AliAnalysisTaskEpRatio.cxx:121
 AliAnalysisTaskEpRatio.cxx:122
 AliAnalysisTaskEpRatio.cxx:123
 AliAnalysisTaskEpRatio.cxx:124
 AliAnalysisTaskEpRatio.cxx:125
 AliAnalysisTaskEpRatio.cxx:126
 AliAnalysisTaskEpRatio.cxx:127
 AliAnalysisTaskEpRatio.cxx:128
 AliAnalysisTaskEpRatio.cxx:129
 AliAnalysisTaskEpRatio.cxx:130
 AliAnalysisTaskEpRatio.cxx:131
 AliAnalysisTaskEpRatio.cxx:132
 AliAnalysisTaskEpRatio.cxx:133
 AliAnalysisTaskEpRatio.cxx:134
 AliAnalysisTaskEpRatio.cxx:135
 AliAnalysisTaskEpRatio.cxx:136
 AliAnalysisTaskEpRatio.cxx:137
 AliAnalysisTaskEpRatio.cxx:138
 AliAnalysisTaskEpRatio.cxx:139
 AliAnalysisTaskEpRatio.cxx:140
 AliAnalysisTaskEpRatio.cxx:141
 AliAnalysisTaskEpRatio.cxx:142
 AliAnalysisTaskEpRatio.cxx:143
 AliAnalysisTaskEpRatio.cxx:144
 AliAnalysisTaskEpRatio.cxx:145
 AliAnalysisTaskEpRatio.cxx:146
 AliAnalysisTaskEpRatio.cxx:147
 AliAnalysisTaskEpRatio.cxx:148
 AliAnalysisTaskEpRatio.cxx:149
 AliAnalysisTaskEpRatio.cxx:150
 AliAnalysisTaskEpRatio.cxx:151
 AliAnalysisTaskEpRatio.cxx:152
 AliAnalysisTaskEpRatio.cxx:153
 AliAnalysisTaskEpRatio.cxx:154
 AliAnalysisTaskEpRatio.cxx:155
 AliAnalysisTaskEpRatio.cxx:156
 AliAnalysisTaskEpRatio.cxx:157
 AliAnalysisTaskEpRatio.cxx:158
 AliAnalysisTaskEpRatio.cxx:159
 AliAnalysisTaskEpRatio.cxx:160
 AliAnalysisTaskEpRatio.cxx:161
 AliAnalysisTaskEpRatio.cxx:162
 AliAnalysisTaskEpRatio.cxx:163
 AliAnalysisTaskEpRatio.cxx:164
 AliAnalysisTaskEpRatio.cxx:165
 AliAnalysisTaskEpRatio.cxx:166
 AliAnalysisTaskEpRatio.cxx:167
 AliAnalysisTaskEpRatio.cxx:168
 AliAnalysisTaskEpRatio.cxx:169
 AliAnalysisTaskEpRatio.cxx:170
 AliAnalysisTaskEpRatio.cxx:171
 AliAnalysisTaskEpRatio.cxx:172
 AliAnalysisTaskEpRatio.cxx:173
 AliAnalysisTaskEpRatio.cxx:174
 AliAnalysisTaskEpRatio.cxx:175
 AliAnalysisTaskEpRatio.cxx:176
 AliAnalysisTaskEpRatio.cxx:177
 AliAnalysisTaskEpRatio.cxx:178
 AliAnalysisTaskEpRatio.cxx:179
 AliAnalysisTaskEpRatio.cxx:180
 AliAnalysisTaskEpRatio.cxx:181
 AliAnalysisTaskEpRatio.cxx:182
 AliAnalysisTaskEpRatio.cxx:183
 AliAnalysisTaskEpRatio.cxx:184
 AliAnalysisTaskEpRatio.cxx:185
 AliAnalysisTaskEpRatio.cxx:186
 AliAnalysisTaskEpRatio.cxx:187
 AliAnalysisTaskEpRatio.cxx:188
 AliAnalysisTaskEpRatio.cxx:189
 AliAnalysisTaskEpRatio.cxx:190
 AliAnalysisTaskEpRatio.cxx:191
 AliAnalysisTaskEpRatio.cxx:192
 AliAnalysisTaskEpRatio.cxx:193
 AliAnalysisTaskEpRatio.cxx:194
 AliAnalysisTaskEpRatio.cxx:195
 AliAnalysisTaskEpRatio.cxx:196
 AliAnalysisTaskEpRatio.cxx:197
 AliAnalysisTaskEpRatio.cxx:198
 AliAnalysisTaskEpRatio.cxx:199
 AliAnalysisTaskEpRatio.cxx:200
 AliAnalysisTaskEpRatio.cxx:201
 AliAnalysisTaskEpRatio.cxx:202
 AliAnalysisTaskEpRatio.cxx:203
 AliAnalysisTaskEpRatio.cxx:204
 AliAnalysisTaskEpRatio.cxx:205
 AliAnalysisTaskEpRatio.cxx:206
 AliAnalysisTaskEpRatio.cxx:207
 AliAnalysisTaskEpRatio.cxx:208
 AliAnalysisTaskEpRatio.cxx:209
 AliAnalysisTaskEpRatio.cxx:210
 AliAnalysisTaskEpRatio.cxx:211
 AliAnalysisTaskEpRatio.cxx:212
 AliAnalysisTaskEpRatio.cxx:213
 AliAnalysisTaskEpRatio.cxx:214
 AliAnalysisTaskEpRatio.cxx:215
 AliAnalysisTaskEpRatio.cxx:216
 AliAnalysisTaskEpRatio.cxx:217
 AliAnalysisTaskEpRatio.cxx:218
 AliAnalysisTaskEpRatio.cxx:219
 AliAnalysisTaskEpRatio.cxx:220
 AliAnalysisTaskEpRatio.cxx:221
 AliAnalysisTaskEpRatio.cxx:222
 AliAnalysisTaskEpRatio.cxx:223
 AliAnalysisTaskEpRatio.cxx:224
 AliAnalysisTaskEpRatio.cxx:225
 AliAnalysisTaskEpRatio.cxx:226
 AliAnalysisTaskEpRatio.cxx:227
 AliAnalysisTaskEpRatio.cxx:228
 AliAnalysisTaskEpRatio.cxx:229
 AliAnalysisTaskEpRatio.cxx:230
 AliAnalysisTaskEpRatio.cxx:231
 AliAnalysisTaskEpRatio.cxx:232
 AliAnalysisTaskEpRatio.cxx:233
 AliAnalysisTaskEpRatio.cxx:234
 AliAnalysisTaskEpRatio.cxx:235
 AliAnalysisTaskEpRatio.cxx:236
 AliAnalysisTaskEpRatio.cxx:237
 AliAnalysisTaskEpRatio.cxx:238
 AliAnalysisTaskEpRatio.cxx:239
 AliAnalysisTaskEpRatio.cxx:240
 AliAnalysisTaskEpRatio.cxx:241
 AliAnalysisTaskEpRatio.cxx:242
 AliAnalysisTaskEpRatio.cxx:243
 AliAnalysisTaskEpRatio.cxx:244
 AliAnalysisTaskEpRatio.cxx:245
 AliAnalysisTaskEpRatio.cxx:246
 AliAnalysisTaskEpRatio.cxx:247
 AliAnalysisTaskEpRatio.cxx:248
 AliAnalysisTaskEpRatio.cxx:249
 AliAnalysisTaskEpRatio.cxx:250
 AliAnalysisTaskEpRatio.cxx:251
 AliAnalysisTaskEpRatio.cxx:252
 AliAnalysisTaskEpRatio.cxx:253
 AliAnalysisTaskEpRatio.cxx:254
 AliAnalysisTaskEpRatio.cxx:255
 AliAnalysisTaskEpRatio.cxx:256
 AliAnalysisTaskEpRatio.cxx:257
 AliAnalysisTaskEpRatio.cxx:258
 AliAnalysisTaskEpRatio.cxx:259
 AliAnalysisTaskEpRatio.cxx:260
 AliAnalysisTaskEpRatio.cxx:261
 AliAnalysisTaskEpRatio.cxx:262
 AliAnalysisTaskEpRatio.cxx:263
 AliAnalysisTaskEpRatio.cxx:264
 AliAnalysisTaskEpRatio.cxx:265
 AliAnalysisTaskEpRatio.cxx:266
 AliAnalysisTaskEpRatio.cxx:267
 AliAnalysisTaskEpRatio.cxx:268
 AliAnalysisTaskEpRatio.cxx:269
 AliAnalysisTaskEpRatio.cxx:270
 AliAnalysisTaskEpRatio.cxx:271
 AliAnalysisTaskEpRatio.cxx:272
 AliAnalysisTaskEpRatio.cxx:273
 AliAnalysisTaskEpRatio.cxx:274
 AliAnalysisTaskEpRatio.cxx:275
 AliAnalysisTaskEpRatio.cxx:276
 AliAnalysisTaskEpRatio.cxx:277
 AliAnalysisTaskEpRatio.cxx:278
 AliAnalysisTaskEpRatio.cxx:279
 AliAnalysisTaskEpRatio.cxx:280
 AliAnalysisTaskEpRatio.cxx:281
 AliAnalysisTaskEpRatio.cxx:282
 AliAnalysisTaskEpRatio.cxx:283
 AliAnalysisTaskEpRatio.cxx:284
 AliAnalysisTaskEpRatio.cxx:285
 AliAnalysisTaskEpRatio.cxx:286
 AliAnalysisTaskEpRatio.cxx:287
 AliAnalysisTaskEpRatio.cxx:288
 AliAnalysisTaskEpRatio.cxx:289
 AliAnalysisTaskEpRatio.cxx:290
 AliAnalysisTaskEpRatio.cxx:291
 AliAnalysisTaskEpRatio.cxx:292
 AliAnalysisTaskEpRatio.cxx:293
 AliAnalysisTaskEpRatio.cxx:294
 AliAnalysisTaskEpRatio.cxx:295
 AliAnalysisTaskEpRatio.cxx:296
 AliAnalysisTaskEpRatio.cxx:297
 AliAnalysisTaskEpRatio.cxx:298
 AliAnalysisTaskEpRatio.cxx:299
 AliAnalysisTaskEpRatio.cxx:300
 AliAnalysisTaskEpRatio.cxx:301
 AliAnalysisTaskEpRatio.cxx:302
 AliAnalysisTaskEpRatio.cxx:303
 AliAnalysisTaskEpRatio.cxx:304
 AliAnalysisTaskEpRatio.cxx:305
 AliAnalysisTaskEpRatio.cxx:306
 AliAnalysisTaskEpRatio.cxx:307
 AliAnalysisTaskEpRatio.cxx:308
 AliAnalysisTaskEpRatio.cxx:309
 AliAnalysisTaskEpRatio.cxx:310
 AliAnalysisTaskEpRatio.cxx:311
 AliAnalysisTaskEpRatio.cxx:312
 AliAnalysisTaskEpRatio.cxx:313
 AliAnalysisTaskEpRatio.cxx:314
 AliAnalysisTaskEpRatio.cxx:315
 AliAnalysisTaskEpRatio.cxx:316
 AliAnalysisTaskEpRatio.cxx:317
 AliAnalysisTaskEpRatio.cxx:318
 AliAnalysisTaskEpRatio.cxx:319
 AliAnalysisTaskEpRatio.cxx:320
 AliAnalysisTaskEpRatio.cxx:321
 AliAnalysisTaskEpRatio.cxx:322
 AliAnalysisTaskEpRatio.cxx:323
 AliAnalysisTaskEpRatio.cxx:324
 AliAnalysisTaskEpRatio.cxx:325
 AliAnalysisTaskEpRatio.cxx:326
 AliAnalysisTaskEpRatio.cxx:327
 AliAnalysisTaskEpRatio.cxx:328
 AliAnalysisTaskEpRatio.cxx:329
 AliAnalysisTaskEpRatio.cxx:330
 AliAnalysisTaskEpRatio.cxx:331
 AliAnalysisTaskEpRatio.cxx:332
 AliAnalysisTaskEpRatio.cxx:333
 AliAnalysisTaskEpRatio.cxx:334
 AliAnalysisTaskEpRatio.cxx:335
 AliAnalysisTaskEpRatio.cxx:336
 AliAnalysisTaskEpRatio.cxx:337
 AliAnalysisTaskEpRatio.cxx:338
 AliAnalysisTaskEpRatio.cxx:339
 AliAnalysisTaskEpRatio.cxx:340
 AliAnalysisTaskEpRatio.cxx:341
 AliAnalysisTaskEpRatio.cxx:342
 AliAnalysisTaskEpRatio.cxx:343
 AliAnalysisTaskEpRatio.cxx:344
 AliAnalysisTaskEpRatio.cxx:345
 AliAnalysisTaskEpRatio.cxx:346
 AliAnalysisTaskEpRatio.cxx:347
 AliAnalysisTaskEpRatio.cxx:348
 AliAnalysisTaskEpRatio.cxx:349
 AliAnalysisTaskEpRatio.cxx:350
 AliAnalysisTaskEpRatio.cxx:351
 AliAnalysisTaskEpRatio.cxx:352
 AliAnalysisTaskEpRatio.cxx:353
 AliAnalysisTaskEpRatio.cxx:354
 AliAnalysisTaskEpRatio.cxx:355
 AliAnalysisTaskEpRatio.cxx:356
 AliAnalysisTaskEpRatio.cxx:357
 AliAnalysisTaskEpRatio.cxx:358
 AliAnalysisTaskEpRatio.cxx:359
 AliAnalysisTaskEpRatio.cxx:360
 AliAnalysisTaskEpRatio.cxx:361
 AliAnalysisTaskEpRatio.cxx:362
 AliAnalysisTaskEpRatio.cxx:363
 AliAnalysisTaskEpRatio.cxx:364
 AliAnalysisTaskEpRatio.cxx:365
 AliAnalysisTaskEpRatio.cxx:366
 AliAnalysisTaskEpRatio.cxx:367
 AliAnalysisTaskEpRatio.cxx:368
 AliAnalysisTaskEpRatio.cxx:369
 AliAnalysisTaskEpRatio.cxx:370
 AliAnalysisTaskEpRatio.cxx:371
 AliAnalysisTaskEpRatio.cxx:372
 AliAnalysisTaskEpRatio.cxx:373
 AliAnalysisTaskEpRatio.cxx:374
 AliAnalysisTaskEpRatio.cxx:375
 AliAnalysisTaskEpRatio.cxx:376
 AliAnalysisTaskEpRatio.cxx:377
 AliAnalysisTaskEpRatio.cxx:378
 AliAnalysisTaskEpRatio.cxx:379
 AliAnalysisTaskEpRatio.cxx:380
 AliAnalysisTaskEpRatio.cxx:381
 AliAnalysisTaskEpRatio.cxx:382
 AliAnalysisTaskEpRatio.cxx:383
 AliAnalysisTaskEpRatio.cxx:384
 AliAnalysisTaskEpRatio.cxx:385
 AliAnalysisTaskEpRatio.cxx:386
 AliAnalysisTaskEpRatio.cxx:387
 AliAnalysisTaskEpRatio.cxx:388
 AliAnalysisTaskEpRatio.cxx:389
 AliAnalysisTaskEpRatio.cxx:390
 AliAnalysisTaskEpRatio.cxx:391
 AliAnalysisTaskEpRatio.cxx:392
 AliAnalysisTaskEpRatio.cxx:393
 AliAnalysisTaskEpRatio.cxx:394
 AliAnalysisTaskEpRatio.cxx:395
 AliAnalysisTaskEpRatio.cxx:396
 AliAnalysisTaskEpRatio.cxx:397
 AliAnalysisTaskEpRatio.cxx:398
 AliAnalysisTaskEpRatio.cxx:399
 AliAnalysisTaskEpRatio.cxx:400
 AliAnalysisTaskEpRatio.cxx:401
 AliAnalysisTaskEpRatio.cxx:402
 AliAnalysisTaskEpRatio.cxx:403
 AliAnalysisTaskEpRatio.cxx:404
 AliAnalysisTaskEpRatio.cxx:405
 AliAnalysisTaskEpRatio.cxx:406
 AliAnalysisTaskEpRatio.cxx:407
 AliAnalysisTaskEpRatio.cxx:408
 AliAnalysisTaskEpRatio.cxx:409
 AliAnalysisTaskEpRatio.cxx:410
 AliAnalysisTaskEpRatio.cxx:411
 AliAnalysisTaskEpRatio.cxx:412
 AliAnalysisTaskEpRatio.cxx:413
 AliAnalysisTaskEpRatio.cxx:414
 AliAnalysisTaskEpRatio.cxx:415
 AliAnalysisTaskEpRatio.cxx:416
 AliAnalysisTaskEpRatio.cxx:417
 AliAnalysisTaskEpRatio.cxx:418
 AliAnalysisTaskEpRatio.cxx:419
 AliAnalysisTaskEpRatio.cxx:420
 AliAnalysisTaskEpRatio.cxx:421
 AliAnalysisTaskEpRatio.cxx:422
 AliAnalysisTaskEpRatio.cxx:423
 AliAnalysisTaskEpRatio.cxx:424
 AliAnalysisTaskEpRatio.cxx:425
 AliAnalysisTaskEpRatio.cxx:426
 AliAnalysisTaskEpRatio.cxx:427
 AliAnalysisTaskEpRatio.cxx:428
 AliAnalysisTaskEpRatio.cxx:429
 AliAnalysisTaskEpRatio.cxx:430
 AliAnalysisTaskEpRatio.cxx:431
 AliAnalysisTaskEpRatio.cxx:432
 AliAnalysisTaskEpRatio.cxx:433
 AliAnalysisTaskEpRatio.cxx:434
 AliAnalysisTaskEpRatio.cxx:435
 AliAnalysisTaskEpRatio.cxx:436
 AliAnalysisTaskEpRatio.cxx:437
 AliAnalysisTaskEpRatio.cxx:438
 AliAnalysisTaskEpRatio.cxx:439
 AliAnalysisTaskEpRatio.cxx:440
 AliAnalysisTaskEpRatio.cxx:441
 AliAnalysisTaskEpRatio.cxx:442
 AliAnalysisTaskEpRatio.cxx:443
 AliAnalysisTaskEpRatio.cxx:444
 AliAnalysisTaskEpRatio.cxx:445
 AliAnalysisTaskEpRatio.cxx:446
 AliAnalysisTaskEpRatio.cxx:447
 AliAnalysisTaskEpRatio.cxx:448
 AliAnalysisTaskEpRatio.cxx:449
 AliAnalysisTaskEpRatio.cxx:450
 AliAnalysisTaskEpRatio.cxx:451
 AliAnalysisTaskEpRatio.cxx:452
 AliAnalysisTaskEpRatio.cxx:453
 AliAnalysisTaskEpRatio.cxx:454
 AliAnalysisTaskEpRatio.cxx:455
 AliAnalysisTaskEpRatio.cxx:456
 AliAnalysisTaskEpRatio.cxx:457
 AliAnalysisTaskEpRatio.cxx:458
 AliAnalysisTaskEpRatio.cxx:459
 AliAnalysisTaskEpRatio.cxx:460
 AliAnalysisTaskEpRatio.cxx:461
 AliAnalysisTaskEpRatio.cxx:462
 AliAnalysisTaskEpRatio.cxx:463
 AliAnalysisTaskEpRatio.cxx:464
 AliAnalysisTaskEpRatio.cxx:465
 AliAnalysisTaskEpRatio.cxx:466
 AliAnalysisTaskEpRatio.cxx:467
 AliAnalysisTaskEpRatio.cxx:468
 AliAnalysisTaskEpRatio.cxx:469
 AliAnalysisTaskEpRatio.cxx:470
 AliAnalysisTaskEpRatio.cxx:471
 AliAnalysisTaskEpRatio.cxx:472
 AliAnalysisTaskEpRatio.cxx:473
 AliAnalysisTaskEpRatio.cxx:474
 AliAnalysisTaskEpRatio.cxx:475
 AliAnalysisTaskEpRatio.cxx:476
 AliAnalysisTaskEpRatio.cxx:477
 AliAnalysisTaskEpRatio.cxx:478
 AliAnalysisTaskEpRatio.cxx:479
 AliAnalysisTaskEpRatio.cxx:480
 AliAnalysisTaskEpRatio.cxx:481
 AliAnalysisTaskEpRatio.cxx:482