#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"
#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"
ClassImp(AliAnalysisTaskEpRatio)
AliAnalysisTaskEpRatio::AliAnalysisTaskEpRatio(const char *name) : AliAnalysisTaskSE(name),
fRunNumber(-999),
fOutputContainer(0),
fPHOSGeo(0),
fPIDResponse(0)
{
DefineOutput(1,TList::Class());
}
void AliAnalysisTaskEpRatio::UserCreateOutputObjects()
{
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 *)
{
AliVEvent* event = InputEvent();
fRunNumber = event->GetRunNumber();
SetGeometry();
Double_t v[3]={0,0,0};
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;
Int_t inPHOS=0;
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() );
}
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;
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);
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) {
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));
Double_t nsigmaKaon = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(esdTrack, AliPID::kKaon));
Double_t nsigmaPion = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(esdTrack, AliPID::kPion));
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;
PostData(1,fOutputContainer);
return ;
}
void AliAnalysisTaskEpRatio::FillHistogram(const char * key,Double_t x)const{
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{
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()
{
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{
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