#include "TFile.h"
#include "TH3F.h"
#include "TH2F.h"
#include "TF1.h"
#include "TProfile.h"
#include "TProfile2D.h"
#include "TGraph2D.h"
#include "TCanvas.h"
#include "TGraph.h"
#include "AliESDEvent.h"
#include "AliESD.h"
#include "AliESDfriend.h"
#include "AliESDfriendTrack.h"
#include "AliMathBase.h"
#include "AliTreeDraw.h"
#include "AliMCInfo.h"
#include "AliESDRecInfo.h"
#include "AliComparisonDraw.h"
ClassImp(AliComparisonDraw)
Bool_t AliComparisonDraw::fgBDraw=kFALSE;
AliComparisonDraw::AliComparisonDraw():
TNamed("ComparisonDraw","ComparisonDraw"),
fEffTPCPt(0),
fEffTPCPtMC(0),
fEffTPCPtF(0),
fEffTPCTan(0),
fEffTPCTanMC(0),
fEffTPCTanF(0),
fEffTPCPtTan(0),
fEffTPCPtTanMC(0),
fEffTPCPtTanF(0),
fTPCSignalNormTan(0),
fTPCSignalNormSPhi(0),
fTPCSignalNormTPhi(0),
fTPCSignalNormTanSPhi(0),
fTPCSignalNormTanTPhi(0),
fTPCSignalNormTanSPt(0),
fPtResolLPT(0),
fPtResolHPT(0),
fPtPullLPT(0),
fPtPullHPT(0),
fCPhiResolTan(0),
fCTanResolTan(0),
fCPtResolTan(0),
fCPhiPullTan(0),
fCTanPullTan(0),
fCPtPullTan(0),
fD0TanSPtB1(0),
fD1TanSPtB1(0),
fD0TanSPtL1(0),
fD1TanSPtL1(0)
{
InitHisto();
}
AliComparisonDraw::AliComparisonDraw(const AliComparisonDraw& draw):
TNamed(draw.GetName(),draw.GetTitle()),
fEffTPCPt(draw.fEffTPCPt),
fEffTPCPtMC(draw.fEffTPCPtMC),
fEffTPCPtF(draw.fEffTPCPtF),
fEffTPCTan(draw.fEffTPCTan),
fEffTPCTanMC(draw.fEffTPCTanMC),
fEffTPCTanF(draw.fEffTPCTanF),
fEffTPCPtTan(draw.fEffTPCPtTan),
fEffTPCPtTanMC(draw.fEffTPCPtTanMC),
fEffTPCPtTanF(draw.fEffTPCPtTanF),
fTPCSignalNormTan(draw.fTPCSignalNormTan),
fTPCSignalNormSPhi(draw.fTPCSignalNormSPhi),
fTPCSignalNormTPhi(draw.fTPCSignalNormTPhi),
fTPCSignalNormTanSPhi(draw.fTPCSignalNormTanSPhi),
fTPCSignalNormTanTPhi(draw.fTPCSignalNormTanTPhi),
fTPCSignalNormTanSPt(draw.fTPCSignalNormTanSPt),
fPtResolLPT(draw.fPtResolLPT),
fPtResolHPT(draw.fPtResolHPT),
fPtPullLPT(draw.fPtPullLPT),
fPtPullHPT(draw.fPtPullHPT),
fCPhiResolTan(draw.fCPhiResolTan),
fCTanResolTan(draw.fCTanResolTan),
fCPtResolTan(draw.fCPtResolTan),
fCPhiPullTan(draw.fCPhiPullTan),
fCTanPullTan(draw.fCTanPullTan),
fCPtPullTan(draw.fCPtPullTan),
fD0TanSPtB1(draw.fD0TanSPtB1),
fD1TanSPtB1(draw.fD1TanSPtB1),
fD0TanSPtL1(draw.fD0TanSPtL1),
fD1TanSPtL1(draw.fD1TanSPtL1)
{
}
AliComparisonDraw& AliComparisonDraw::operator=(const AliComparisonDraw& info){
delete this;
new (this) AliComparisonDraw(info);
return *this;
}
AliComparisonDraw::~AliComparisonDraw(){
delete fEffTPCPt;
delete fEffTPCPtMC;
delete fEffTPCPtF;
delete fEffTPCTan;
delete fEffTPCTanMC;
delete fEffTPCTanF;
delete fEffTPCPtTan;
delete fEffTPCPtTanMC;
delete fEffTPCPtTanF;
delete fTPCSignalNormTan;
delete fTPCSignalNormSPhi;
delete fTPCSignalNormTPhi;
delete fTPCSignalNormTanSPhi;
delete fTPCSignalNormTanTPhi;
delete fTPCSignalNormTanSPt;
delete fPtResolLPT;
delete fPtResolHPT;
delete fPtPullLPT;
delete fPtPullHPT;
delete fCPhiResolTan;
delete fCTanResolTan;
delete fCPtResolTan;
delete fCPhiPullTan;
delete fCTanPullTan;
delete fCPtPullTan;
delete fD0TanSPtB1;
delete fD1TanSPtB1;
delete fD0TanSPtL1;
delete fD1TanSPtL1;
}
void AliComparisonDraw::InitHisto(){
fEffTPCPt = new TProfile("Eff_pt","Eff_Pt",50,0.1,3);
fEffTPCPtMC = new TProfile("MC_Eff_pt","MC_Eff_Pt",50,0.1,3);
fEffTPCPtF = new TProfile("F_Eff_pt","F_Eff_Pt",50,0.1,3);
fEffTPCTan = new TProfile("Eff_tan","Eff_tan",50,-2.5,2.5);
fEffTPCTanMC = new TProfile("MC_Eff_tan","MC_Eff_tan",50,-2.5,2.5);
fEffTPCTanF = new TProfile("F_Eff_tan","F_Eff_tan",50,-2.5,2.5);
fEffTPCPtTan = new TProfile2D("Eff_pt","Eff_Pt",10,0.1,3,20,-2.,2.);
fEffTPCPtTanMC = new TProfile2D("MC_Eff_pt","MC Eff Pt",10,0.1,3,20, -2.,2.);
fEffTPCPtTanF = new TProfile2D("MC_Eff_pt","MC Eff Pt",10,0.1,3,20, -2.,2.);
fTPCSignalNormTan = new TH2F("CdEdxTan","CdEdxTan",50, -2,2, 40,30,70);
fTPCSignalNormSPhi = new TH2F("CdEdxSPhi","CdEdxSPhi",10,0.0,1,40,30,70);
fTPCSignalNormTPhi = new TH2F("CdEdxTPhi","CdEdxTPhi",10,0.0,2,40,30,70);
fTPCSignalNormTanSPhi= new TH3F("CdEdxTanSPhi","CdEdxTanSPhi",20, -2,2, 10,0.0 ,1, 40,30,70);
fTPCSignalNormTanTPhi= new TH3F("CdEdxTanTPhi","CdEdxTanTPhi",20, -2,2, 10,0.0 ,1, 40,30,70);
fTPCSignalNormTanSPt= new TH3F("CdEdxTanSPt","CdEdxTanSPt",20, -2,2, 10,0.3 ,3, 40,30,70);
fCPtResolTan = new TH2F("C Pt resol","C pt resol",50, -2,2,200,-0.2,0.2);
fCPtPullTan = new TH2F("C Pt pull","C pt pull",50, -2,2,200,-5,5);
fCPhiResolTan = new TH2F("CPhiResolTan","CPhiResolTan",50, -2,2,200,-0.025,0.025);
fCTanResolTan = new TH2F("CTanResolTan","CTanResolTan",50, -2,2,200,-0.025,0.025);
fCPtResolTan=new TH2F("CPtResol","CPtResol",50, -2,2,200,-0.2,0.2);;
fCPhiPullTan = new TH2F("CPhiPullTan","CPhiPullTan",50, -2,2,200,-5,5);
fCTanPullTan = new TH2F("CTanPullTan","CTanPullTan",50, -2,2,200,-5,5);
fCPtPullTan=new TH2F("CPtPull","CPtPull",50, -2,2,200,-5,5);
fPtResolLPT = new TH2F("Pt resol","pt resol",10, 0.1,3,200,-0.2,0.2);
fPtResolHPT = new TH2F("Pt resol","pt resol",10, 2,100,200,-0.3,0.3);
fPtPullLPT = new TH2F("Pt pool","pt pool",10, 0.1,3,200,-6,6);
fPtPullHPT = new TH2F("Pt pool","pt pool",10, 2,100,200,-6,6);
fD0TanSPtB1 = new TH3F("DCAyTanSPt","DCAyTanSPt",20,1,2, 10,0.3,2, 100,-4,4);
fD1TanSPtB1 = new TH3F("DCAzTanSPt","DCAzTanSPt",20,1,2, 10,0.3,2, 100,-4,4);
fD0TanSPtL1 = new TH3F("DCAyTanSPt","DCAyTanSPt",20,0,1, 10,0.3,2, 100,-0.1,0.1);
fD1TanSPtL1 = new TH3F("DCAzTanSPt","DCAzTanSPt",20,0,1, 10,0.3,2, 100, -0.1,0.1);
}
void AliComparisonDraw::ProcessEff(AliMCInfo* infoMC, AliESDRecInfo *infoRC){
Float_t kptcut = 0.15;
Float_t ktancut=1.;
Int_t kmincl =50;
Float_t mcpt = infoMC->GetParticle().Pt();
Float_t tantheta = TMath::Tan(infoMC->GetParticle().Theta()-TMath::Pi()*0.5);
Bool_t isPrim = infoMC->GetParticle().R()<0.1 && TMath::Abs(infoMC->GetParticle().Vz())<10;
if (!isPrim) return;
if (TMath::Abs(tantheta)<ktancut){
fEffTPCPt->Fill(mcpt, infoRC->GetStatus(1)==3);
fEffTPCPtMC->Fill(mcpt, infoMC->GetRowsWithDigits()>kmincl);
if (infoMC->GetRowsWithDigits()>kmincl){
fEffTPCPtF->Fill(mcpt, infoRC->GetStatus(1)==3);
}
}
if (TMath::Abs(mcpt)>kptcut){
fEffTPCTan->Fill(tantheta, infoRC->GetStatus(1)==3);
fEffTPCTanMC->Fill(tantheta, infoMC->GetRowsWithDigits()>kmincl);
if (infoMC->GetRowsWithDigits()>kmincl){
fEffTPCTanF->Fill(tantheta, infoRC->GetStatus(1)==3);
}
}
fEffTPCPtTan->Fill(mcpt,tantheta,infoRC->GetStatus(1)==3);
fEffTPCPtTanMC->Fill(mcpt,tantheta,infoMC->GetRowsWithDigits()>50);
if (infoMC->GetRowsWithDigits()>kmincl){
fEffTPCPtTanF->Fill(mcpt,tantheta,infoRC->GetStatus(1)==3);
}
}
void AliComparisonDraw::ProcessResolConstrained(AliMCInfo* infoMC, AliESDRecInfo *infoRC){
Float_t mcpt = infoMC->GetParticle().Pt();
Float_t tantheta = TMath::Tan(infoMC->GetParticle().Theta()-TMath::Pi()*0.5);
Bool_t isPrim = infoMC->GetParticle().R()<0.1 && TMath::Abs(infoMC->GetParticle().Vz())<10;
if (!isPrim) return;
if (infoRC->GetStatus(1)!=3) return;
if (!infoRC->GetESDtrack()) return;
if (infoRC->GetESDtrack()->GetTPCNcls()<10) return;
if (!infoRC->GetESDtrack()->GetConstrainedParam()) return;
const AliExternalTrackParam * cparam = infoRC->GetESDtrack()->GetConstrainedParam();
Float_t deltaCPt= (mcpt-cparam->Pt())/mcpt;
Float_t pullCPt= (1/mcpt-cparam->OneOverPt())/
TMath::Sqrt(cparam->GetSigma1Pt2());
Float_t deltaPhi = TMath::ATan2(cparam->Py(),cparam->Px())-
TMath::ATan2(infoMC->GetParticle().Py(),infoMC->GetParticle().Px());
Float_t pullPhi = deltaPhi/TMath::Sqrt(cparam->GetSigmaSnp2());
Float_t deltaTan = TMath::ATan2(cparam->Pz(),cparam->Pt())-
TMath::ATan2(infoMC->GetParticle().Pz(),infoMC->GetParticle().Pt());
Float_t pullTan = deltaPhi/TMath::Sqrt(cparam->GetSigmaSnp2());
fCPtResolTan->Fill(tantheta,deltaCPt);
fCPtPullTan->Fill(tantheta,pullCPt);
fCPhiResolTan->Fill(tantheta,deltaPhi);
fCPhiPullTan->Fill(tantheta,pullPhi);
fCTanResolTan->Fill(tantheta,deltaTan);
fCTanPullTan->Fill(tantheta,pullTan);
}
void AliComparisonDraw::ProcessTPCdedx(AliMCInfo* infoMC, AliESDRecInfo *infoRC){
Float_t mcpt = infoMC->GetParticle().Pt();
Float_t tantheta = TMath::Tan(infoMC->GetParticle().Theta()-TMath::Pi()*0.5);
Bool_t isPrim = infoMC->GetParticle().R()<0.1 && TMath::Abs(infoMC->GetParticle().Vz())<10;
if (!isPrim) return;
if (infoRC->GetStatus(1)!=3) return;
if (!infoRC->GetESDtrack()) return;
if (infoRC->GetESDtrack()->GetTPCNcls()<10) return;
if (!infoRC->GetESDtrack()->GetConstrainedParam()) return;
Float_t mprim = infoMC->GetPrim();
if (mprim>1.4) return;
if (mprim<0.5) return;
if (infoRC->GetESDtrack()->GetTPCsignalN()<50) return;
Float_t ratio = infoRC->GetESDtrack()->GetTPCsignal()/infoMC->GetPrim();
Float_t sphi = infoRC->GetESDtrack()->GetInnerParam()->GetSnp();
Float_t tphi = sphi/TMath::Sqrt((1.-sphi)*(1.+sphi));
if (TMath::Abs(infoMC->GetParticle().GetPdgCode())!=211) return;
if (mcpt>0.5){
fTPCSignalNormTan->Fill(tantheta,ratio);
}
if (TMath::Abs(tantheta)<0.5){
fTPCSignalNormSPhi->Fill(sphi,ratio);
fTPCSignalNormTPhi->Fill(tphi,ratio);
}
fTPCSignalNormTanSPhi->Fill(tantheta,sphi,ratio);
fTPCSignalNormTanTPhi->Fill(tantheta,tphi,ratio);
fTPCSignalNormTanSPt->Fill(tantheta,TMath::Sqrt(mcpt),ratio);
}
void AliComparisonDraw::ProcessDCA(AliMCInfo* infoMC, AliESDRecInfo *infoRC){
Float_t mcpt = infoMC->GetParticle().Pt();
Float_t tantheta = TMath::Tan(infoMC->GetParticle().Theta()-TMath::Pi()*0.5);
Bool_t isPrim = infoMC->GetParticle().R()<0.1 && TMath::Abs(infoMC->GetParticle().Vz())<10;
if (!isPrim) return;
if (infoRC->GetStatus(1)!=3) return;
if (!infoRC->GetESDtrack()) return;
if (infoRC->GetESDtrack()->GetTPCNcls()<10) return;
if (!infoRC->GetESDtrack()->GetConstrainedParam()) return;
Float_t spt = TMath::Sqrt(mcpt);
Float_t dca[2],cov[3];
infoRC->GetESDtrack()->GetImpactParameters(dca,cov);
Int_t clusterITS[100];
if (infoRC->GetESDtrack()->GetITSclusters(clusterITS)==0){
fD0TanSPtB1->Fill(tantheta,spt,dca[0]);
fD1TanSPtB1->Fill(tantheta,spt,dca[1]);
}
fD0TanSPtL1->Fill(tantheta,spt,dca[0]);
fD1TanSPtL1->Fill(tantheta,spt,dca[1]);
}
void AliComparisonDraw::Process(AliMCInfo* infoMC, AliESDRecInfo *infoRC){
ProcessEff(infoMC,infoRC);
ProcessResolConstrained(infoMC,infoRC);
ProcessTPCdedx(infoMC, infoRC);
ProcessDCA(infoMC, infoRC);
Float_t mcpt = infoMC->GetParticle().Pt();
Bool_t isPrim = infoMC->GetParticle().R()<0.1 && TMath::Abs(infoMC->GetParticle().Vz())<10;
if (!isPrim) return;
if (infoRC->GetStatus(1)==0) return;
if (!infoRC->GetESDtrack()) return;
if (infoRC->GetESDtrack()->GetTPCNcls()<10) return;
Float_t deltaPt= (mcpt-infoRC->GetESDtrack()->Pt())/mcpt;
Float_t poolPt= (1/mcpt-infoRC->GetESDtrack()->OneOverPt())/
TMath::Sqrt(infoRC->GetESDtrack()->GetSigma1Pt2());
fPtResolLPT->Fill(mcpt,deltaPt);
fPtResolHPT->Fill(mcpt,deltaPt);
fPtPullLPT->Fill(mcpt,poolPt);
fPtPullHPT->Fill(mcpt,poolPt);
}
TH1F* AliComparisonDraw::MakeResol(TH2F * his, Int_t integ, Bool_t type){
TH1F *hisr, *hism;
if (!gPad) new TCanvas;
hisr = AliTreeDraw::CreateResHistoI(his,&hism,integ);
if (type) return hism;
else
return hisr;
}
TGraph2D * AliComparisonDraw::MakeStat2D(TH3 * his, Int_t delta0, Int_t delta1, Int_t type){
TAxis * xaxis = his->GetXaxis();
TAxis * yaxis = his->GetYaxis();
Int_t nbinx = xaxis->GetNbins();
Int_t nbiny = yaxis->GetNbins();
char name[1000];
Int_t icount=0;
TGraph2D *graph = new TGraph2D(nbinx*nbiny);
TF1 f1("f1","gaus");
for (Int_t ix=0; ix<nbinx;ix++)
for (Int_t iy=0; iy<nbiny;iy++){
Float_t xcenter = xaxis->GetBinCenter(ix);
Float_t ycenter = yaxis->GetBinCenter(iy);
snprintf(name,1000,"%s_%d_%d",his->GetName(), ix,iy);
TH1 *projection = his->ProjectionZ(name,ix-delta0,ix+delta0,iy-delta1,iy+delta1);
Float_t stat= 0;
if (type==0) stat = projection->GetMean();
if (type==1) stat = projection->GetRMS();
if (type==2 || type==3){
TVectorD vec(3);
AliMathBase::LTM((TH1F*)projection,&vec,0.7);
if (type==2) stat= vec[1];
if (type==3) stat= vec[0];
}
if (type==4|| type==5){
projection->Fit(&f1);
if (type==4) stat= f1.GetParameter(1);
if (type==5) stat= f1.GetParameter(2);
}
graph->SetPoint(icount,xcenter, ycenter, stat);
icount++;
}
return graph;
}
TGraph * AliComparisonDraw::MakeStat1D(TH3 * his, Int_t delta1, Int_t type){
TAxis * xaxis = his->GetXaxis();
TAxis * yaxis = his->GetYaxis();
Int_t nbinx = xaxis->GetNbins();
Int_t nbiny = yaxis->GetNbins();
char name[1000];
Int_t icount=0;
TGraph *graph = new TGraph(nbinx);
TF1 f1("f1","gaus");
for (Int_t ix=0; ix<nbinx;ix++){
Float_t xcenter = xaxis->GetBinCenter(ix);
snprintf(name,1000,"%s_%d",his->GetName(), ix);
TH1 *projection = his->ProjectionZ(name,ix-delta1,ix+delta1,0,nbiny);
Float_t stat= 0;
if (type==0) stat = projection->GetMean();
if (type==1) stat = projection->GetRMS();
if (type==2 || type==3){
TVectorD vec(3);
AliMathBase::LTM((TH1F*)projection,&vec,0.7);
if (type==2) stat= vec[1];
if (type==3) stat= vec[0];
}
if (type==4|| type==5){
projection->Fit(&f1);
if (type==4) stat= f1.GetParameter(1);
if (type==5) stat= f1.GetParameter(2);
}
graph->SetPoint(icount,xcenter, stat);
icount++;
}
return graph;
}
void AliComparisonDraw::MakePlots(){
AliComparisonDraw * comp=this;
TFile *fp = new TFile("picutures.root","recreate");
TH1F *hiss=0;
TGraph2D * gr=0, gr2=0;
TGraph * gr0 = 0;
TCanvas * c = new TCanvas("Phi resol Tan","Phi resol Tan");
hiss = comp->MakeResol(comp->fCPtResolTan,1,0);
hiss->SetXTitle("Tan(#theta)");
hiss->SetYTitle("#sigmap_{t}/p_{t}");
hiss->Draw();
hiss->Write("CptResolTan");
hiss = comp->MakeResol(comp->fCPhiResolTan,1,0);
c->cd();
hiss->SetXTitle("Tan(#theta)");
hiss->SetYTitle("#sigma#phi (rad)");
hiss->Draw();
fp->cd();
hiss->Write("PhiResolTan");
hiss = comp->MakeResol(comp->fCTanResolTan,1,0);
c->cd();
hiss->SetXTitle("Tan(#theta)");
hiss->SetYTitle("#sigma#theta (rad)");
hiss->Draw();
fp->cd();
hiss->Write("ThetaResolTan");
hiss = comp->MakeResol(comp->fCTanResolTan,1,0);
c->cd();
hiss->SetXTitle("Tan(#theta)");
hiss->SetYTitle("#sigmap_{t}/p_{t} ");
hiss->Draw();
fp->cd();
hiss = comp->MakeResol(comp->fTPCSignalNormTan,4,0);
hiss->SetXTitle("Tan(#theta)");
hiss->SetYTitle("#sigma_{dEdx}");
hiss->Draw();
fp->cd();
hiss->Write("TPCdEdxResolTan");
hiss = comp->MakeResol(comp->fTPCSignalNormTan,4,1);
hiss->SetXTitle("Tan(#theta)");
hiss->SetYTitle("<dEdx>");
hiss->Draw();
hiss->Write("TPCdEdxMeanTan");
gr = comp->MakeStat2D(comp->fTPCSignalNormTanSPt,3,1,4);
gr->GetXaxis()->SetTitle("Tan(#theta)");
gr->GetYaxis()->SetTitle("#sqrt{p_{t}(GeV)}");
gr->GetZaxis()->SetTitle("<dEdx>");
gr->Draw("colz");
gr->GetHistogram()->Write("TPCdEdxMeanTanPt");
gr = comp->MakeStat2D(comp->fTPCSignalNormTanSPt,3,1,5);
gr->GetXaxis()->SetTitle("Tan(#theta)");
gr->GetYaxis()->SetTitle("#sqrt{p_{t}(GeV)}");
gr->GetZaxis()->SetTitle("#sigma_{dEdx}");
gr->Draw("colz");
gr->GetHistogram()->Write("TPCdEdxMeanTanPt");
comp->fEffTPCTanF->SetXTitle("Tan(#theta)");
comp->fEffTPCTanF->SetYTitle("eff_{findable}");
comp->fEffTPCTanF->Draw();
comp->fEffTPCTanF->Write("EffTanFindable");
comp->fEffTPCTan->SetXTitle("Tan(#theta)");
comp->fEffTPCTan->SetYTitle("eff_{all}");
comp->fEffTPCTan->Draw();
comp->fEffTPCTan->Write("EffTanAll");
gr0 = comp->MakeStat1D(comp->fD0TanSPtB1,2,5);
gr0->GetXaxis()->SetTitle("Tan(#theta)");
gr0->GetYaxis()->SetTitle("#sigmaDCA (cm)");
gPad->Clear();
gr0->Draw("al*");
gr->GetHistogram()->Write("DCAResolTan");
gr = comp->MakeStat2D(comp->fD0TanSPtB1,4,2,5);
gr0->GetXaxis()->SetTitle("Tan(#theta)");
gr0->GetYaxis()->SetTitle("#sigmaDCA (cm)");
gPad->Clear();
gr0->Draw("al*");
gr->GetHistogram()->Write("DCAResolSPTTan");
fp->Close();
}
AliComparisonDraw.cxx:100 AliComparisonDraw.cxx:101 AliComparisonDraw.cxx:102 AliComparisonDraw.cxx:103 AliComparisonDraw.cxx:104 AliComparisonDraw.cxx:105 AliComparisonDraw.cxx:106 AliComparisonDraw.cxx:107 AliComparisonDraw.cxx:108 AliComparisonDraw.cxx:109 AliComparisonDraw.cxx:110 AliComparisonDraw.cxx:111 AliComparisonDraw.cxx:112 AliComparisonDraw.cxx:113 AliComparisonDraw.cxx:114 AliComparisonDraw.cxx:115 AliComparisonDraw.cxx:116 AliComparisonDraw.cxx:117 AliComparisonDraw.cxx:118 AliComparisonDraw.cxx:119 AliComparisonDraw.cxx:120 AliComparisonDraw.cxx:121 AliComparisonDraw.cxx:122 AliComparisonDraw.cxx:123 AliComparisonDraw.cxx:124 AliComparisonDraw.cxx:125 AliComparisonDraw.cxx:126 AliComparisonDraw.cxx:127 AliComparisonDraw.cxx:128 AliComparisonDraw.cxx:129 AliComparisonDraw.cxx:130 AliComparisonDraw.cxx:131 AliComparisonDraw.cxx:132 AliComparisonDraw.cxx:133 AliComparisonDraw.cxx:134 AliComparisonDraw.cxx:135 AliComparisonDraw.cxx:136 AliComparisonDraw.cxx:137 AliComparisonDraw.cxx:138 AliComparisonDraw.cxx:139 AliComparisonDraw.cxx:140 AliComparisonDraw.cxx:141 AliComparisonDraw.cxx:142 AliComparisonDraw.cxx:143 AliComparisonDraw.cxx:144 AliComparisonDraw.cxx:145 AliComparisonDraw.cxx:146 AliComparisonDraw.cxx:147 AliComparisonDraw.cxx:148 AliComparisonDraw.cxx:149 AliComparisonDraw.cxx:150 AliComparisonDraw.cxx:151 AliComparisonDraw.cxx:152 AliComparisonDraw.cxx:153 AliComparisonDraw.cxx:154 AliComparisonDraw.cxx:155 AliComparisonDraw.cxx:156 AliComparisonDraw.cxx:157 AliComparisonDraw.cxx:158 AliComparisonDraw.cxx:159 AliComparisonDraw.cxx:160 AliComparisonDraw.cxx:161 AliComparisonDraw.cxx:162 AliComparisonDraw.cxx:163 AliComparisonDraw.cxx:164 AliComparisonDraw.cxx:165 AliComparisonDraw.cxx:166 AliComparisonDraw.cxx:167 AliComparisonDraw.cxx:168 AliComparisonDraw.cxx:169 AliComparisonDraw.cxx:170 AliComparisonDraw.cxx:171 AliComparisonDraw.cxx:172 AliComparisonDraw.cxx:173 AliComparisonDraw.cxx:174 AliComparisonDraw.cxx:175 AliComparisonDraw.cxx:176 AliComparisonDraw.cxx:177 AliComparisonDraw.cxx:178 AliComparisonDraw.cxx:179 AliComparisonDraw.cxx:180 AliComparisonDraw.cxx:181 AliComparisonDraw.cxx:182 AliComparisonDraw.cxx:183 AliComparisonDraw.cxx:184 AliComparisonDraw.cxx:185 AliComparisonDraw.cxx:186 AliComparisonDraw.cxx:187 AliComparisonDraw.cxx:188 AliComparisonDraw.cxx:189 AliComparisonDraw.cxx:190 AliComparisonDraw.cxx:191 AliComparisonDraw.cxx:192 AliComparisonDraw.cxx:193 AliComparisonDraw.cxx:194 AliComparisonDraw.cxx:195 AliComparisonDraw.cxx:196 AliComparisonDraw.cxx:197 AliComparisonDraw.cxx:198 AliComparisonDraw.cxx:199 AliComparisonDraw.cxx:200 AliComparisonDraw.cxx:201 AliComparisonDraw.cxx:202 AliComparisonDraw.cxx:203 AliComparisonDraw.cxx:204 AliComparisonDraw.cxx:205 AliComparisonDraw.cxx:206 AliComparisonDraw.cxx:207 AliComparisonDraw.cxx:208 AliComparisonDraw.cxx:209 AliComparisonDraw.cxx:210 AliComparisonDraw.cxx:211 AliComparisonDraw.cxx:212 AliComparisonDraw.cxx:213 AliComparisonDraw.cxx:214 AliComparisonDraw.cxx:215 AliComparisonDraw.cxx:216 AliComparisonDraw.cxx:217 AliComparisonDraw.cxx:218 AliComparisonDraw.cxx:219 AliComparisonDraw.cxx:220 AliComparisonDraw.cxx:221 AliComparisonDraw.cxx:222 AliComparisonDraw.cxx:223 AliComparisonDraw.cxx:224 AliComparisonDraw.cxx:225 AliComparisonDraw.cxx:226 AliComparisonDraw.cxx:227 AliComparisonDraw.cxx:228 AliComparisonDraw.cxx:229 AliComparisonDraw.cxx:230 AliComparisonDraw.cxx:231 AliComparisonDraw.cxx:232 AliComparisonDraw.cxx:233 AliComparisonDraw.cxx:234 AliComparisonDraw.cxx:235 AliComparisonDraw.cxx:236 AliComparisonDraw.cxx:237 AliComparisonDraw.cxx:238 AliComparisonDraw.cxx:239 AliComparisonDraw.cxx:240 AliComparisonDraw.cxx:241 AliComparisonDraw.cxx:242 AliComparisonDraw.cxx:243 AliComparisonDraw.cxx:244 AliComparisonDraw.cxx:245 AliComparisonDraw.cxx:246 AliComparisonDraw.cxx:247 AliComparisonDraw.cxx:248 AliComparisonDraw.cxx:249 AliComparisonDraw.cxx:250 AliComparisonDraw.cxx:251 AliComparisonDraw.cxx:252 AliComparisonDraw.cxx:253 AliComparisonDraw.cxx:254 AliComparisonDraw.cxx:255 AliComparisonDraw.cxx:256 AliComparisonDraw.cxx:257 AliComparisonDraw.cxx:258 AliComparisonDraw.cxx:259 AliComparisonDraw.cxx:260 AliComparisonDraw.cxx:261 AliComparisonDraw.cxx:262 AliComparisonDraw.cxx:263 AliComparisonDraw.cxx:264 AliComparisonDraw.cxx:265 AliComparisonDraw.cxx:266 AliComparisonDraw.cxx:267 AliComparisonDraw.cxx:268 AliComparisonDraw.cxx:269 AliComparisonDraw.cxx:270 AliComparisonDraw.cxx:271 AliComparisonDraw.cxx:272 AliComparisonDraw.cxx:273 AliComparisonDraw.cxx:274 AliComparisonDraw.cxx:275 AliComparisonDraw.cxx:276 AliComparisonDraw.cxx:277 AliComparisonDraw.cxx:278 AliComparisonDraw.cxx:279 AliComparisonDraw.cxx:280 AliComparisonDraw.cxx:281 AliComparisonDraw.cxx:282 AliComparisonDraw.cxx:283 AliComparisonDraw.cxx:284 AliComparisonDraw.cxx:285 AliComparisonDraw.cxx:286 AliComparisonDraw.cxx:287 AliComparisonDraw.cxx:288 AliComparisonDraw.cxx:289 AliComparisonDraw.cxx:290 AliComparisonDraw.cxx:291 AliComparisonDraw.cxx:292 AliComparisonDraw.cxx:293 AliComparisonDraw.cxx:294 AliComparisonDraw.cxx:295 AliComparisonDraw.cxx:296 AliComparisonDraw.cxx:297 AliComparisonDraw.cxx:298 AliComparisonDraw.cxx:299 AliComparisonDraw.cxx:300 AliComparisonDraw.cxx:301 AliComparisonDraw.cxx:302 AliComparisonDraw.cxx:303 AliComparisonDraw.cxx:304 AliComparisonDraw.cxx:305 AliComparisonDraw.cxx:306 AliComparisonDraw.cxx:307 AliComparisonDraw.cxx:308 AliComparisonDraw.cxx:309 AliComparisonDraw.cxx:310 AliComparisonDraw.cxx:311 AliComparisonDraw.cxx:312 AliComparisonDraw.cxx:313 AliComparisonDraw.cxx:314 AliComparisonDraw.cxx:315 AliComparisonDraw.cxx:316 AliComparisonDraw.cxx:317 AliComparisonDraw.cxx:318 AliComparisonDraw.cxx:319 AliComparisonDraw.cxx:320 AliComparisonDraw.cxx:321 AliComparisonDraw.cxx:322 AliComparisonDraw.cxx:323 AliComparisonDraw.cxx:324 AliComparisonDraw.cxx:325 AliComparisonDraw.cxx:326 AliComparisonDraw.cxx:327 AliComparisonDraw.cxx:328 AliComparisonDraw.cxx:329 AliComparisonDraw.cxx:330 AliComparisonDraw.cxx:331 AliComparisonDraw.cxx:332 AliComparisonDraw.cxx:333 AliComparisonDraw.cxx:334 AliComparisonDraw.cxx:335 AliComparisonDraw.cxx:336 AliComparisonDraw.cxx:337 AliComparisonDraw.cxx:338 AliComparisonDraw.cxx:339 AliComparisonDraw.cxx:340 AliComparisonDraw.cxx:341 AliComparisonDraw.cxx:342 AliComparisonDraw.cxx:343 AliComparisonDraw.cxx:344 AliComparisonDraw.cxx:345 AliComparisonDraw.cxx:346 AliComparisonDraw.cxx:347 AliComparisonDraw.cxx:348 AliComparisonDraw.cxx:349 AliComparisonDraw.cxx:350 AliComparisonDraw.cxx:351 AliComparisonDraw.cxx:352 AliComparisonDraw.cxx:353 AliComparisonDraw.cxx:354 AliComparisonDraw.cxx:355 AliComparisonDraw.cxx:356 AliComparisonDraw.cxx:357 AliComparisonDraw.cxx:358 AliComparisonDraw.cxx:359 AliComparisonDraw.cxx:360 AliComparisonDraw.cxx:361 AliComparisonDraw.cxx:362 AliComparisonDraw.cxx:363 AliComparisonDraw.cxx:364 AliComparisonDraw.cxx:365 AliComparisonDraw.cxx:366 AliComparisonDraw.cxx:367 AliComparisonDraw.cxx:368 AliComparisonDraw.cxx:369 AliComparisonDraw.cxx:370 AliComparisonDraw.cxx:371 AliComparisonDraw.cxx:372 AliComparisonDraw.cxx:373 AliComparisonDraw.cxx:374 AliComparisonDraw.cxx:375 AliComparisonDraw.cxx:376 AliComparisonDraw.cxx:377 AliComparisonDraw.cxx:378 AliComparisonDraw.cxx:379 AliComparisonDraw.cxx:380 AliComparisonDraw.cxx:381 AliComparisonDraw.cxx:382 AliComparisonDraw.cxx:383 AliComparisonDraw.cxx:384 AliComparisonDraw.cxx:385 AliComparisonDraw.cxx:386 AliComparisonDraw.cxx:387 AliComparisonDraw.cxx:388 AliComparisonDraw.cxx:389 AliComparisonDraw.cxx:390 AliComparisonDraw.cxx:391 AliComparisonDraw.cxx:392 AliComparisonDraw.cxx:393 AliComparisonDraw.cxx:394 AliComparisonDraw.cxx:395 AliComparisonDraw.cxx:396 AliComparisonDraw.cxx:397 AliComparisonDraw.cxx:398 AliComparisonDraw.cxx:399 AliComparisonDraw.cxx:400 AliComparisonDraw.cxx:401 AliComparisonDraw.cxx:402 AliComparisonDraw.cxx:403 AliComparisonDraw.cxx:404 AliComparisonDraw.cxx:405 AliComparisonDraw.cxx:406 AliComparisonDraw.cxx:407 AliComparisonDraw.cxx:408 AliComparisonDraw.cxx:409 AliComparisonDraw.cxx:410 AliComparisonDraw.cxx:411 AliComparisonDraw.cxx:412 AliComparisonDraw.cxx:413 AliComparisonDraw.cxx:414 AliComparisonDraw.cxx:415 AliComparisonDraw.cxx:416 AliComparisonDraw.cxx:417 AliComparisonDraw.cxx:418 AliComparisonDraw.cxx:419 AliComparisonDraw.cxx:420 AliComparisonDraw.cxx:421 AliComparisonDraw.cxx:422 AliComparisonDraw.cxx:423 AliComparisonDraw.cxx:424 AliComparisonDraw.cxx:425 AliComparisonDraw.cxx:426 AliComparisonDraw.cxx:427 AliComparisonDraw.cxx:428 AliComparisonDraw.cxx:429 AliComparisonDraw.cxx:430 AliComparisonDraw.cxx:431 AliComparisonDraw.cxx:432 AliComparisonDraw.cxx:433 AliComparisonDraw.cxx:434 AliComparisonDraw.cxx:435 AliComparisonDraw.cxx:436 AliComparisonDraw.cxx:437 AliComparisonDraw.cxx:438 AliComparisonDraw.cxx:439 AliComparisonDraw.cxx:440 AliComparisonDraw.cxx:441 AliComparisonDraw.cxx:442 AliComparisonDraw.cxx:443 AliComparisonDraw.cxx:444 AliComparisonDraw.cxx:445 AliComparisonDraw.cxx:446 AliComparisonDraw.cxx:447 AliComparisonDraw.cxx:448 AliComparisonDraw.cxx:449 AliComparisonDraw.cxx:450 AliComparisonDraw.cxx:451 AliComparisonDraw.cxx:452 AliComparisonDraw.cxx:453 AliComparisonDraw.cxx:454 AliComparisonDraw.cxx:455 AliComparisonDraw.cxx:456 AliComparisonDraw.cxx:457 AliComparisonDraw.cxx:458 AliComparisonDraw.cxx:459 AliComparisonDraw.cxx:460 AliComparisonDraw.cxx:461 AliComparisonDraw.cxx:462 AliComparisonDraw.cxx:463 AliComparisonDraw.cxx:464 AliComparisonDraw.cxx:465 AliComparisonDraw.cxx:466 AliComparisonDraw.cxx:467 AliComparisonDraw.cxx:468 AliComparisonDraw.cxx:469 AliComparisonDraw.cxx:470 AliComparisonDraw.cxx:471 AliComparisonDraw.cxx:472 AliComparisonDraw.cxx:473 AliComparisonDraw.cxx:474 AliComparisonDraw.cxx:475 AliComparisonDraw.cxx:476 AliComparisonDraw.cxx:477 AliComparisonDraw.cxx:478 AliComparisonDraw.cxx:479 AliComparisonDraw.cxx:480 AliComparisonDraw.cxx:481 AliComparisonDraw.cxx:482 AliComparisonDraw.cxx:483 AliComparisonDraw.cxx:484 AliComparisonDraw.cxx:485 AliComparisonDraw.cxx:486 AliComparisonDraw.cxx:487 AliComparisonDraw.cxx:488 AliComparisonDraw.cxx:489 AliComparisonDraw.cxx:490 AliComparisonDraw.cxx:491 AliComparisonDraw.cxx:492 AliComparisonDraw.cxx:493 AliComparisonDraw.cxx:494 AliComparisonDraw.cxx:495 AliComparisonDraw.cxx:496 AliComparisonDraw.cxx:497 AliComparisonDraw.cxx:498 AliComparisonDraw.cxx:499 AliComparisonDraw.cxx:500 AliComparisonDraw.cxx:501 AliComparisonDraw.cxx:502 AliComparisonDraw.cxx:503 AliComparisonDraw.cxx:504 AliComparisonDraw.cxx:505 AliComparisonDraw.cxx:506 AliComparisonDraw.cxx:507 AliComparisonDraw.cxx:508 AliComparisonDraw.cxx:509 AliComparisonDraw.cxx:510 AliComparisonDraw.cxx:511 AliComparisonDraw.cxx:512 AliComparisonDraw.cxx:513 AliComparisonDraw.cxx:514 AliComparisonDraw.cxx:515 AliComparisonDraw.cxx:516 AliComparisonDraw.cxx:517 AliComparisonDraw.cxx:518 AliComparisonDraw.cxx:519 AliComparisonDraw.cxx:520 AliComparisonDraw.cxx:521 AliComparisonDraw.cxx:522 AliComparisonDraw.cxx:523 AliComparisonDraw.cxx:524 AliComparisonDraw.cxx:525 AliComparisonDraw.cxx:526 AliComparisonDraw.cxx:527 AliComparisonDraw.cxx:528 AliComparisonDraw.cxx:529 AliComparisonDraw.cxx:530 AliComparisonDraw.cxx:531 AliComparisonDraw.cxx:532 AliComparisonDraw.cxx:533 AliComparisonDraw.cxx:534 AliComparisonDraw.cxx:535 AliComparisonDraw.cxx:536 AliComparisonDraw.cxx:537 AliComparisonDraw.cxx:538 AliComparisonDraw.cxx:539 AliComparisonDraw.cxx:540 AliComparisonDraw.cxx:541 AliComparisonDraw.cxx:542 AliComparisonDraw.cxx:543 AliComparisonDraw.cxx:544 AliComparisonDraw.cxx:545 AliComparisonDraw.cxx:546 AliComparisonDraw.cxx:547 AliComparisonDraw.cxx:548 AliComparisonDraw.cxx:549 AliComparisonDraw.cxx:550 AliComparisonDraw.cxx:551 AliComparisonDraw.cxx:552 AliComparisonDraw.cxx:553 AliComparisonDraw.cxx:554 AliComparisonDraw.cxx:555 AliComparisonDraw.cxx:556 AliComparisonDraw.cxx:557 AliComparisonDraw.cxx:558 AliComparisonDraw.cxx:559 AliComparisonDraw.cxx:560 AliComparisonDraw.cxx:561 AliComparisonDraw.cxx:562 AliComparisonDraw.cxx:563 AliComparisonDraw.cxx:564 AliComparisonDraw.cxx:565 AliComparisonDraw.cxx:566 AliComparisonDraw.cxx:567 AliComparisonDraw.cxx:568 AliComparisonDraw.cxx:569 AliComparisonDraw.cxx:570 AliComparisonDraw.cxx:571 AliComparisonDraw.cxx:572 AliComparisonDraw.cxx:573 AliComparisonDraw.cxx:574 AliComparisonDraw.cxx:575 AliComparisonDraw.cxx:576 AliComparisonDraw.cxx:577 AliComparisonDraw.cxx:578 AliComparisonDraw.cxx:579 AliComparisonDraw.cxx:580 AliComparisonDraw.cxx:581 AliComparisonDraw.cxx:582 AliComparisonDraw.cxx:583 AliComparisonDraw.cxx:584 AliComparisonDraw.cxx:585 AliComparisonDraw.cxx:586 AliComparisonDraw.cxx:587 AliComparisonDraw.cxx:588 AliComparisonDraw.cxx:589 AliComparisonDraw.cxx:590 AliComparisonDraw.cxx:591 AliComparisonDraw.cxx:592 AliComparisonDraw.cxx:593 AliComparisonDraw.cxx:594 AliComparisonDraw.cxx:595 AliComparisonDraw.cxx:596 AliComparisonDraw.cxx:597 AliComparisonDraw.cxx:598 AliComparisonDraw.cxx:599 AliComparisonDraw.cxx:600 AliComparisonDraw.cxx:601 AliComparisonDraw.cxx:602 AliComparisonDraw.cxx:603 AliComparisonDraw.cxx:604 AliComparisonDraw.cxx:605 AliComparisonDraw.cxx:606 AliComparisonDraw.cxx:607 AliComparisonDraw.cxx:608 AliComparisonDraw.cxx:609 AliComparisonDraw.cxx:610 AliComparisonDraw.cxx:611 AliComparisonDraw.cxx:612 AliComparisonDraw.cxx:613 AliComparisonDraw.cxx:614 AliComparisonDraw.cxx:615 AliComparisonDraw.cxx:616 AliComparisonDraw.cxx:617 AliComparisonDraw.cxx:618 AliComparisonDraw.cxx:619 AliComparisonDraw.cxx:620 AliComparisonDraw.cxx:621 AliComparisonDraw.cxx:622 AliComparisonDraw.cxx:623 AliComparisonDraw.cxx:624 AliComparisonDraw.cxx:625 AliComparisonDraw.cxx:626 AliComparisonDraw.cxx:627 AliComparisonDraw.cxx:628 AliComparisonDraw.cxx:629 AliComparisonDraw.cxx:630 AliComparisonDraw.cxx:631 AliComparisonDraw.cxx:632 AliComparisonDraw.cxx:633 AliComparisonDraw.cxx:634 AliComparisonDraw.cxx:635 AliComparisonDraw.cxx:636 AliComparisonDraw.cxx:637 AliComparisonDraw.cxx:638 AliComparisonDraw.cxx:639 AliComparisonDraw.cxx:640 AliComparisonDraw.cxx:641 AliComparisonDraw.cxx:642 AliComparisonDraw.cxx:643 AliComparisonDraw.cxx:644 AliComparisonDraw.cxx:645 AliComparisonDraw.cxx:646 AliComparisonDraw.cxx:647 AliComparisonDraw.cxx:648 AliComparisonDraw.cxx:649 AliComparisonDraw.cxx:650 AliComparisonDraw.cxx:651 AliComparisonDraw.cxx:652 AliComparisonDraw.cxx:653 AliComparisonDraw.cxx:654 AliComparisonDraw.cxx:655 AliComparisonDraw.cxx:656 AliComparisonDraw.cxx:657 AliComparisonDraw.cxx:658 AliComparisonDraw.cxx:659 AliComparisonDraw.cxx:660 AliComparisonDraw.cxx:661 AliComparisonDraw.cxx:662 AliComparisonDraw.cxx:663 AliComparisonDraw.cxx:664 AliComparisonDraw.cxx:665 AliComparisonDraw.cxx:666 AliComparisonDraw.cxx:667 AliComparisonDraw.cxx:668 AliComparisonDraw.cxx:669 AliComparisonDraw.cxx:670 AliComparisonDraw.cxx:671 AliComparisonDraw.cxx:672 AliComparisonDraw.cxx:673 AliComparisonDraw.cxx:674 AliComparisonDraw.cxx:675 AliComparisonDraw.cxx:676 AliComparisonDraw.cxx:677