ROOT logo
void drawProtonResults(const char* analysisOutput = 0x0,
		       Bool_t kShowResults = kTRUE,
		       Bool_t kShowQAPlots = kFALSE,
		       Bool_t kMC = kFALSE) {
  //Macro to visualize the proton ratio results
  //It also visualizes the QA plots
  gStyle->SetPalette(1,0);
  if(!analysisOutput)
    Error("drawProtonResults::The analysis output was not defined!!!");
  if(kShowResults) drawResults(analysisOutput);
  if(kShowQAPlots) drawQAPlots(analysisOutput, kMC);
}

//___________________________________________________//
void drawResults(const char* analysisOutput) {
  //Draws the main results from the ratio analysis
  gSystem->Load("libANALYSIS.so");
  gSystem->Load("libANALYSISalice.so");
  gSystem->Load("libCORRFW.so");
  gSystem->Load("libPWG2spectra.so");

  //Create the AliProtonAnalysis object
  AliProtonAnalysis *analysis = new AliProtonAnalysis();
  analysis->ReadFromFile(analysisOutput);
  TH1F *gHistEventStats = dynamic_cast<TH1F *>(analysis->GetEventStatistics());

  TH2D *gHistYPtProtons = dynamic_cast<TH2D *>(analysis->GetProtonYPtHistogram());
  TH2D *gHistYPtAntiProtons = dynamic_cast<TH2D *>(analysis->GetAntiProtonYPtHistogram());

  TH1D *gHistYProtons = dynamic_cast<TH1D *>(analysis->GetProtonYHistogram());
  TH1D *gHistYAntiProtons = dynamic_cast<TH1D *>(analysis->GetAntiProtonYHistogram());
  TH1D *gHistPtProtons = dynamic_cast<TH1D *>(analysis->GetProtonPtHistogram());
  TH1D *gHistPtAntiProtons = dynamic_cast<TH1D *>(analysis->GetAntiProtonPtHistogram());

  TH1D *gHistYRatio = dynamic_cast<TH1D *>(analysis->GetYRatioHistogram());
  TH1D *gHistPtRatio = dynamic_cast<TH1D *>(analysis->GetPtRatioHistogram());

  TList *gYRatioInPtBinsList = dynamic_cast<TList *>(analysis->GetYRatioHistogramsInPtBins());
  drawRatioInPtBins(gYRatioInPtBinsList);

  //==================================================================//
  TH2F *hEmptyRatio = new TH2F("hEmptyRatio",";;#bar{p}/p",100,-1.1,1.1,100,0.1,1.1);
  hEmptyRatio->SetStats(kFALSE);
  hEmptyRatio->GetXaxis()->SetNdivisions(10);
  hEmptyRatio->GetYaxis()->SetNdivisions(10);

  TLatex *latex = new TLatex();
  latex->SetTextSize(0.04);
  latex->SetTextColor(2);

  TF1 *fFitFunction = new TF1("fFitFunction","[0]",-0.5,0.5);
  fFitFunction->SetParameter(0,0.7);

  TCanvas *c2D = new TCanvas("c2D","eta-pT (anti)protons",0,0,900,400);
  c2D->SetFillColor(10); c2D->SetHighLightColor(10); c2D->Divide(3,1);
  c2D->cd(1); gHistYPtProtons->Draw("col");
  c2D->cd(2); gHistYPtAntiProtons->DrawCopy("col");
  c2D->cd(3); gHistYPtAntiProtons->Divide(gHistYPtProtons);
  gHistYPtAntiProtons->SetStats(kFALSE); gHistYPtAntiProtons->DrawCopy("colz");
  TFile *fout = TFile::Open("test.root","recreate");
  gHistYPtAntiProtons->SetName("gHistYPtAntiProtons");
  gHistYPtAntiProtons->Write();
  fout->Close();
  TCanvas *cEventStats = new TCanvas("cEventStats","Event statistics",
				     0,0,500,500);
  cEventStats->SetFillColor(10); cEventStats->SetHighLightColor(10);
  cEventStats->SetLeftMargin(0.15);
  gHistEventStats->GetYaxis()->SetTitleOffset(1.4);
  gHistEventStats->SetStats(kFALSE); gHistEventStats->Draw();

  TCanvas *cEta = new TCanvas("cEta","Eta",100,0,600,400);
  cEta->SetFillColor(10); cEta->SetHighLightColor(10); cEta->Divide(2,1);
  cEta->cd(1); gHistYProtons->Draw("E"); PrintYields(gHistYProtons);
  cEta->cd(2); gHistYAntiProtons->Draw("E"); PrintYields(gHistYAntiProtons);

  TCanvas *cPt = new TCanvas("cPt","Pt",100,200,600,400);

  cPt->SetFillColor(10); cPt->SetHighLightColor(10); cPt->Divide(2,1);
  cPt->cd(1)->SetLogy(); gHistPtProtons->Draw("E");
  cPt->cd(2)->SetLogy(); gHistPtAntiProtons->Draw("E");

  TCanvas *cRatio = new TCanvas("cRatio","Ratio",300,0,600,400);
  cRatio->SetFillColor(10); cRatio->SetHighLightColor(10); cRatio->Divide(2,1);
  cRatio->cd(1); hEmptyRatio->GetXaxis()->SetTitle("#eta"); 
  hEmptyRatio->GetXaxis()->SetRangeUser(-1.0,1.0); 
  hEmptyRatio->DrawCopy(); gHistYRatio->Draw("ESAME");
  gHistYRatio->Fit("fFitFunction","N");
  latex->DrawLatex(-0.1,0.45,"ALICE PRELIMINARY");
  latex->DrawLatex(-0.1,0.4,"p-p: #sqrt{s} = 900 GeV");
  cRatio->cd(2);  hEmptyRatio->GetXaxis()->SetTitle("P_{T} [GeV/c]"); 
  hEmptyRatio->GetXaxis()->SetRangeUser(0.3,1.1); 
  hEmptyRatio->DrawCopy(); gHistPtRatio->Draw("ESAME");
  latex->DrawLatex(0.6,0.45,"ALICE PRELIMINARY");
  latex->DrawLatex(0.6,0.4,"p-p: #sqrt{s} = 900 GeV");

  TFile *fout = TFile::Open("RawRatioPlots.root","recreate");
  gHistYRatio->Write();
  gHistPtRatio->Write();
  fout->Close();

  Printf("==========================================");
  for(Int_t iBin = 1; iBin <= gHistYRatio->GetNbinsX(); iBin++)
    Printf("Eta: %lf - Ratio: %lf - Error: %lf",
	   gHistYRatio->GetBinCenter(iBin),
	   gHistYRatio->GetBinContent(iBin),
	   gHistYRatio->GetBinError(iBin));
  Printf("==========================================");

  Printf("Fit result: %lf - %lf",fFitFunction->GetParameter(0),fFitFunction->GetParError(0));
  analysis->PrintMean(gHistYRatio,0.5);
  Printf("==========================================");
}

//___________________________________________________//
void drawRatioInPtBins(TList *gYRatioInPtBinsList) {
  Printf("drawRatioInPtBins:: %d entries",gYRatioInPtBinsList->GetEntries());
  static const Int_t nEntries = gYRatioInPtBinsList->GetEntries();
  TCanvas *cRatioInPtBins[100];
  TH1D *gHistRatioInPtBins[100];
  TString title;
  for(Int_t iEntry = 0; iEntry < gYRatioInPtBinsList->GetEntries(); iEntry++) {
    title = "ratioPtBin"; title += iEntry+1;
    cRatioInPtBins[iEntry] = new TCanvas(title.Data(),
					 title.Data(),
					 0,0,400,400);
    cRatioInPtBins[iEntry]->SetFillColor(10);
    cRatioInPtBins[iEntry]->SetHighLightColor(10);
    gHistRatioInPtBins[iEntry] = dynamic_cast<TH1D *>(gYRatioInPtBinsList->At(iEntry));
    gHistRatioInPtBins[iEntry]->SetStats(kFALSE);
    gHistRatioInPtBins[iEntry]->SetMarkerStyle(20);
    gHistRatioInPtBins[iEntry]->SetMarkerColor(4);
    gHistRatioInPtBins[iEntry]->GetYaxis()->SetRangeUser(0.0,1.4);
    gHistRatioInPtBins[iEntry]->DrawCopy("E");
  }
}

//___________________________________________________//
void drawQAPlots(const char* analysisOutput,
		 Bool_t kMC) {
  //Draws the QA plots from the output of the analysis
  //=========================================================//
  //QA plots
  TFile *f = TFile::Open(analysisOutput);
  //List of cuts
  TCanvas *cListOfCuts = dynamic_cast<TCanvas *>(f->Get("cListOfCuts"));
  if(cListOfCuts)
    cListOfCuts->Draw();

  TList *listQA = dynamic_cast<TList *>(f->Get("outputQAList"));
  TList *gListGlobalQA = dynamic_cast<TList *>(listQA->At(0));

  //================QA plots================//
  TList *fQA2DList = dynamic_cast<TList *>(gListGlobalQA->At(0));
  //2D de/dx vs P
  TH2F *gHistdEdxP = dynamic_cast<TH2F *>(fQA2DList->At(0));
  gHistdEdxP->SetStats(kFALSE);
  drawdEdx(gHistdEdxP,0);
  TH2F *gHistProtonsdEdxP = dynamic_cast<TH2F *>(fQA2DList->At(1));
  gHistProtonsdEdxP->SetStats(kFALSE);

  //Theoretical Bethe-Bloch
  Double_t fAlephParameters[5];
  if(kMC) {
    fAlephParameters[0] = 2.15898e+00/50.;
    fAlephParameters[1] = 1.75295e+01;
    fAlephParameters[2] = 3.40030e-09;
    fAlephParameters[3] = 1.96178e+00;
    fAlephParameters[4] = 3.91720e+00;
  }
  else {
    fAlephParameters[0] = 0.0283086;
    fAlephParameters[1] = 2.63394e+01;
    fAlephParameters[2] = 5.04114e-11;
    fAlephParameters[3] = 2.12543e+00;
    fAlephParameters[4] = 4.88663e+00;
  }

  AliTPCPIDResponse *tpcResponse = new AliTPCPIDResponse();
  tpcResponse->SetBetheBlochParameters(fAlephParameters[0],
				       fAlephParameters[1],
				       fAlephParameters[2],
				       fAlephParameters[3],
				       fAlephParameters[4]);
  const Int_t nEntries = 10000;
  Double_t mom[nEntries];
  Double_t dEdxElectrons[nEntries];
  Double_t dEdxMuons[nEntries];
  Double_t dEdxPions[nEntries];
  Double_t dEdxKaons[nEntries];
  Double_t dEdxProtons[nEntries];
  for(Int_t i = 0; i < nEntries; i++) {
    mom[i] = 0.01 + 0.01*i;
    dEdxElectrons[i] = tpcResponse->GetExpectedSignal(mom[i],0);
    dEdxMuons[i] = tpcResponse->GetExpectedSignal(mom[i],1);
    dEdxPions[i] = tpcResponse->GetExpectedSignal(mom[i],2);
    dEdxKaons[i] = tpcResponse->GetExpectedSignal(mom[i],3);
    dEdxProtons[i] = tpcResponse->GetExpectedSignal(mom[i],4);
  }

  TGraph *grElectrons = new TGraph(nEntries,mom,dEdxElectrons);
  grElectrons->SetName("grElectrons");
  grElectrons->SetLineColor(6); grElectrons->SetLineWidth(2);
  TGraph *grMuons = new TGraph(nEntries,mom,dEdxMuons);
  grMuons->SetLineColor(3); grMuons->SetLineWidth(2);
  grMuons->SetName("grMuons");
  TGraph *grPions = new TGraph(nEntries,mom,dEdxPions);
  grPions->SetLineColor(1); grPions->SetLineWidth(2);
  grPions->SetName("grPions");
  TGraph *grKaons = new TGraph(nEntries,mom,dEdxKaons);
  grKaons->SetLineColor(2); grKaons->SetLineWidth(2);
  grKaons->SetName("grKaons");
  TGraph *grProtons = new TGraph(nEntries,mom,dEdxProtons);
  grProtons->SetLineColor(4); grProtons->SetLineWidth(2);
  grProtons->SetName("grProtons");

  //2D de/dx vs P
  TH2F *gHistZP = dynamic_cast<TH2F *>(fQA2DList->At(2));
  gHistZP->SetStats(kFALSE);
  drawdEdx(gHistZP,1);
  TH2F *gHistProtonsZP = dynamic_cast<TH2F *>(fQA2DList->At(3));
  gHistProtonsZP->SetStats(kFALSE);

  //3D eta-phi-NPoints(dEdx)
  TH3F *gHistEtaPhiTPCdEdxNPoints = dynamic_cast<TH3F *>(fQA2DList->At(4));
  TH2D *gHistEtaPhi = dynamic_cast<TH2D *>gHistEtaPhiTPCdEdxNPoints->Project3D("yx");
  gHistEtaPhi->SetStats(kFALSE);
  TH2D *gHistEtaTPCdEdxNPoints = dynamic_cast<TH2D *>gHistEtaPhiTPCdEdxNPoints->Project3D("zx");
  gHistEtaTPCdEdxNPoints->SetStats(kFALSE);
  TH2D *gHistPhiTPCdEdxNPoints = dynamic_cast<TH2D *>gHistEtaPhiTPCdEdxNPoints->Project3D("zy");
  gHistPhiTPCdEdxNPoints->SetStats(kFALSE);

  //3D eta-phi-NPoints(dEdx): protons
  TH3F *gHistProtonsEtaPhiTPCdEdxNPoints = dynamic_cast<TH3F *>(fQA2DList->At(5));
  TH2D *gHistProtonsEtaPhi = dynamic_cast<TH2D *>gHistProtonsEtaPhiTPCdEdxNPoints->Project3D("yx");
  gHistProtonsEtaPhi->SetStats(kFALSE);
  TH2D *gHistProtonsEtaTPCdEdxNPoints = dynamic_cast<TH2D *>gHistProtonsEtaPhiTPCdEdxNPoints->Project3D("zx");
  gHistProtonsEtaTPCdEdxNPoints->SetStats(kFALSE);
  TH2D *gHistProtonsPhiTPCdEdxNPoints = dynamic_cast<TH2D *>gHistProtonsEtaPhiTPCdEdxNPoints->Project3D("zy");
  gHistProtonsPhiTPCdEdxNPoints->SetStats(kFALSE);

  //3D eta-phi-NPoints
  TH3F *gHistEtaPhiTPCNPoints = dynamic_cast<TH3F *>(fQA2DList->At(6));
  TH2D *gHistEtaPhi = dynamic_cast<TH2D *>gHistEtaPhiTPCNPoints->Project3D("yx");
  gHistEtaPhi->SetStats(kFALSE);
  TH2D *gHistEtaTPCNPoints = dynamic_cast<TH2D *>gHistEtaPhiTPCNPoints->Project3D("zx");
  gHistEtaTPCNPoints->SetStats(kFALSE);
  TH2D *gHistPhiTPCNPoints = dynamic_cast<TH2D *>gHistEtaPhiTPCNPoints->Project3D("zy");
  gHistPhiTPCNPoints->SetStats(kFALSE);

  //3D eta-phi-NPoints: protons
  TH3F *gHistProtonsEtaPhiTPCNPoints = dynamic_cast<TH3F *>(fQA2DList->At(7));
  TH2D *gHistProtonsEtaPhi = dynamic_cast<TH2D *>gHistProtonsEtaPhiTPCNPoints->Project3D("yx");
  gHistProtonsEtaPhi->SetStats(kFALSE);
  TH2D *gHistProtonsEtaTPCNPoints = dynamic_cast<TH2D *>gHistProtonsEtaPhiTPCNPoints->Project3D("zx");
  gHistProtonsEtaTPCNPoints->SetStats(kFALSE);
  TH2D *gHistProtonsPhiTPCNPoints = dynamic_cast<TH2D *>gHistProtonsEtaPhiTPCNPoints->Project3D("zy");
  gHistProtonsPhiTPCNPoints->SetStats(kFALSE);

  //3D pt-phi-NPoints(dEdx)
  TH3F *gHistPtPhiTPCdEdxNPoints = dynamic_cast<TH3F *>(fQA2DList->At(8));
  TH2D *gHistPtPhi = dynamic_cast<TH2D *>gHistPtPhiTPCdEdxNPoints->Project3D("yx");
  gHistPtPhi->SetStats(kFALSE);
  TH2D *gHistPtTPCdEdxNPoints = dynamic_cast<TH2D *>gHistPtPhiTPCdEdxNPoints->Project3D("zx");
  gHistPtTPCdEdxNPoints->SetStats(kFALSE);
  TH2D *gHistPhiTPCdEdxNPoints = dynamic_cast<TH2D *>gHistPtPhiTPCdEdxNPoints->Project3D("zy");
  gHistPhiTPCdEdxNPoints->SetStats(kFALSE);

  //3D pt-phi-NPoints(dEdx): protons
  TH3F *gHistProtonsPtPhiTPCdEdxNPoints = dynamic_cast<TH3F *>(fQA2DList->At(9));
  TH2D *gHistProtonsPtPhi = dynamic_cast<TH2D *>gHistProtonsPtPhiTPCdEdxNPoints->Project3D("yx");
  gHistProtonsPtPhi->SetStats(kFALSE);
  TH2D *gHistProtonsPtTPCdEdxNPoints = dynamic_cast<TH2D *>gHistProtonsPtPhiTPCdEdxNPoints->Project3D("zx");
  gHistProtonsPtTPCdEdxNPoints->SetStats(kFALSE);
  TH2D *gHistProtonsPhiTPCdEdxNPoints = dynamic_cast<TH2D *>gHistProtonsPtPhiTPCdEdxNPoints->Project3D("zy");
  gHistProtonsPhiTPCdEdxNPoints->SetStats(kFALSE);

  //3D pt-phi-NPoints
  TH3F *gHistPtPhiTPCNPoints = dynamic_cast<TH3F *>(fQA2DList->At(10));
  TH2D *gHistPtPhi = dynamic_cast<TH2D *>gHistPtPhiTPCNPoints->Project3D("yx");
  gHistPtPhi->SetStats(kFALSE);
  TH2D *gHistPtTPCNPoints = dynamic_cast<TH2D *>gHistPtPhiTPCNPoints->Project3D("zx");
  gHistPtTPCNPoints->SetStats(kFALSE);
  TH2D *gHistPhiTPCNPoints = dynamic_cast<TH2D *>gHistPtPhiTPCNPoints->Project3D("zy");
  gHistPhiTPCNPoints->SetStats(kFALSE);

  //3D pt-phi-NPoints: protons
  TH3F *gHistProtonsPtPhiTPCNPoints = dynamic_cast<TH3F *>(fQA2DList->At(11));
  TH2D *gHistProtonsPtPhi = dynamic_cast<TH2D *>gHistProtonsPtPhiTPCNPoints->Project3D("yx");
  gHistProtonsPtPhi->SetStats(kFALSE);
  TH2D *gHistProtonsPtTPCNPoints = dynamic_cast<TH2D *>gHistProtonsPtPhiTPCNPoints->Project3D("zx");
  gHistProtonsPtTPCNPoints->SetStats(kFALSE);
  TH2D *gHistProtonsPhiTPCNPoints = dynamic_cast<TH2D *>gHistProtonsPtPhiTPCNPoints->Project3D("zy");
  gHistProtonsPhiTPCNPoints->SetStats(kFALSE);

  //2D eta-phi- accepted protons & antiprotons
  TH2F *gHistEtaPhiProtons = dynamic_cast<TH2F *>(fQA2DList->At(12));
  gHistEtaPhiProtons->SetStats(kFALSE);
  TH2F *gHistEtaPhiAntiProtons = dynamic_cast<TH2F *>(fQA2DList->At(13));
  gHistEtaPhiAntiProtons->SetStats(kFALSE);

  //2D dca vs pT - accepted protons & antiprotons
  TH3F *gHistDCAxyEtaPtProtons = dynamic_cast<TH3F *>(fQA2DList->At(14));
  gHistDCAxyEtaPtProtons->SetStats(kFALSE);
  TH2D *gHistDCAxyPtProtons = gHistDCAxyEtaPtProtons->Project3D("zy");
  gHistDCAxyPtProtons->SetStats(kFALSE);
  TH3F *gHistDCAzEtaPtProtons = dynamic_cast<TH3F *>(fQA2DList->At(15));
  gHistDCAzEtaPtProtons->SetStats(kFALSE);
  TH2D *gHistDCAzPtProtons = gHistDCAzEtaPtProtons->Project3D("zy");
  gHistDCAzPtProtons->SetStats(kFALSE);
  TH3F *gHistDCAxyEtaPtAntiProtons = dynamic_cast<TH3F *>(fQA2DList->At(16));
  gHistDCAxyEtaPtAntiProtons->SetStats(kFALSE);
  TH2D *gHistDCAxyPtAntiProtons = gHistDCAxyEtaPtAntiProtons->Project3D("zy");
  gHistDCAxyPtAntiProtons->SetStats(kFALSE);
  TH3F *gHistDCAzEtaPtAntiProtons = dynamic_cast<TH3F *>(fQA2DList->At(17));
  gHistDCAzEtaPtAntiProtons->SetStats(kFALSE);
  TH2D *gHistDCAzPtAntiProtons = gHistDCAzEtaPtAntiProtons->Project3D("zy");
  gHistDCAzPtAntiProtons->SetStats(kFALSE);

  //__________________________________________________//
  TH2F *hEmptydEdx = new TH2F("hEmptydEdx",
			      ";p [GeV/c];dE/dx [arb. units]",
			      100,0.08,20.,100,30,1000);
  hEmptydEdx->SetStats(kFALSE);

  TLatex *latex = new TLatex();
  latex->SetTextSize(0.035);

  TCanvas *cdEdx = new TCanvas("cdEdx","dE/dx (TPC)",0,0,700,400);
  cdEdx->SetFillColor(10); cdEdx->SetHighLightColor(10); //cdEdx->Divide(2,1);
  cdEdx->cd(1)->SetLogx(); cdEdx->cd(1)->SetLogy(); hEmptydEdx->DrawCopy();
  gHistdEdxP->Draw("colsame");
  latex->DrawLatex(7.,400,"ALICE");
  latex->DrawLatex(6.,400,"p+p @ #sqrt{s} = 900 GeV");
  grElectrons->Draw("LSAME"); latex->SetTextColor(6); latex->DrawLatex(0.09,55,"e");
  grMuons->Draw("LSAME"); latex->SetTextColor(3); latex->DrawLatex(0.09,400,"#mu");
  grPions->Draw("LSAME"); latex->SetTextColor(1); latex->DrawLatex(0.1,200,"#pi");
  grKaons->Draw("LSAME"); latex->SetTextColor(2); latex->DrawLatex(0.17,400,"K");
  grProtons->Draw("LSAME"); latex->SetTextColor(4); latex->DrawLatex(0.35,400,"p");
  
  //cdEdx->cd(2)->SetLogx(); gHistProtonsdEdxP->Draw("col");

  TCanvas *cZdEdx = new TCanvas("cZdEdx","Normalized dE/dx (TPC)",500,0,700,400);
  cZdEdx->SetFillColor(10); cZdEdx->SetHighLightColor(10); cZdEdx->Divide(2,1);
  cZdEdx->cd(1); gHistZP->Draw("col");
  cZdEdx->cd(2); gHistProtonsZP->Draw("col");

  TCanvas *cEtaPhi = new TCanvas("cEtaPhi",
				 "eta-phi",
				 0,0,700,400);
  cEtaPhi->SetFillColor(10); 
  cEtaPhi->SetHighLightColor(10); cEtaPhi->Divide(2,1);
  cEtaPhi->cd(1); 
  gHistEtaPhiProtons->SetTitle("Accepted protons - eta vs phi");
  gHistEtaPhiProtons->Draw("colz");
  cEtaPhi->cd(2); 
  gHistEtaPhiAntiProtons->SetTitle("Accepted antiprotons - eta vs phi");
  gHistEtaPhiAntiProtons->Draw("colz");

  TCanvas *cDCAPt = new TCanvas("cDCAPt","pT-dca",0,0,700,700);
  cDCAPt->SetFillColor(10); 
  cDCAPt->SetHighLightColor(10); cDCAPt->Divide(2,2);
  cDCAPt->cd(1); 
  gHistDCAxyPtProtons->SetTitle("Accepted protons - dca(xy) vs Pt");
  gHistDCAxyPtProtons->Draw("colz");
  cDCAPt->cd(2); 
  gHistDCAzPtProtons->SetTitle("Accepted protons - dca(z) vs Pt");
  gHistDCAzPtProtons->Draw("colz");
  cDCAPt->cd(3); 
  gHistDCAxyPtAntiProtons->SetTitle("Accepted antiprotons - dca(xy) vs Pt");
  gHistDCAxyPtAntiProtons->Draw("colz");
  cDCAPt->cd(4); 
  gHistDCAzPtAntiProtons->SetTitle("Accepted antiprotons - dca(z) vs Pt");
  gHistDCAzPtAntiProtons->Draw("colz");

  /*TCanvas *cEtaPhiNPointsdEdx = new TCanvas("cEtaPhiNPointsdEdx",
					    "eta-phi-NPoints(dE/dx)",
					    0,0,900,600);
  cEtaPhiNPointsdEdx->SetFillColor(10); 
  cEtaPhiNPointsdEdx->SetHighLightColor(10); cEtaPhiNPointsdEdx->Divide(3,2);
  cEtaPhiNPointsdEdx->cd(1); gHistEtaPhi->Draw("col");
  cEtaPhiNPointsdEdx->cd(2); gHistEtaTPCdEdxNPoints->Draw("col");
  cEtaPhiNPointsdEdx->cd(3); gHistPhiTPCdEdxNPoints->Draw("col");
  cEtaPhiNPointsdEdx->cd(4); gHistProtonsEtaPhi->Draw("col");
  cEtaPhiNPointsdEdx->cd(5); gHistProtonsEtaTPCdEdxNPoints->Draw("col");
  cEtaPhiNPointsdEdx->cd(6); gHistProtonsPhiTPCdEdxNPoints->Draw("col");

  TCanvas *cEtaPhiNPoints = new TCanvas("cEtaPhiNPoints",
					"eta-phi-NPoints",
					0,0,900,600);
  cEtaPhiNPoints->SetFillColor(10); 
  cEtaPhiNPoints->SetHighLightColor(10); cEtaPhiNPoints->Divide(3,2);
  cEtaPhiNPoints->cd(1); gHistEtaPhi->Draw("col");
  cEtaPhiNPoints->cd(2); gHistEtaTPCNPoints->Draw("col");
  cEtaPhiNPoints->cd(3); gHistPhiTPCNPoints->Draw("col");
  cEtaPhiNPoints->cd(4); gHistProtonsEtaPhi->Draw("col");
  cEtaPhiNPoints->cd(5); gHistProtonsEtaTPCNPoints->Draw("col");
  cEtaPhiNPoints->cd(6); gHistProtonsPhiTPCNPoints->Draw("col");

  TCanvas *cPtPhiNPointsdEdx = new TCanvas("cPtPhiNPointsdEdx",
					   "pt-phi-NPoints(dE/dx)",
					   0,0,900,600);
  cPtPhiNPointsdEdx->SetFillColor(10); 
  cPtPhiNPointsdEdx->SetHighLightColor(10); cPtPhiNPointsdEdx->Divide(3,2);
  cPtPhiNPointsdEdx->cd(1); gHistPtPhi->Draw("col");
  cPtPhiNPointsdEdx->cd(2); gHistPtTPCdEdxNPoints->Draw("col");
  cPtPhiNPointsdEdx->cd(3); gHistPhiTPCdEdxNPoints->Draw("col");
  cPtPhiNPointsdEdx->cd(4); gHistProtonsPtPhi->Draw("col");
  cPtPhiNPointsdEdx->cd(5); gHistProtonsPtTPCdEdxNPoints->Draw("col");
  cPtPhiNPointsdEdx->cd(6); gHistProtonsPhiTPCdEdxNPoints->Draw("col");

  TCanvas *cPtPhiNPoints = new TCanvas("cPtPhiNPoints",
				       "pt-phi-NPoints",
				       0,0,900,600);
  cPtPhiNPoints->SetFillColor(10); 
  cPtPhiNPoints->SetHighLightColor(10); cPtPhiNPoints->Divide(3,2);
  cPtPhiNPoints->cd(1); gHistPtPhi->Draw("col");
  cPtPhiNPoints->cd(2); gHistPtTPCNPoints->Draw("col");
  cPtPhiNPoints->cd(3); gHistPhiTPCNPoints->Draw("col");
  cPtPhiNPoints->cd(4); gHistProtonsPtPhi->Draw("col");
  cPtPhiNPoints->cd(5); gHistProtonsPtTPCNPoints->Draw("col");
  cPtPhiNPoints->cd(6); gHistProtonsPhiTPCNPoints->Draw("col");*/

  //Accepted protons
  TList *fQAProtonsAcceptedList = dynamic_cast<TList *>(gListGlobalQA->At(1));
  TH1F *gProtonsITSClustersPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(0));
  TH1F *gProtonsChi2PerClusterITSPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(1));
  TH1F *gProtonsTPCClustersPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(2));
  TH1F *gProtonsChi2PerClusterTPCPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(3));
  TH1F *gProtonsExtCov11Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(4));
  TH1F *gProtonsExtCov22Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(5));
  TH1F *gProtonsExtCov33Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(6));
  TH1F *gProtonsExtCov44Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(7));
  TH1F *gProtonsExtCov55Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(8));
  TH1F *gProtonsSigmaToVertexPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(9));
  TH1F *gProtonsSigmaToVertexTPCPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(10));
  TH1F *gProtonsDCAXYPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(11));
  TH1F *gProtonsDCAXYTPCPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(12));
  TH1F *gProtonsDCAZPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(13));
  TH1F *gProtonsDCAZTPCPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(14));
  TH1F *gProtonsConstrainChi2Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(15));
  TH1F *gProtonsITSRefitPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(16));
  TH1F *gProtonsTPCRefitPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(17));
  TH1F *gProtonsESDpidPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(18));
  TH1F *gProtonsTPCpidPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(19));
  TH1F *gProtonsPointOnITSLayer1Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(20));
  TH1F *gProtonsPointOnITSLayer2Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(21));
  TH1F *gProtonsPointOnITSLayer3Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(22));
  TH1F *gProtonsPointOnITSLayer4Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(23));
  TH1F *gProtonsPointOnITSLayer5Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(24));
  TH1F *gProtonsPointOnITSLayer6Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(25));
  TH1F *gProtonsNumberOfTPCdEdxPointsPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(26));
  TH1F *gProtonsITSClusterMapPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(27));
  TH1F *gProtonsDCA3DPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(28));

  //Rejected protons
  TList *fQAProtonsRejectedList = dynamic_cast<TList *>(gListGlobalQA->At(2));
  TH1F *gProtonsITSClustersReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(0));
  TH1F *gProtonsChi2PerClusterITSReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(1));
  TH1F *gProtonsTPCClustersReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(2));
  TH1F *gProtonsChi2PerClusterTPCReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(3));
  TH1F *gProtonsExtCov11Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(4));
  TH1F *gProtonsExtCov22Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(5));
  TH1F *gProtonsExtCov33Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(6));
  TH1F *gProtonsExtCov44Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(7));
  TH1F *gProtonsExtCov55Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(8));
  TH1F *gProtonsSigmaToVertexReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(9));
  TH1F *gProtonsSigmaToVertexTPCReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(10));
  TH1F *gProtonsDCAXYReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(11));
  TH1F *gProtonsDCAXYTPCReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(12));
  TH1F *gProtonsDCAZReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(13));
  TH1F *gProtonsDCAZTPCReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(14));
  TH1F *gProtonsConstrainChi2Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(15));
  TH1F *gProtonsITSRefitReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(16));
  TH1F *gProtonsTPCRefitReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(17));
  TH1F *gProtonsESDpidReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(18));
  TH1F *gProtonsTPCpidReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(19));
  TH1F *gProtonsPointOnITSLayer1Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(20));
  TH1F *gProtonsPointOnITSLayer2Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(21));
  TH1F *gProtonsPointOnITSLayer3Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(22));
  TH1F *gProtonsPointOnITSLayer4Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(23));
  TH1F *gProtonsPointOnITSLayer5Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(24));
  TH1F *gProtonsPointOnITSLayer6Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(25));
  TH1F *gProtonsNumberOfTPCdEdxPointsReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(26));
  TH1F *gProtonsITSClusterMapReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(27));
  TH1F *gProtonsDCA3DReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(28));

  //Accepted antiprotons
  TList *fQAAntiProtonsAcceptedList = dynamic_cast<TList *>(gListGlobalQA->At(3));
  TH1F *gAntiProtonsITSClustersPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(0));
  TH1F *gAntiProtonsChi2PerClusterITSPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(1));
  TH1F *gAntiProtonsTPCClustersPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(2));
  TH1F *gAntiProtonsChi2PerClusterTPCPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(3));
  TH1F *gAntiProtonsExtCov11Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(4));
  TH1F *gAntiProtonsExtCov22Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(5));
  TH1F *gAntiProtonsExtCov33Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(6));
  TH1F *gAntiProtonsExtCov44Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(7));
  TH1F *gAntiProtonsExtCov55Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(8));
  TH1F *gAntiProtonsSigmaToVertexPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(9));
  TH1F *gAntiProtonsSigmaToVertexTPCPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(10));
  TH1F *gAntiProtonsDCAXYPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(11));
  TH1F *gAntiProtonsDCAXYTPCPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(12));
  TH1F *gAntiProtonsDCAZPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(13));
  TH1F *gAntiProtonsDCAZTPCPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(14));
  TH1F *gAntiProtonsConstrainChi2Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(15));
  TH1F *gAntiProtonsITSRefitPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(16));
  TH1F *gAntiProtonsTPCRefitPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(17));
  TH1F *gAntiProtonsESDpidPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(18));
  TH1F *gAntiProtonsTPCpidPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(19));
  TH1F *gAntiProtonsPointOnITSLayer1Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(20));
  TH1F *gAntiProtonsPointOnITSLayer2Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(21));
  TH1F *gAntiProtonsPointOnITSLayer3Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(22));
  TH1F *gAntiProtonsPointOnITSLayer4Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(23));
  TH1F *gAntiProtonsPointOnITSLayer5Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(24));
  TH1F *gAntiProtonsPointOnITSLayer6Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(25));
  TH1F *gAntiProtonsNumberOfTPCdEdxPointsPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(26));
  TH1F *gAntiProtonsITSClusterMapPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(27));
  TH1F *gAntiProtonsDCA3DPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(28));

  //Rejected antiprotons
  TList *fQAAntiProtonsRejectedList = dynamic_cast<TList *>(gListGlobalQA->At(4));
  TH1F *gAntiProtonsITSClustersReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(0));
  TH1F *gAntiProtonsChi2PerClusterITSReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(1));
  TH1F *gAntiProtonsTPCClustersReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(2));
  TH1F *gAntiProtonsChi2PerClusterTPCReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(3));
  TH1F *gAntiProtonsExtCov11Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(4));
  TH1F *gAntiProtonsExtCov22Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(5));
  TH1F *gAntiProtonsExtCov33Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(6));
  TH1F *gAntiProtonsExtCov44Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(7));
  TH1F *gAntiProtonsExtCov55Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(8));
  TH1F *gAntiProtonsSigmaToVertexReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(9));
  TH1F *gAntiProtonsSigmaToVertexTPCReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(10));
  TH1F *gAntiProtonsDCAXYReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(11));
  TH1F *gAntiProtonsDCAXYTPCReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(12));
  TH1F *gAntiProtonsDCAZReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(13));
  TH1F *gAntiProtonsDCAZTPCReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(14));
  TH1F *gAntiProtonsConstrainChi2Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(15));
  TH1F *gAntiProtonsITSRefitReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(16));
  TH1F *gAntiProtonsTPCRefitReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(17));
  TH1F *gAntiProtonsESDpidReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(18));
  TH1F *gAntiProtonsTPCpidReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(19));
  TH1F *gAntiProtonsPointOnITSLayer1Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(20));
  TH1F *gAntiProtonsPointOnITSLayer2Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(21));
  TH1F *gAntiProtonsPointOnITSLayer3Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(22));
  TH1F *gAntiProtonsPointOnITSLayer4Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(23));
  TH1F *gAntiProtonsPointOnITSLayer5Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(24));
  TH1F *gAntiProtonsPointOnITSLayer6Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(25));
  TH1F *gAntiProtonsNumberOfTPCdEdxPointsReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(26));
  TH1F *gAntiProtonsITSClusterMapReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(27));
  TH1F *gAntiProtonsDCA3DReject = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(28));

  //__________________________________________________//
  TCanvas *c1 = new TCanvas("c1","ITS clusters",0,0,600,400);
  c1->SetFillColor(10); c1->SetHighLightColor(10);
  c1->Divide(2,1);
  c1->cd(1); gProtonsITSClustersPass->Draw(); 
  gProtonsITSClustersReject->Draw("same");
  c1->cd(2); gAntiProtonsITSClustersPass->Draw(); 
  gAntiProtonsITSClustersReject->Draw("same");

  TCanvas *c2 = new TCanvas("c2","chi^2 per ITS cluster",0,100,600,400);
  c2->SetFillColor(10); c2->SetHighLightColor(10);
  c2->Divide(2,1);
  c2->cd(1); gProtonsChi2PerClusterITSPass->Draw(); 
  gProtonsChi2PerClusterITSReject->Draw("same");
  c2->cd(2); gAntiProtonsChi2PerClusterITSPass->Draw(); 
  gAntiProtonsChi2PerClusterITSReject->Draw("same");

  TCanvas *c3 = new TCanvas("c3","TPC clusters",0,200,600,400);
  c3->SetFillColor(10); c3->SetHighLightColor(10);
  c3->Divide(2,1);
  c3->cd(1); gProtonsTPCClustersPass->Draw();
  gProtonsTPCClustersReject->Draw("same");
  c3->cd(2); gAntiProtonsTPCClustersPass->Draw();
  gAntiProtonsTPCClustersReject->Draw("same");

  TCanvas *c4 = new TCanvas("c4","chi^2 per TPC cluster",0,300,600,400);
  c4->SetFillColor(10); c4->SetHighLightColor(10);
  c4->Divide(2,1);
  c4->cd(1); gProtonsChi2PerClusterTPCPass->Draw(); 
  gProtonsChi2PerClusterTPCReject->Draw("same");
  c4->cd(2); gAntiProtonsChi2PerClusterTPCPass->Draw(); 
  gAntiProtonsChi2PerClusterTPCReject->Draw("same");

  if(gProtonsExtCov11Pass->GetEntries() != 0) {
    TCanvas *c5 = new TCanvas("c5","Cov11",0,400,600,400);
    c5->SetFillColor(10); c5->SetHighLightColor(10);
    c5->Divide(2,1);
    c5->cd(1)->SetLogy(); gProtonsExtCov11Pass->Draw(); 
    gProtonsExtCov11Reject->Draw("same");
    c5->cd(2)->SetLogy(); gAntiProtonsExtCov11Pass->Draw(); 
    gAntiProtonsExtCov11Reject->Draw("same");
  }

  if(gProtonsExtCov11Pass->GetEntries() != 0) {
    TCanvas *c6 = new TCanvas("c6","Cov22",0,500,600,400);
    c6->SetFillColor(10); c6->SetHighLightColor(10);
    c6->Divide(2,1);
    c6->cd(1)->SetLogy(); gProtonsExtCov22Pass->Draw(); 
    gProtonsExtCov22Reject->Draw("same");
    c6->cd(2)->SetLogy(); gAntiProtonsExtCov22Pass->Draw(); 
    gAntiProtonsExtCov22Reject->Draw("same");
  }

  if(gProtonsExtCov11Pass->GetEntries() != 0) {
    TCanvas *c7 = new TCanvas("c7","Cov33",600,0,600,400);
    c7->SetFillColor(10); c7->SetHighLightColor(10);
    c7->Divide(2,1);
    c7->cd(1)->SetLogy(); gProtonsExtCov33Pass->Draw(); 
    gProtonsExtCov33Reject->Draw("same");
    c7->cd(2)->SetLogy(); gAntiProtonsExtCov33Pass->Draw(); 
    gAntiProtonsExtCov33Reject->Draw("same");
  }

  if(gProtonsExtCov11Pass->GetEntries() != 0) {
    TCanvas *c8 = new TCanvas("c8","Cov44",600,100,600,400);
    c8->SetFillColor(10); c8->SetHighLightColor(10);
    c8->Divide(2,1);
    c8->cd(1)->SetLogy(); gProtonsExtCov44Pass->Draw(); 
    gProtonsExtCov44Reject->Draw("same");
    c8->cd(2)->SetLogy(); gAntiProtonsExtCov44Pass->Draw(); 
    gAntiProtonsExtCov44Reject->Draw("same");
  }

  if(gProtonsExtCov11Pass->GetEntries() != 0) {
    TCanvas *c9 = new TCanvas("c9","Cov55",600,200,600,400);
    c9->SetFillColor(10); c9->SetHighLightColor(10);
    c9->Divide(2,1);
    c9->cd(1)->SetLogy(); gProtonsExtCov55Pass->Draw(); 
    gProtonsExtCov55Reject->Draw("same");
    c9->cd(2)->SetLogy(); gAntiProtonsExtCov55Pass->Draw(); 
    gAntiProtonsExtCov55Reject->Draw("same");
  }

  if(gProtonsSigmaToVertexPass->GetEntries() != 0) {
    TCanvas *c10 = new TCanvas("c10","N-sigma to Vertex",600,300,600,400);
    c10->SetFillColor(10); c10->SetHighLightColor(10);
    c10->Divide(2,1);
    c10->cd(1)->SetLogy(); gProtonsSigmaToVertexPass->Draw(); 
    gProtonsSigmaToVertexReject->Draw("same");
    c10->cd(2)->SetLogy(); gAntiProtonsSigmaToVertexPass->Draw(); 
    gAntiProtonsSigmaToVertexReject->Draw("same");
  }

  if(gProtonsSigmaToVertexTPCPass->GetEntries() != 0) {
    TCanvas *c11 = new TCanvas("c11","N-sigma to Vertex (TPC)",600,400,600,400);
    c11->SetFillColor(10); c11->SetHighLightColor(10);
    c11->Divide(2,1);
    c11->cd(1)->SetLogy(); gProtonsSigmaToVertexTPCPass->Draw(); 
    gProtonsSigmaToVertexTPCReject->Draw("same");
    c11->cd(2)->SetLogy(); gAntiProtonsSigmaToVertexTPCPass->Draw(); 
    gAntiProtonsSigmaToVertexTPCReject->Draw("same");
  }

  if(gProtonsDCAXYPass->GetEntries() != 0) {
    TCanvas *c12 = new TCanvas("c12","dca(xy)",600,500,600,400);
    c12->SetFillColor(10); c12->SetHighLightColor(10);
    c12->Divide(2,1);
    c12->cd(1)->SetLogy(); gProtonsDCAXYPass->Draw(); 
    gProtonsDCAXYReject->Draw("same");
    c12->cd(2)->SetLogy(); gAntiProtonsDCAXYPass->Draw(); 
    gAntiProtonsDCAXYReject->Draw("same");
  }

  if(gProtonsDCAXYTPCPass->GetEntries() != 0) {
    TCanvas *c13 = new TCanvas("c13","dca(xy - TPC)",1200,0,600,400);
    c13->SetFillColor(10); c13->SetHighLightColor(10);
    c13->Divide(2,1);
    c13->cd(1)->SetLogy(); gProtonsDCAXYTPCPass->Draw(); 
    gProtonsDCAXYTPCReject->Draw("same");
    c13->cd(2)->SetLogy(); gAntiProtonsDCAXYTPCPass->Draw(); 
    gAntiProtonsDCAXYTPCReject->Draw("same");
  }

  if(gProtonsDCAZPass->GetEntries() != 0) {
    TCanvas *c14 = new TCanvas("c14","dca(z)",1200,100,600,400);
    c14->SetFillColor(10); c14->SetHighLightColor(10);
    c14->Divide(2,1);
    c14->cd(1)->SetLogy(); gProtonsDCAZPass->Draw(); 
    gProtonsDCAZReject->Draw("same");
    c14->cd(2)->SetLogy(); gAntiProtonsDCAZPass->Draw(); 
    gAntiProtonsDCAZReject->Draw("same");
  }

  if(gProtonsDCAZTPCPass->GetEntries() != 0) {
    TCanvas *c15 = new TCanvas("c15","dca(z - TPC)",1200,200,600,400);
    c15->SetFillColor(10); c15->SetHighLightColor(10);
    c15->Divide(2,1);
    c15->cd(1)->SetLogy(); gProtonsDCAZTPCPass->Draw(); 
    gProtonsDCAZTPCReject->Draw("same");
    c15->cd(2)->SetLogy(); gAntiProtonsDCAZTPCPass->Draw(); 
    gAntiProtonsDCAZTPCReject->Draw("same");
  }

  TCanvas *c16 = new TCanvas("c16","TPC clusters (dE/dx)",1200,300,600,400);
  c16->SetFillColor(10); c16->SetHighLightColor(10);
  c16->Divide(2,1);
  c16->cd(1); gProtonsNumberOfTPCdEdxPointsPass->Draw(); 
  gProtonsNumberOfTPCdEdxPointsReject->Draw("same");
  c16->cd(2); gAntiProtonsNumberOfTPCdEdxPointsPass->Draw(); 
  gAntiProtonsNumberOfTPCdEdxPointsReject->Draw("same");

  TCanvas *c17 = new TCanvas("c17","ITS cluster map",1200,400,600,400);
  c17->SetFillColor(10); c17->SetHighLightColor(10);
  c17->Divide(2,1);
  c17->cd(1); gProtonsITSClusterMapPass->GetYaxis()->SetRangeUser(0,18000);
  gProtonsITSClusterMapPass->Draw(); 
  gProtonsITSClusterMapReject->Draw("same"); 
  c17->cd(2); gAntiProtonsITSClusterMapPass->GetYaxis()->SetRangeUser(0,18000);
  gAntiProtonsITSClusterMapPass->Draw(); 
  gAntiProtonsITSClusterMapReject->Draw("same"); 

  if(gProtonsDCA3DPass->GetEntries() != 0) {  
    TCanvas *c18 = new TCanvas("c18","DCA 3D",1200,500,600,400);
    c18->SetFillColor(10); c18->SetHighLightColor(10);
    c18->Divide(2,1);
    c18->cd(1)->SetLogy(); gProtonsDCA3DPass->Draw();
    gProtonsDCA3DReject->Draw("SAME");
    c18->cd(2)->SetLogy(); gAntiProtonsDCA3DPass->Draw();
    gAntiProtonsDCA3DReject->Draw("SAME");
  }

  //================Vertex QA================//
  TList *gListVertexQA = dynamic_cast<TList *>(listQA->At(1));
  TH1F *gHistVx = dynamic_cast<TH1F *>(gListVertexQA->At(0));
  TH1F *gHistVxAccepted = dynamic_cast<TH1F *>(gListVertexQA->At(1));
  gHistVxAccepted->SetFillColor(10);
  TH1F *gHistVy = dynamic_cast<TH1F *>(gListVertexQA->At(2));
  TH1F *gHistVyAccepted = dynamic_cast<TH1F *>(gListVertexQA->At(3));
  gHistVyAccepted->SetFillColor(10);
  TH1F *gHistVz = dynamic_cast<TH1F *>(gListVertexQA->At(4));
  TH1F *gHistVzAccepted = dynamic_cast<TH1F *>(gListVertexQA->At(5));
  gHistVzAccepted->SetFillColor(10);
  TH1F *gHistNumberOfContributors = dynamic_cast<TH1F *>(gListVertexQA->At(6));
  gHistNumberOfContributors->SetFillColor(10);

  TCanvas *cVertex = new TCanvas("cVertex","Vertex QA",0,0,900,400);
  cVertex->SetFillColor(10); cVertex->SetHighLightColor(10);
  cVertex->Divide(3,1);
  cVertex->cd(1)->SetLogy(); gHistVx->Draw(); gHistVxAccepted->Draw("same");
  cVertex->cd(2)->SetLogy(); gHistVy->Draw(); gHistVyAccepted->Draw("same");
  cVertex->cd(3)->SetLogy(); gHistVz->Draw(); gHistVzAccepted->Draw("same");

  TCanvas *cVertexNContributors = new TCanvas("cVertexNContributors",
					      "Vertex QA",0,0,400,400);
  gHistNumberOfContributors->Draw();
}

//________________________________________________________//
void PrintYields(TH1 *h) {
  Double_t sum = 0.0, error = 0.0;
  for(Int_t iBin = 1; iBin <= h->GetNbinsX(); iBin++) {
    sum += h->GetBinContent(iBin);
    error += TMath::Power(h->GetBinError(iBin),2);
  }
  error = TMath::Sqrt(error);

  Printf("==================================");
  Printf("Histogram: %s",h->GetName());
  Printf("Yields: %lf - %lf",sum,error);
  Printf("==================================");
}

//___________________________________________________//
void drawdEdx(TH2F *gHistdEdxP, Int_t iMode) {
  //Draws the dE/dx distributions for the different momentum bins
  //iMode == 0: dEdx vs P
  //iMode == 1: normalized(dEdx) vs P
  TString title;
  TH1D *gHist[100];
  Int_t iCounter = 0;
  Double_t binMin = gHistdEdxP->GetXaxis()->GetXmin();
  Double_t binMax = gHistdEdxP->GetXaxis()->GetXmin() + 
    (gHistdEdxP->GetXaxis()->GetXmax() - gHistdEdxP->GetXaxis()->GetXmin())/gHistdEdxP->GetNbinsX();

  TCanvas *c[100];
  TString canvasTitle;

  for(Int_t iBin = 1; iBin <= gHistdEdxP->GetNbinsX(); iBin++) {
    if((binMax > 0.45)&&(binMin < 1.05)) {
      if(iMode == 0) {
	title = "(dEdx)P: "; title += binMin; title += " - "; 
	title += binMax; title += "GeV/c";
	canvasTitle = "dedxMomentumSlice."; canvasTitle += iCounter;
	canvasTitle += ".gif";
	c[iCounter] = new TCanvas(title.Data(),title.Data(),0,0,500,500);
      }
      if(iMode == 1) {
	title = "(normdEdx)P: "; title += binMin; title += " - "; 
	title += binMax; title += "GeV/c";
	canvasTitle = "normdedxMomentumSlice."; canvasTitle += iCounter;
	canvasTitle += ".gif";
	c[iCounter] = new TCanvas(title.Data(),title.Data(),500,0,500,500);
      }
      c[iCounter]->SetFillColor(10); c[iCounter]->SetHighLightColor(10); 
      gHist[iCounter] = gHistdEdxP->ProjectionY(title.Data(),iBin,iBin+1);
      gHist[iCounter]->SetTitle(title.Data());
      gHist[iCounter]->SetStats(kFALSE);
      if(iMode == 0)
	gHist[iCounter]->GetXaxis()->SetRangeUser(0.0,300.);
      if(iMode == 1)
	gHist[iCounter]->GetXaxis()->SetRangeUser(-2.0,2.0);
      if(gHist[iCounter]->GetEntries() != 0)
	c[iCounter]->SetLogy();
      gHist[iCounter]->Draw("E");
      c[iCounter]->SaveAs(canvasTitle.Data());
      //Printf("Bin: %d - Pmin: %lf - Pmax: %lf : %s",iBin,binMin,binMax,title.Data());
      iCounter += 1;
    }
    binMin += (gHistdEdxP->GetXaxis()->GetXmax() - gHistdEdxP->GetXaxis()->GetXmin())/gHistdEdxP->GetNbinsX();
    binMax += (gHistdEdxP->GetXaxis()->GetXmax() - gHistdEdxP->GetXaxis()->GetXmin())/gHistdEdxP->GetNbinsX();
  }
  
}

//___________________________________________________//
void drawMCvsData(const char* analysisOutputMC,
		  const char* analysisOutputData) {
  //Draws the QA plots from the output of the analysis
  //=========================================================//
  gStyle->SetPalette(1,0);

  //=========================================================//
  //QA MC plots
  TFile *fMC = TFile::Open(analysisOutputMC);
  TList *listQAMC = dynamic_cast<TList *>(fMC->Get("outputQAList"));
  TList *gListGlobalQAMC = dynamic_cast<TList *>(listQAMC->At(0));

  //================QA plots================//
  TList *fQAMC2DList = dynamic_cast<TList *>(gListGlobalQAMC->At(0));

  //Rejected protons
  TList *fQAMCProtonsRejectedList = dynamic_cast<TList *>(gListGlobalQAMC->At(2));
  TH1F *gMCProtonsITSClustersReject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(0));
  TH1F *gMCProtonsTPCClustersReject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(2));
  TH1F *gMCProtonsChi2PerClusterTPCReject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(3));
  TH1F *gMCProtonsExtCov11Reject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(4));
  TH1F *gMCProtonsExtCov22Reject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(5));
  TH1F *gMCProtonsExtCov33Reject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(6));
  TH1F *gMCProtonsExtCov44Reject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(7));
  TH1F *gMCProtonsExtCov55Reject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(8));
  TH1F *gMCProtonsDCAXYReject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(11));
  TH1F *gMCProtonsDCAZReject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(13));
  TH1F *gMCProtonsNumberOfTPCdEdxPointsReject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(26));

  //Accepted protons
  TList *fQAMCProtonsAcceptedList = dynamic_cast<TList *>(gListGlobalQAMC->At(1));
  TH1F *gMCProtonsITSClustersPass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(0));
  gMCProtonsITSClustersPass->SetStats(kFALSE);
  gMCProtonsITSClustersPass->Add(gMCProtonsITSClustersReject);
  gMCProtonsITSClustersPass->Sumw2();
  gMCProtonsITSClustersPass->Scale(1./gMCProtonsITSClustersPass->Integral(1,gMCProtonsITSClustersPass->GetNbinsX()));
  gMCProtonsITSClustersPass->SetMarkerStyle(20);
  TH1F *gMCProtonsTPCClustersPass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(2));
  gMCProtonsTPCClustersPass->SetStats(kFALSE);
  gMCProtonsTPCClustersPass->Add(gMCProtonsTPCClustersReject);
  gMCProtonsTPCClustersPass->Sumw2();
  gMCProtonsTPCClustersPass->Scale(1./gMCProtonsTPCClustersPass->Integral(1,gMCProtonsTPCClustersPass->GetNbinsX()));
  gMCProtonsTPCClustersPass->SetMarkerStyle(20);
  TH1F *gMCProtonsChi2PerClusterTPCPass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(3));
  gMCProtonsChi2PerClusterTPCPass->SetStats(kFALSE);
  gMCProtonsChi2PerClusterTPCPass->Add(gMCProtonsChi2PerClusterTPCReject);
  gMCProtonsChi2PerClusterTPCPass->Sumw2();
  gMCProtonsChi2PerClusterTPCPass->Scale(1./gMCProtonsChi2PerClusterTPCPass->Integral(1,gMCProtonsChi2PerClusterTPCPass->GetNbinsX()));
  gMCProtonsChi2PerClusterTPCPass->SetMarkerStyle(20);
  TH1F *gMCProtonsExtCov11Pass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(4));
  gMCProtonsExtCov11Pass->SetStats(kFALSE);
  gMCProtonsExtCov11Pass->Add(gMCProtonsExtCov11Reject);
  gMCProtonsExtCov11Pass->Sumw2();
  gMCProtonsExtCov11Pass->Scale(1./gMCProtonsExtCov11Pass->Integral(1,gMCProtonsExtCov11Pass->GetNbinsX()));
  gMCProtonsExtCov11Pass->SetMarkerStyle(20);
  TH1F *gMCProtonsExtCov22Pass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(5));
  gMCProtonsExtCov22Pass->SetStats(kFALSE);
  gMCProtonsExtCov22Pass->Add(gMCProtonsExtCov22Reject);
  gMCProtonsExtCov22Pass->Sumw2();
  gMCProtonsExtCov22Pass->Scale(1./gMCProtonsExtCov22Pass->Integral(1,gMCProtonsExtCov22Pass->GetNbinsX()));
  gMCProtonsExtCov22Pass->SetMarkerStyle(20);
  TH1F *gMCProtonsExtCov33Pass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(6));
  gMCProtonsExtCov33Pass->SetStats(kFALSE);
  gMCProtonsExtCov33Pass->Add(gMCProtonsExtCov33Reject);
  gMCProtonsExtCov33Pass->Sumw2();
  gMCProtonsExtCov33Pass->Scale(1./gMCProtonsExtCov33Pass->Integral(1,gMCProtonsExtCov33Pass->GetNbinsX()));
  gMCProtonsExtCov33Pass->SetMarkerStyle(20);
  TH1F *gMCProtonsExtCov44Pass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(7));
  gMCProtonsExtCov44Pass->SetStats(kFALSE);
  gMCProtonsExtCov44Pass->Add(gMCProtonsExtCov44Reject);
  gMCProtonsExtCov44Pass->Sumw2();
  gMCProtonsExtCov44Pass->Scale(1./gMCProtonsExtCov44Pass->Integral(1,gMCProtonsExtCov44Pass->GetNbinsX()));
  gMCProtonsExtCov44Pass->SetMarkerStyle(20);
  TH1F *gMCProtonsExtCov55Pass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(8));
  gMCProtonsExtCov55Pass->SetStats(kFALSE);
  gMCProtonsExtCov55Pass->Add(gMCProtonsExtCov55Reject);
  gMCProtonsExtCov55Pass->Sumw2();
  gMCProtonsExtCov55Pass->Scale(1./gMCProtonsExtCov55Pass->Integral(1,gMCProtonsExtCov55Pass->GetNbinsX()));
  gMCProtonsExtCov55Pass->SetMarkerStyle(20);
  TH1F *gMCProtonsDCAXYPass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(11));
  gMCProtonsDCAXYPass->SetStats(kFALSE);  
  gMCProtonsDCAXYPass->Add(gMCProtonsDCAXYReject);
  gMCProtonsDCAXYPass->Sumw2();
  gMCProtonsDCAXYPass->Scale(1./gMCProtonsDCAXYPass->Integral(1,gMCProtonsDCAXYPass->GetNbinsX()));
  gMCProtonsDCAXYPass->SetMarkerStyle(20);
  TH1F *gMCProtonsDCAZPass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(13));
  gMCProtonsDCAZPass->SetStats(kFALSE);  
  gMCProtonsDCAZPass->Add(gMCProtonsDCAZReject);
  gMCProtonsDCAZPass->Sumw2();
  gMCProtonsDCAZPass->Scale(1./gMCProtonsDCAZPass->Integral(1,gMCProtonsDCAZPass->GetNbinsX()));
  gMCProtonsDCAZPass->SetMarkerStyle(20);
  TH1F *gMCProtonsNumberOfTPCdEdxPointsPass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(26));
  gMCProtonsNumberOfTPCdEdxPointsPass->SetStats(kFALSE);  
  gMCProtonsNumberOfTPCdEdxPointsPass->Add(gMCProtonsNumberOfTPCdEdxPointsReject);
  gMCProtonsNumberOfTPCdEdxPointsPass->Sumw2();
  gMCProtonsNumberOfTPCdEdxPointsPass->Scale(1./gMCProtonsNumberOfTPCdEdxPointsPass->Integral(1,gMCProtonsNumberOfTPCdEdxPointsPass->GetNbinsX()));
  gMCProtonsNumberOfTPCdEdxPointsPass->SetMarkerStyle(20);

  //Rejected antiprotons
  TList *fQAMCAntiProtonsRejectedList = dynamic_cast<TList *>(gListGlobalQAMC->At(4));
  TH1F *gMCAntiProtonsITSClustersReject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(0));
  TH1F *gMCAntiProtonsTPCClustersReject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(2));
  TH1F *gMCAntiProtonsChi2PerClusterTPCReject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(3));
  TH1F *gMCAntiProtonsExtCov11Reject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(4));
  TH1F *gMCAntiProtonsExtCov22Reject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(5));
  TH1F *gMCAntiProtonsExtCov33Reject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(6));
  TH1F *gMCAntiProtonsExtCov44Reject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(7));
  TH1F *gMCAntiProtonsExtCov55Reject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(8));
  TH1F *gMCAntiProtonsDCAXYReject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(11));
  TH1F *gMCAntiProtonsDCAZReject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(13));
  TH1F *gMCAntiProtonsNumberOfTPCdEdxPointsReject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(26));

  //Accepted protons
  TList *fQAMCAntiProtonsAcceptedList = dynamic_cast<TList *>(gListGlobalQAMC->At(3));
  TH1F *gMCAntiProtonsITSClustersPass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(0));
  gMCAntiProtonsITSClustersPass->SetStats(kFALSE);
  gMCAntiProtonsITSClustersPass->Add(gMCAntiProtonsITSClustersReject);
  gMCAntiProtonsITSClustersPass->Sumw2();
  gMCAntiProtonsITSClustersPass->Scale(1./gMCAntiProtonsITSClustersPass->Integral(1,gMCAntiProtonsITSClustersPass->GetNbinsX()));
  gMCAntiProtonsITSClustersPass->SetMarkerStyle(20);
  TH1F *gMCAntiProtonsTPCClustersPass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(2));
  gMCAntiProtonsTPCClustersPass->SetStats(kFALSE);
  gMCAntiProtonsTPCClustersPass->Add(gMCAntiProtonsTPCClustersReject);
  gMCAntiProtonsTPCClustersPass->Sumw2();
  gMCAntiProtonsTPCClustersPass->Scale(1./gMCAntiProtonsTPCClustersPass->Integral(1,gMCAntiProtonsTPCClustersPass->GetNbinsX()));
  gMCAntiProtonsTPCClustersPass->SetMarkerStyle(20);
  TH1F *gMCAntiProtonsChi2PerClusterTPCPass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(3));
  gMCAntiProtonsChi2PerClusterTPCPass->SetStats(kFALSE);
  gMCAntiProtonsChi2PerClusterTPCPass->Add(gMCAntiProtonsChi2PerClusterTPCReject);
  gMCAntiProtonsChi2PerClusterTPCPass->Sumw2();
  gMCAntiProtonsChi2PerClusterTPCPass->Scale(1./gMCAntiProtonsChi2PerClusterTPCPass->Integral(1,gMCAntiProtonsChi2PerClusterTPCPass->GetNbinsX()));
  gMCAntiProtonsChi2PerClusterTPCPass->SetMarkerStyle(20);
  TH1F *gMCAntiProtonsExtCov11Pass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(4));
  gMCAntiProtonsExtCov11Pass->SetStats(kFALSE);
  gMCAntiProtonsExtCov11Pass->Add(gMCAntiProtonsExtCov11Reject);
  gMCAntiProtonsExtCov11Pass->Sumw2();
  gMCAntiProtonsExtCov11Pass->Scale(1./gMCAntiProtonsExtCov11Pass->Integral(1,gMCAntiProtonsExtCov11Pass->GetNbinsX()));
  gMCAntiProtonsExtCov11Pass->SetMarkerStyle(20);
  TH1F *gMCAntiProtonsExtCov22Pass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(5));
  gMCAntiProtonsExtCov22Pass->SetStats(kFALSE);
  gMCAntiProtonsExtCov22Pass->Add(gMCAntiProtonsExtCov22Reject);
  gMCAntiProtonsExtCov22Pass->Sumw2();
  gMCAntiProtonsExtCov22Pass->Scale(1./gMCAntiProtonsExtCov22Pass->Integral(1,gMCAntiProtonsExtCov22Pass->GetNbinsX()));
  gMCAntiProtonsExtCov22Pass->SetMarkerStyle(20);
  TH1F *gMCAntiProtonsExtCov33Pass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(6));
  gMCAntiProtonsExtCov33Pass->SetStats(kFALSE);
  gMCAntiProtonsExtCov33Pass->Add(gMCAntiProtonsExtCov33Reject);
  gMCAntiProtonsExtCov33Pass->Sumw2();
  gMCAntiProtonsExtCov33Pass->Scale(1./gMCAntiProtonsExtCov33Pass->Integral(1,gMCAntiProtonsExtCov33Pass->GetNbinsX()));
  gMCAntiProtonsExtCov33Pass->SetMarkerStyle(20);
  TH1F *gMCAntiProtonsExtCov44Pass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(7));
  gMCAntiProtonsExtCov44Pass->SetStats(kFALSE);
  gMCAntiProtonsExtCov44Pass->Add(gMCAntiProtonsExtCov44Reject);
  gMCAntiProtonsExtCov44Pass->Sumw2();
  gMCAntiProtonsExtCov44Pass->Scale(1./gMCAntiProtonsExtCov44Pass->Integral(1,gMCAntiProtonsExtCov44Pass->GetNbinsX()));
  gMCAntiProtonsExtCov44Pass->SetMarkerStyle(20);
  TH1F *gMCAntiProtonsExtCov55Pass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(8));
  gMCAntiProtonsExtCov55Pass->SetStats(kFALSE);
  gMCAntiProtonsExtCov55Pass->Add(gMCAntiProtonsExtCov55Reject);
  gMCAntiProtonsExtCov55Pass->Sumw2();
  gMCAntiProtonsExtCov55Pass->Scale(1./gMCAntiProtonsExtCov55Pass->Integral(1,gMCAntiProtonsExtCov55Pass->GetNbinsX()));
  gMCAntiProtonsExtCov55Pass->SetMarkerStyle(20);
  TH1F *gMCAntiProtonsDCAXYPass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(11));
  gMCAntiProtonsDCAXYPass->SetStats(kFALSE);  
  gMCAntiProtonsDCAXYPass->Add(gMCAntiProtonsDCAXYReject);
  gMCAntiProtonsDCAXYPass->Sumw2();
  gMCAntiProtonsDCAXYPass->Scale(1./gMCAntiProtonsDCAXYPass->Integral(1,gMCAntiProtonsDCAXYPass->GetNbinsX()));
  gMCAntiProtonsDCAXYPass->SetMarkerStyle(20);
  TH1F *gMCAntiProtonsDCAZPass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(13));
  gMCAntiProtonsDCAZPass->SetStats(kFALSE);  
  gMCAntiProtonsDCAZPass->Add(gMCAntiProtonsDCAZReject);
  gMCAntiProtonsDCAZPass->Sumw2();
  gMCAntiProtonsDCAZPass->Scale(1./gMCAntiProtonsDCAZPass->Integral(1,gMCAntiProtonsDCAZPass->GetNbinsX()));
  gMCAntiProtonsDCAZPass->SetMarkerStyle(20);
  TH1F *gMCAntiProtonsNumberOfTPCdEdxPointsPass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(26));
  gMCAntiProtonsNumberOfTPCdEdxPointsPass->SetStats(kFALSE);  
  gMCAntiProtonsNumberOfTPCdEdxPointsPass->Add(gMCAntiProtonsNumberOfTPCdEdxPointsReject);
  gMCAntiProtonsNumberOfTPCdEdxPointsPass->Sumw2();
  gMCAntiProtonsNumberOfTPCdEdxPointsPass->Scale(1./gMCAntiProtonsNumberOfTPCdEdxPointsPass->Integral(1,gMCAntiProtonsNumberOfTPCdEdxPointsPass->GetNbinsX()));
  gMCAntiProtonsNumberOfTPCdEdxPointsPass->SetMarkerStyle(20);

  //=========================================================//
  //QA data plots
  TFile *fData = TFile::Open(analysisOutputData);
  TList *listQAData = dynamic_cast<TList *>(fData->Get("outputQAList"));
  TList *gListGlobalQAData = dynamic_cast<TList *>(listQAData->At(0));

  //================QA plots================//
  TList *fQAData2DList = dynamic_cast<TList *>(gListGlobalQAData->At(0));

  //Rejected protons
  TList *fQADataProtonsRejectedList = dynamic_cast<TList *>(gListGlobalQAData->At(2));
  TH1F *gDataProtonsITSClustersReject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(0));
  TH1F *gDataProtonsTPCClustersReject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(2));
  TH1F *gDataProtonsChi2PerClusterTPCReject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(3));
  TH1F *gDataProtonsExtCov11Reject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(4));
  TH1F *gDataProtonsExtCov22Reject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(5));
  TH1F *gDataProtonsExtCov33Reject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(6));
  TH1F *gDataProtonsExtCov44Reject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(7));
  TH1F *gDataProtonsExtCov55Reject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(8));
  TH1F *gDataProtonsDCAXYReject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(11));
  TH1F *gDataProtonsDCAZReject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(13));
  TH1F *gDataProtonsNumberOfTPCdEdxPointsReject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(26));

  //Accepted protons
  TList *fQADataProtonsAcceptedList = dynamic_cast<TList *>(gListGlobalQAData->At(1));
  TH1F *gDataProtonsITSClustersPass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(0));
  gDataProtonsITSClustersPass->SetStats(kFALSE);
  gDataProtonsITSClustersPass->Add(gDataProtonsITSClustersReject);
  gDataProtonsITSClustersPass->Sumw2();
  gDataProtonsITSClustersPass->Scale(1./gDataProtonsITSClustersPass->Integral(1,gDataProtonsITSClustersPass->GetNbinsX()));
  gDataProtonsITSClustersPass->SetMarkerStyle(1);
  TH1F *gDataProtonsTPCClustersPass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(2));
  gDataProtonsTPCClustersPass->SetStats(kFALSE);
  gDataProtonsTPCClustersPass->Add(gDataProtonsTPCClustersReject);
  gDataProtonsTPCClustersPass->Sumw2();
  gDataProtonsTPCClustersPass->Scale(1./gDataProtonsTPCClustersPass->Integral(1,gDataProtonsTPCClustersPass->GetNbinsX()));
  gDataProtonsTPCClustersPass->SetMarkerStyle(1);
  TH1F *gDataProtonsChi2PerClusterTPCPass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(3));
  gDataProtonsChi2PerClusterTPCPass->SetStats(kFALSE);
  gDataProtonsChi2PerClusterTPCPass->Add(gDataProtonsChi2PerClusterTPCReject);
  gDataProtonsChi2PerClusterTPCPass->Sumw2();
  gDataProtonsChi2PerClusterTPCPass->Scale(1./gDataProtonsChi2PerClusterTPCPass->Integral(1,gDataProtonsChi2PerClusterTPCPass->GetNbinsX()));
  gDataProtonsChi2PerClusterTPCPass->SetMarkerStyle(1);
  TH1F *gDataProtonsExtCov11Pass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(4));
  gDataProtonsExtCov11Pass->SetStats(kFALSE);
  gDataProtonsExtCov11Pass->Add(gDataProtonsExtCov11Reject);
  gDataProtonsExtCov11Pass->Sumw2();
  gDataProtonsExtCov11Pass->Scale(1./gDataProtonsExtCov11Pass->Integral(1,gDataProtonsExtCov11Pass->GetNbinsX()));
  gDataProtonsExtCov11Pass->SetMarkerStyle(1);
  TH1F *gDataProtonsExtCov22Pass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(5));
  gDataProtonsExtCov22Pass->SetStats(kFALSE);
  gDataProtonsExtCov22Pass->Add(gDataProtonsExtCov22Reject);
  gDataProtonsExtCov22Pass->Sumw2();
  gDataProtonsExtCov22Pass->Scale(1./gDataProtonsExtCov22Pass->Integral(1,gDataProtonsExtCov22Pass->GetNbinsX()));
  gDataProtonsExtCov22Pass->SetMarkerStyle(1);
  TH1F *gDataProtonsExtCov33Pass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(6));
  gDataProtonsExtCov33Pass->SetStats(kFALSE);
  gDataProtonsExtCov33Pass->Add(gDataProtonsExtCov33Reject);
  gDataProtonsExtCov33Pass->Sumw2();
  gDataProtonsExtCov33Pass->Scale(1./gDataProtonsExtCov33Pass->Integral(1,gDataProtonsExtCov33Pass->GetNbinsX()));
  gDataProtonsExtCov33Pass->SetMarkerStyle(1);
  TH1F *gDataProtonsExtCov44Pass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(7));
  gDataProtonsExtCov44Pass->SetStats(kFALSE);
  gDataProtonsExtCov44Pass->Add(gDataProtonsExtCov44Reject);
  gDataProtonsExtCov44Pass->Sumw2();
  gDataProtonsExtCov44Pass->Scale(1./gDataProtonsExtCov44Pass->Integral(1,gDataProtonsExtCov44Pass->GetNbinsX()));
  gDataProtonsExtCov44Pass->SetMarkerStyle(1);
  TH1F *gDataProtonsExtCov55Pass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(8));
  gDataProtonsExtCov55Pass->SetStats(kFALSE);
  gDataProtonsExtCov55Pass->Add(gDataProtonsExtCov55Reject);
  gDataProtonsExtCov55Pass->Sumw2();
  gDataProtonsExtCov55Pass->Scale(1./gDataProtonsExtCov55Pass->Integral(1,gDataProtonsExtCov55Pass->GetNbinsX()));
  gDataProtonsExtCov55Pass->SetMarkerStyle(1);
  TH1F *gDataProtonsDCAXYPass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(11));
  gDataProtonsDCAXYPass->SetStats(kFALSE);  
  gDataProtonsDCAXYPass->Add(gDataProtonsDCAXYReject);
  gDataProtonsDCAXYPass->Sumw2();
  gDataProtonsDCAXYPass->Scale(1./gDataProtonsDCAXYPass->Integral(1,gDataProtonsDCAXYPass->GetNbinsX()));
  gDataProtonsDCAXYPass->SetMarkerStyle(1);
  TH1F *gDataProtonsDCAZPass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(13));
  gDataProtonsDCAZPass->SetStats(kFALSE);  
  gDataProtonsDCAZPass->Add(gDataProtonsDCAZReject);
  gDataProtonsDCAZPass->Sumw2();
  gDataProtonsDCAZPass->Scale(1./gDataProtonsDCAZPass->Integral(1,gDataProtonsDCAZPass->GetNbinsX()));
  gDataProtonsDCAZPass->SetMarkerStyle(1);
  TH1F *gDataProtonsNumberOfTPCdEdxPointsPass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(26));
  gDataProtonsNumberOfTPCdEdxPointsPass->SetStats(kFALSE);  
  gDataProtonsNumberOfTPCdEdxPointsPass->Add(gDataProtonsNumberOfTPCdEdxPointsReject);
  gDataProtonsNumberOfTPCdEdxPointsPass->Sumw2();
  gDataProtonsNumberOfTPCdEdxPointsPass->Scale(1./gDataProtonsNumberOfTPCdEdxPointsPass->Integral(1,gDataProtonsNumberOfTPCdEdxPointsPass->GetNbinsX()));
  gDataProtonsNumberOfTPCdEdxPointsPass->SetMarkerStyle(1);

  //Rejected antiprotons
  TList *fQADataAntiProtonsRejectedList = dynamic_cast<TList *>(gListGlobalQAData->At(4));
  TH1F *gDataAntiProtonsITSClustersReject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(0));
  TH1F *gDataAntiProtonsTPCClustersReject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(2));
  TH1F *gDataAntiProtonsChi2PerClusterTPCReject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(3));
  TH1F *gDataAntiProtonsExtCov11Reject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(4));
  TH1F *gDataAntiProtonsExtCov22Reject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(5));
  TH1F *gDataAntiProtonsExtCov33Reject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(6));
  TH1F *gDataAntiProtonsExtCov44Reject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(7));
  TH1F *gDataAntiProtonsExtCov55Reject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(8));
  TH1F *gDataAntiProtonsDCAXYReject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(11));
  TH1F *gDataAntiProtonsDCAZReject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(13));
  TH1F *gDataAntiProtonsNumberOfTPCdEdxPointsReject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(26));

  //Accepted protons
  TList *fQADataAntiProtonsAcceptedList = dynamic_cast<TList *>(gListGlobalQAData->At(3));
  TH1F *gDataAntiProtonsITSClustersPass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(0));
  gDataAntiProtonsITSClustersPass->SetStats(kFALSE);
  gDataAntiProtonsITSClustersPass->Add(gDataAntiProtonsITSClustersReject);
  gDataAntiProtonsITSClustersPass->Sumw2();
  gDataAntiProtonsITSClustersPass->Scale(1./gDataAntiProtonsITSClustersPass->Integral(1,gDataAntiProtonsITSClustersPass->GetNbinsX()));
  gDataAntiProtonsITSClustersPass->SetMarkerStyle(1);
  TH1F *gDataAntiProtonsTPCClustersPass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(2));
  gDataAntiProtonsTPCClustersPass->SetStats(kFALSE);
  gDataAntiProtonsTPCClustersPass->Add(gDataAntiProtonsTPCClustersReject);
  gDataAntiProtonsTPCClustersPass->Sumw2();
  gDataAntiProtonsTPCClustersPass->Scale(1./gDataAntiProtonsTPCClustersPass->Integral(1,gDataAntiProtonsTPCClustersPass->GetNbinsX()));
  gDataAntiProtonsTPCClustersPass->SetMarkerStyle(1);
  TH1F *gDataAntiProtonsChi2PerClusterTPCPass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(3));
  gDataAntiProtonsChi2PerClusterTPCPass->SetStats(kFALSE);
  gDataAntiProtonsChi2PerClusterTPCPass->Add(gDataAntiProtonsChi2PerClusterTPCReject);
  gDataAntiProtonsChi2PerClusterTPCPass->Sumw2();
  gDataAntiProtonsChi2PerClusterTPCPass->Scale(1./gDataAntiProtonsChi2PerClusterTPCPass->Integral(1,gDataAntiProtonsChi2PerClusterTPCPass->GetNbinsX()));
  gDataAntiProtonsChi2PerClusterTPCPass->SetMarkerStyle(1);
  TH1F *gDataAntiProtonsExtCov11Pass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(4));
  gDataAntiProtonsExtCov11Pass->SetStats(kFALSE);
  gDataAntiProtonsExtCov11Pass->Add(gDataAntiProtonsExtCov11Reject);
  gDataAntiProtonsExtCov11Pass->Sumw2();
  gDataAntiProtonsExtCov11Pass->Scale(1./gDataAntiProtonsExtCov11Pass->Integral(1,gDataAntiProtonsExtCov11Pass->GetNbinsX()));
  gDataAntiProtonsExtCov11Pass->SetMarkerStyle(1);
  TH1F *gDataAntiProtonsExtCov22Pass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(5));
  gDataAntiProtonsExtCov22Pass->SetStats(kFALSE);
  gDataAntiProtonsExtCov22Pass->Add(gDataAntiProtonsExtCov22Reject);
  gDataAntiProtonsExtCov22Pass->Sumw2();
  gDataAntiProtonsExtCov22Pass->Scale(1./gDataAntiProtonsExtCov22Pass->Integral(1,gDataAntiProtonsExtCov22Pass->GetNbinsX()));
  gDataAntiProtonsExtCov22Pass->SetMarkerStyle(1);
  TH1F *gDataAntiProtonsExtCov33Pass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(6));
  gDataAntiProtonsExtCov33Pass->SetStats(kFALSE);
  gDataAntiProtonsExtCov33Pass->Add(gDataAntiProtonsExtCov33Reject);
  gDataAntiProtonsExtCov33Pass->Sumw2();
  gDataAntiProtonsExtCov33Pass->Scale(1./gDataAntiProtonsExtCov33Pass->Integral(1,gDataAntiProtonsExtCov33Pass->GetNbinsX()));
  gDataAntiProtonsExtCov33Pass->SetMarkerStyle(1);
  TH1F *gDataAntiProtonsExtCov44Pass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(7));
  gDataAntiProtonsExtCov44Pass->SetStats(kFALSE);
  gDataAntiProtonsExtCov44Pass->Add(gDataAntiProtonsExtCov44Reject);
  gDataAntiProtonsExtCov44Pass->Sumw2();
  gDataAntiProtonsExtCov44Pass->Scale(1./gDataAntiProtonsExtCov44Pass->Integral(1,gDataAntiProtonsExtCov44Pass->GetNbinsX()));
  gDataAntiProtonsExtCov44Pass->SetMarkerStyle(1);
  TH1F *gDataAntiProtonsExtCov55Pass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(8));
  gDataAntiProtonsExtCov55Pass->SetStats(kFALSE);
  gDataAntiProtonsExtCov55Pass->Add(gDataAntiProtonsExtCov55Reject);
  gDataAntiProtonsExtCov55Pass->Sumw2();
  gDataAntiProtonsExtCov55Pass->Scale(1./gDataAntiProtonsExtCov55Pass->Integral(1,gDataAntiProtonsExtCov55Pass->GetNbinsX()));
  gDataAntiProtonsExtCov55Pass->SetMarkerStyle(1);
  TH1F *gDataAntiProtonsDCAXYPass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(11));
  gDataAntiProtonsDCAXYPass->SetStats(kFALSE);  
  gDataAntiProtonsDCAXYPass->Add(gDataAntiProtonsDCAXYReject);
  gDataAntiProtonsDCAXYPass->Sumw2();
  gDataAntiProtonsDCAXYPass->Scale(1./gDataAntiProtonsDCAXYPass->Integral(1,gDataAntiProtonsDCAXYPass->GetNbinsX()));
  gDataAntiProtonsDCAXYPass->SetMarkerStyle(1);
  TH1F *gDataAntiProtonsDCAZPass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(13));
  gDataAntiProtonsDCAZPass->SetStats(kFALSE);  
  gDataAntiProtonsDCAZPass->Add(gDataAntiProtonsDCAZReject);
  gDataAntiProtonsDCAZPass->Sumw2();
  gDataAntiProtonsDCAZPass->Scale(1./gDataAntiProtonsDCAZPass->Integral(1,gDataAntiProtonsDCAZPass->GetNbinsX()));
  gDataAntiProtonsDCAZPass->SetMarkerStyle(1);
  TH1F *gDataAntiProtonsNumberOfTPCdEdxPointsPass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(26));
  gDataAntiProtonsNumberOfTPCdEdxPointsPass->SetStats(kFALSE);  
  gDataAntiProtonsNumberOfTPCdEdxPointsPass->Add(gDataAntiProtonsNumberOfTPCdEdxPointsReject);
  gDataAntiProtonsNumberOfTPCdEdxPointsPass->Sumw2();
  gDataAntiProtonsNumberOfTPCdEdxPointsPass->Scale(1./gDataAntiProtonsNumberOfTPCdEdxPointsPass->Integral(1,gDataAntiProtonsNumberOfTPCdEdxPointsPass->GetNbinsX()));
  gDataAntiProtonsNumberOfTPCdEdxPointsPass->SetMarkerStyle(1);


  //__________________________________________________//
  TCanvas *c1 = new TCanvas("c1","ITS clusters",0,0,600,400);
  c1->SetFillColor(10); c1->SetHighLightColor(10);
  c1->Divide(2,1);
  c1->cd(1); gDataProtonsITSClustersPass->Divide(gMCProtonsITSClustersPass);
  gDataProtonsITSClustersPass->SetTitle("Protons");
  gDataProtonsITSClustersPass->GetYaxis()->SetTitle("Data/MC");
  gDataProtonsITSClustersPass->Draw("E"); 
  c1->cd(2); 
  gDataAntiProtonsITSClustersPass->Divide(gMCAntiProtonsITSClustersPass);
  gDataAntiProtonsITSClustersPass->SetTitle("Antiprotons");
  gDataAntiProtonsITSClustersPass->GetYaxis()->SetTitle("Data/MC");
  gDataAntiProtonsITSClustersPass->Draw("E"); 
  c1->SaveAs("NClustersITS.gif");

  TCanvas *c3 = new TCanvas("c3","TPC clusters",0,200,600,400);
  c3->SetFillColor(10); c3->SetHighLightColor(10);
  c3->Divide(2,1);
  c3->cd(1); gDataProtonsTPCClustersPass->Divide(gMCProtonsTPCClustersPass);
  gDataProtonsTPCClustersPass->SetTitle("Protons");
  gDataProtonsTPCClustersPass->GetYaxis()->SetTitle("Data/MC");
  gDataProtonsTPCClustersPass->Draw("E");
  c3->cd(2); 
  gDataAntiProtonsTPCClustersPass->Divide(gMCAntiProtonsTPCClustersPass);
  gDataAntiProtonsTPCClustersPass->SetTitle("Antirotons");
  gDataAntiProtonsTPCClustersPass->GetYaxis()->SetTitle("Data/MC");
  gDataAntiProtonsTPCClustersPass->Draw("E");
  c3->SaveAs("NClustersTPC.gif");

  TCanvas *c4 = new TCanvas("c4","chi^2 per TPC cluster",0,300,600,400);
  c4->SetFillColor(10); c4->SetHighLightColor(10);
  c4->Divide(2,1);
  c4->cd(1); 
  gDataProtonsChi2PerClusterTPCPass->Divide(gMCProtonsChi2PerClusterTPCPass);
  gDataProtonsChi2PerClusterTPCPass->SetTitle("Protons");
  gDataProtonsChi2PerClusterTPCPass->GetYaxis()->SetTitle("Data/MC");
  gDataProtonsChi2PerClusterTPCPass->Draw("E"); 
  c4->cd(2); 
  gDataAntiProtonsChi2PerClusterTPCPass->Divide(gMCAntiProtonsChi2PerClusterTPCPass);
  gDataAntiProtonsChi2PerClusterTPCPass->SetTitle("Antirotons");
  gDataAntiProtonsChi2PerClusterTPCPass->GetYaxis()->SetTitle("Data/MC");
  gDataAntiProtonsChi2PerClusterTPCPass->Draw("E"); 
  c4->SaveAs("Chi2PerTPCCluster.gif");

  if(gMCProtonsExtCov11Pass->GetEntries() != 0) {
    TCanvas *c5 = new TCanvas("c5","Cov11",0,400,600,400);
    c5->SetFillColor(10); c5->SetHighLightColor(10);
    c5->Divide(2,1);
    c5->cd(1); 
    gDataProtonsExtCov11Pass->Divide(gMCProtonsExtCov11Pass);
    gDataProtonsExtCov11Pass->SetTitle("Protons");
    gDataProtonsExtCov11Pass->GetYaxis()->SetTitle("Data/MC");
    gDataProtonsExtCov11Pass->Draw("E"); 
    c5->cd(2); 
    gDataAntiProtonsExtCov11Pass->Divide(gMCAntiProtonsExtCov11Pass);
    gDataAntiProtonsExtCov11Pass->SetTitle("Antiprotons");
    gDataAntiProtonsExtCov11Pass->GetYaxis()->SetTitle("Data/MC");
    gDataAntiProtonsExtCov11Pass->Draw("E"); 
    c5->SaveAs("cov11.gif");
  }

  if(gMCProtonsExtCov22Pass->GetEntries() != 0) {
    TCanvas *c6 = new TCanvas("c6","Cov22",0,500,600,400);
    c6->SetFillColor(10); c6->SetHighLightColor(10);
    c6->Divide(2,1);
    c6->cd(1); 
    gDataProtonsExtCov22Pass->Divide(gMCProtonsExtCov11Pass);
    gDataProtonsExtCov22Pass->SetTitle("Protons");
    gDataProtonsExtCov22Pass->GetYaxis()->SetTitle("Data/MC");
    gDataProtonsExtCov22Pass->Draw("E"); 
    c6->cd(2); 
    gDataAntiProtonsExtCov22Pass->Divide(gMCAntiProtonsExtCov22Pass);
    gDataAntiProtonsExtCov22Pass->SetTitle("Antiprotons");
    gDataAntiProtonsExtCov22Pass->GetYaxis()->SetTitle("Data/MC");
    gDataAntiProtonsExtCov22Pass->Draw("E"); 
    c6->SaveAs("cov22.gif");
  }

  if(gMCProtonsExtCov33Pass->GetEntries() != 0) {
    TCanvas *c7 = new TCanvas("c7","Cov33",600,0,600,400);
    c7->SetFillColor(10); c7->SetHighLightColor(10);
    c7->Divide(2,1);
    c7->cd(1); 
    gDataProtonsExtCov33Pass->Divide(gMCProtonsExtCov33Pass);
    gDataProtonsExtCov33Pass->SetTitle("Protons");
    gDataProtonsExtCov33Pass->GetYaxis()->SetTitle("Data/MC");
    gDataProtonsExtCov33Pass->Draw("E"); 
    c7->cd(2); 
    gDataAntiProtonsExtCov33Pass->Divide(gMCAntiProtonsExtCov33Pass);
    gDataAntiProtonsExtCov33Pass->SetTitle("Antiprotons");
    gDataAntiProtonsExtCov33Pass->GetYaxis()->SetTitle("Data/MC");
    gDataAntiProtonsExtCov33Pass->Draw("E"); 
    c7->SaveAs("cov33.gif");
  }

  if(gMCProtonsExtCov44Pass->GetEntries() != 0) {
    TCanvas *c8 = new TCanvas("c8","Cov44",600,100,600,400);
    c8->SetFillColor(10); c8->SetHighLightColor(10);
    c8->Divide(2,1);
    c8->cd(1); 
    gDataProtonsExtCov44Pass->Divide(gMCProtonsExtCov44Pass);
    gDataProtonsExtCov44Pass->SetTitle("Protons");
    gDataProtonsExtCov44Pass->GetYaxis()->SetTitle("Data/MC");
    gDataProtonsExtCov44Pass->Draw("E"); 
    c8->cd(2); 
    gDataAntiProtonsExtCov44Pass->Divide(gMCAntiProtonsExtCov44Pass);
    gDataAntiProtonsExtCov44Pass->SetTitle("Antiprotons");
    gDataAntiProtonsExtCov44Pass->GetYaxis()->SetTitle("Data/MC");
    gDataAntiProtonsExtCov44Pass->Draw("E"); 
    c8->SaveAs("cov44.gif");
  }

  if(gMCProtonsExtCov55Pass->GetEntries() != 0) {
    TCanvas *c9 = new TCanvas("c9","Cov55",600,200,600,400);
    c9->SetFillColor(10); c9->SetHighLightColor(10);
    c9->Divide(2,1);
    c9->cd(1); 
    gDataProtonsExtCov55Pass->Divide(gMCProtonsExtCov55Pass);
    gDataProtonsExtCov55Pass->SetTitle("Protons");
    gDataProtonsExtCov55Pass->GetYaxis()->SetTitle("Data/MC");
    gDataProtonsExtCov55Pass->Draw("E"); 
    c9->cd(2); 
    gDataAntiProtonsExtCov55Pass->Divide(gMCAntiProtonsExtCov55Pass);
    gDataAntiProtonsExtCov55Pass->SetTitle("Antiprotons");
    gDataAntiProtonsExtCov55Pass->GetYaxis()->SetTitle("Data/MC");
    gDataAntiProtonsExtCov55Pass->Draw("E"); 
    c9->SaveAs("cov55.gif");
  }

  if(gMCProtonsDCAXYPass->GetEntries() != 0) {
    TCanvas *c12 = new TCanvas("c12","dca(xy)",600,500,600,400);
    c12->SetFillColor(10); c12->SetHighLightColor(10);
    c12->Divide(2,1);
    c12->cd(1); 
    gDataProtonsDCAXYPass->Divide(gMCProtonsDCAXYPass);
    gDataProtonsDCAXYPass->SetTitle("Protons");
    gDataProtonsDCAXYPass->GetYaxis()->SetTitle("Data/MC");
    gDataProtonsDCAXYPass->Draw("E"); 
    c12->cd(2); 
    gDataAntiProtonsDCAXYPass->Divide(gMCAntiProtonsDCAXYPass);
    gDataAntiProtonsDCAXYPass->SetTitle("Antiprotons");
    gDataAntiProtonsDCAXYPass->GetYaxis()->SetTitle("Data/MC");
    gDataAntiProtonsDCAXYPass->Draw("E"); 
    c12->SaveAs("dcaXY.gif");
  }

  if(gMCProtonsDCAZPass->GetEntries() != 0) {
    TCanvas *c14 = new TCanvas("c14","dca(z)",1200,100,600,400);
    c14->SetFillColor(10); c14->SetHighLightColor(10);
    c14->Divide(2,1);
    c14->cd(1); 
    gDataProtonsDCAZPass->Divide(gMCProtonsDCAZPass);
    gDataProtonsDCAZPass->SetTitle("Protons");
    gDataProtonsDCAZPass->GetYaxis()->SetTitle("Data/MC");
    gDataProtonsDCAZPass->Draw("E"); 
    c14->cd(2); 
    gDataAntiProtonsDCAZPass->Divide(gMCAntiProtonsDCAZPass);
    gDataAntiProtonsDCAZPass->SetTitle("Antiprotons");
    gDataAntiProtonsDCAZPass->GetYaxis()->SetTitle("Data/MC");
    gDataAntiProtonsDCAZPass->Draw("E"); 
    c14->SaveAs("dcaZ.gif");
  }

  TCanvas *c16 = new TCanvas("c16","TPC clusters (dE/dx)",1200,300,600,400);
  c16->SetFillColor(10); c16->SetHighLightColor(10);
  c16->Divide(2,1);
  c16->cd(1); 
  gDataProtonsNumberOfTPCdEdxPointsPass->Divide(gMCProtonsNumberOfTPCdEdxPointsPass);
  gDataProtonsNumberOfTPCdEdxPointsPass->SetTitle("Protons");
  gDataProtonsNumberOfTPCdEdxPointsPass->GetYaxis()->SetTitle("Data/MC");
  gDataProtonsNumberOfTPCdEdxPointsPass->Draw("E"); 
  c16->cd(2); 
  gDataAntiProtonsNumberOfTPCdEdxPointsPass->Divide(gMCAntiProtonsNumberOfTPCdEdxPointsPass);
  gDataAntiProtonsNumberOfTPCdEdxPointsPass->SetTitle("Antiprotons");
  gDataAntiProtonsNumberOfTPCdEdxPointsPass->GetYaxis()->SetTitle("Data/MC");
  gDataAntiProtonsNumberOfTPCdEdxPointsPass->Draw("E"); 
  c16->SaveAs("NClustersTPCdEdx.gif");
}

void drawDCAPlots(const char* fileName) {
  //Function to draw the DCA plots for protons and antiprotons
  TString histoTitle, newTitle;
  Int_t iCounter = 0;
  Double_t etaMin = 0.0, etaMax = 0.0, etaStep = 0.0;
  Double_t ptMin = 0.45, ptMax = 0.0, ptStep = 0.1;

  TFile *f = TFile::Open(fileName);
  TList *listQA = dynamic_cast<TList *>(f->Get("outputQAList"));
  TList *gListGlobalQA = dynamic_cast<TList *>(listQA->At(0));
  TList *fQA2DList = dynamic_cast<TList *>(gListGlobalQA->At(0));

  //2D dca vs pT - accepted protons & antiprotons
  TH3F *gHistDCAxyEtaPtProtons = dynamic_cast<TH3F *>(fQA2DList->At(14));
  gHistDCAxyEtaPtProtons->SetStats(kFALSE);
  TH3F *gHistDCAzEtaPtProtons = dynamic_cast<TH3F *>(fQA2DList->At(15));
  gHistDCAzEtaPtProtons->SetStats(kFALSE);
  TH3F *gHistDCAxyEtaPtAntiProtons = dynamic_cast<TH3F *>(fQA2DList->At(16));
  gHistDCAxyEtaPtAntiProtons->SetStats(kFALSE);
  TH3F *gHistDCAzEtaPtAntiProtons = dynamic_cast<TH3F *>(fQA2DList->At(17));
  gHistDCAzEtaPtAntiProtons->SetStats(kFALSE);

  //Protons dcaXY
  ptMin = 0.45, ptMax = 0.0, ptStep = 0.1;
  TH1D *gHistProtonsDCAxy[200];
  //ptStep = (gHistDCAxyEtaPtProtons->GetYaxis()->GetXmax() - 
  //gHistDCAxyEtaPtProtons->GetYaxis()->GetXmin())/gHistDCAxyEtaPtProtons->GetNbinsY();
  for(Int_t iBinY = 1; iBinY <= gHistDCAxyEtaPtProtons->GetNbinsY(); iBinY++) {
    //ptMin = gHistDCAxyEtaPtProtons->GetYaxis()->GetBinCenter(iBinY) - ptStep/2.;
    ptMax = ptMin + ptStep;
    //Printf("Pt: %lf - %lf",ptMin,ptMax);
    histoTitle = "gHistProtonsDCAxy_etaBin"; //histoTitle += iBinX;
    histoTitle += "_ptBin"; histoTitle += iBinY;
    newTitle = "(Protons) "; newTitle += ptMin; newTitle += " < Pt < ";
    newTitle += ptMax; newTitle += "GeV/c";
    ptMin += ptStep;

    //gHistPrimaryProtonsDCAxy[iCounter] = gDCAListHistograms3D[0]->ProjectionZ(histoTitle.Data(),iBinX,iBinX,iBinY,iBinY,"e");
    gHistProtonsDCAxy[iCounter] = gHistDCAxyEtaPtProtons->ProjectionZ(histoTitle.Data(),1,gHistDCAxyEtaPtProtons->GetNbinsX(),iBinY,iBinY,"e");
    gHistProtonsDCAxy[iCounter]->SetStats(kFALSE);
    gHistProtonsDCAxy[iCounter]->SetMarkerStyle(24);
    gHistProtonsDCAxy[iCounter]->SetTitle(newTitle.Data());
    gHistProtonsDCAxy[iCounter]->GetXaxis()->SetTitle("dca_{(xy)} [cm]");
    gHistProtonsDCAxy[iCounter]->GetYaxis()->SetTitle("Entries");
    iCounter += 1;
  }//loop over y axis

  //Antiprotons dcaXY
  ptMin = 0.45, ptMax = 0.0, ptStep = 0.1;
  iCounter = 0;
  TH1D *gHistAntiProtonsDCAxy[200];
  //ptStep = (gHistDCAxyEtaPtAntiProtons->GetYaxis()->GetXmax() - 
  //gHistDCAxyEtaPtAntiProtons->GetYaxis()->GetXmin())/gHistDCAxyEtaPtAntiProtons->GetNbinsY();
  for(Int_t iBinY = 1; iBinY <= gHistDCAxyEtaPtAntiProtons->GetNbinsY(); iBinY++) {
    //ptMin = gHistDCAxyEtaPtAntiProtons->GetYaxis()->GetBinCenter(iBinY) - ptStep/2.;
    ptMax = ptMin + ptStep;
    //Printf("Pt: %lf - %lf",ptMin,ptMax);
    histoTitle = "gHistAntiProtonsDCAxy_etaBin"; //histoTitle += iBinX;
    histoTitle += "_ptBin"; histoTitle += iBinY;
    newTitle = "(AntiProtons) "; newTitle += ptMin; newTitle += " < Pt < ";
    newTitle += ptMax; newTitle += "GeV/c";
    ptMin += ptStep;

    //gHistPrimaryAntiProtonsDCAxy[iCounter] = gDCAListHistograms3D[0]->ProjectionZ(histoTitle.Data(),iBinX,iBinX,iBinY,iBinY,"e");
    gHistAntiProtonsDCAxy[iCounter] = gHistDCAxyEtaPtAntiProtons->ProjectionZ(histoTitle.Data(),1,gHistDCAxyEtaPtAntiProtons->GetNbinsX(),iBinY,iBinY,"e");
    gHistAntiProtonsDCAxy[iCounter]->SetStats(kFALSE);
    gHistAntiProtonsDCAxy[iCounter]->SetMarkerStyle(20);
    gHistAntiProtonsDCAxy[iCounter]->SetTitle(newTitle.Data());
    gHistAntiProtonsDCAxy[iCounter]->GetXaxis()->SetTitle("dca_{(xy)} [cm]");
    gHistAntiProtonsDCAxy[iCounter]->GetYaxis()->SetTitle("Entries");
    iCounter += 1;
  }//loop over y axis


  //Protons dcaZ
  ptMin = 0.45, ptMax = 0.0, ptStep = 0.1;
  iCounter = 0;
  TH1D *gHistProtonsDCAz[200];
  //ptStep = (gHistDCAzEtaPtProtons->GetYaxis()->GetXmax() - 
  //gHistDCAzEtaPtProtons->GetYaxis()->GetXmin())/gHistDCAzEtaPtProtons->GetNbinsY();
  for(Int_t iBinY = 1; iBinY <= gHistDCAzEtaPtProtons->GetNbinsY(); iBinY++) {
    //ptMin = gHistDCAzEtaPtProtons->GetYaxis()->GetBinCenter(iBinY) - ptStep/2.;
    ptMax = ptMin + ptStep;
    //Printf("Pt: %lf - %lf",ptMin,ptMax);
    histoTitle = "gHistProtonsDCAz_etaBin"; //histoTitle += iBinX;
    histoTitle += "_ptBin"; histoTitle += iBinY;
    newTitle = "(Protons) "; newTitle += ptMin; newTitle += " < Pt < ";
    newTitle += ptMax; newTitle += "GeV/c";
    ptMin += ptStep;

    //gHistPrimaryProtonsDCAz[iCounter] = gDCAListHistograms3D[0]->ProjectionZ(histoTitle.Data(),iBinX,iBinX,iBinY,iBinY,"e");
    gHistProtonsDCAz[iCounter] = gHistDCAzEtaPtProtons->ProjectionZ(histoTitle.Data(),1,gHistDCAzEtaPtProtons->GetNbinsX(),iBinY,iBinY,"e");
    gHistProtonsDCAz[iCounter]->SetStats(kFALSE);
    gHistProtonsDCAz[iCounter]->SetMarkerStyle(24);
    gHistProtonsDCAz[iCounter]->SetTitle(newTitle.Data());
    gHistProtonsDCAz[iCounter]->GetXaxis()->SetTitle("dca_{(z)} [cm]");
    gHistProtonsDCAz[iCounter]->GetYaxis()->SetTitle("Entries");
    iCounter += 1;
  }//loop over y axis

  //Antiprotons dcaZ
  ptMin = 0.45, ptMax = 0.0, ptStep = 0.1;
  iCounter = 0;
  TH1D *gHistAntiProtonsDCAz[200];
  //ptStep = (gHistDCAzEtaPtAntiProtons->GetYaxis()->GetXmax() - 
  //gHistDCAzEtaPtAntiProtons->GetYaxis()->GetXmin())/gHistDCAzEtaPtAntiProtons->GetNbinsY();
  for(Int_t iBinY = 1; iBinY <= gHistDCAzEtaPtAntiProtons->GetNbinsY(); iBinY++) {
    //ptMin = gHistDCAzEtaPtAntiProtons->GetYaxis()->GetBinCenter(iBinY) - ptStep/2.;
    ptMax = ptMin + ptStep;
    //Printf("Pt: %lf - %lf",ptMin,ptMax);
    histoTitle = "gHistAntiProtonsDCAz_etaBin"; //histoTitle += iBinX;
    histoTitle += "_ptBin"; histoTitle += iBinY;
    newTitle = "(AntiProtons) "; newTitle += ptMin; newTitle += " < Pt < ";
    newTitle += ptMax; newTitle += "GeV/c";
    ptMin += ptStep;

    //gHistPrimaryAntiProtonsDCAz[iCounter] = gDCAListHistograms3D[0]->ProjectionZ(histoTitle.Data(),iBinX,iBinX,iBinY,iBinY,"e");
    gHistAntiProtonsDCAz[iCounter] = gHistDCAzEtaPtAntiProtons->ProjectionZ(histoTitle.Data(),1,gHistDCAzEtaPtAntiProtons->GetNbinsX(),iBinY,iBinY,"e");
    gHistAntiProtonsDCAz[iCounter]->SetStats(kFALSE);
    gHistAntiProtonsDCAz[iCounter]->SetMarkerStyle(20);
    gHistAntiProtonsDCAz[iCounter]->SetTitle(newTitle.Data());
    gHistAntiProtonsDCAz[iCounter]->GetXaxis()->SetTitle("dca_{(z)} [cm]");
    gHistAntiProtonsDCAz[iCounter]->GetYaxis()->SetTitle("Entries");
    iCounter += 1;
  }//loop over y axis



  //==========================================================//
  TCanvas *c1 = new TCanvas("c1","DCA(3D)",0,0,600,600);
  c1->SetFillColor(10); c1->SetHighLightColor(10); c1->Divide(2,2);
  c1->cd(1); gHistDCAxyEtaPtProtons->Draw("box");
  c1->cd(2); gHistDCAzEtaPtProtons->Draw("box");
  c1->cd(3); gHistDCAxyEtaPtAntiProtons->Draw("box");
  c1->cd(4); gHistDCAzEtaPtAntiProtons->Draw("box");

  //==========================================================//
  TCanvas *c2 = new TCanvas("c2","DCA(xy)",100,100,900,600);
  c2->SetFillColor(10); c2->SetHighLightColor(10); c2->Divide(3,2);
  c2->cd(1)->SetLogy(); gHistProtonsDCAxy[0]->Draw("E");
  gHistAntiProtonsDCAxy[0]->Draw("ESAME");
  c2->cd(2)->SetLogy(); gHistProtonsDCAxy[1]->Draw("E");
  gHistAntiProtonsDCAxy[1]->Draw("ESAME");
  c2->cd(3)->SetLogy(); gHistProtonsDCAxy[2]->Draw("E");
  gHistAntiProtonsDCAxy[2]->Draw("ESAME");
  c2->cd(4)->SetLogy(); gHistProtonsDCAxy[3]->Draw("E");
  gHistAntiProtonsDCAxy[3]->Draw("ESAME");
  c2->cd(5)->SetLogy(); gHistProtonsDCAxy[4]->Draw("E");
  gHistAntiProtonsDCAxy[4]->Draw("ESAME");
  c2->cd(6)->SetLogy(); gHistProtonsDCAxy[5]->Draw("E");
  gHistAntiProtonsDCAxy[5]->Draw("ESAME");

  TFile *fout = TFile::Open("test.root","recreate");
  gHistProtonsDCAxy[0]->Write();
  gHistProtonsDCAxy[1]->Write();
  gHistProtonsDCAxy[2]->Write();
  gHistProtonsDCAxy[3]->Write();
  gHistProtonsDCAxy[4]->Write();
  gHistProtonsDCAxy[5]->Write();
  gHistAntiProtonsDCAxy[0]->Write();
  gHistAntiProtonsDCAxy[1]->Write();
  gHistAntiProtonsDCAxy[2]->Write();
  gHistAntiProtonsDCAxy[3]->Write();
  gHistAntiProtonsDCAxy[4]->Write();
  gHistAntiProtonsDCAxy[5]->Write();
  gHistProtonsDCAz[0]->Write();
  gHistProtonsDCAz[1]->Write();
  gHistProtonsDCAz[2]->Write();
  gHistProtonsDCAz[3]->Write();
  gHistProtonsDCAz[4]->Write();
  gHistProtonsDCAz[5]->Write();
  gHistAntiProtonsDCAz[0]->Write();
  gHistAntiProtonsDCAz[1]->Write();
  gHistAntiProtonsDCAz[2]->Write();
  gHistAntiProtonsDCAz[3]->Write();
  gHistAntiProtonsDCAz[4]->Write();
  gHistAntiProtonsDCAz[5]->Write();
  fout->Close();
  //==========================================================//
  TCanvas *c3 = new TCanvas("c3","DCA(z)",200,200,900,600);
  c3->SetFillColor(10); c3->SetHighLightColor(10); c3->Divide(3,2);
  c3->cd(1)->SetLogy(); gHistProtonsDCAz[0]->Draw("E");
  gHistAntiProtonsDCAz[0]->Draw("ESAME");
  c3->cd(2)->SetLogy(); gHistProtonsDCAz[1]->Draw("E");
  gHistAntiProtonsDCAz[1]->Draw("ESAME");
  c3->cd(3)->SetLogy(); gHistProtonsDCAz[2]->Draw("E");
  gHistAntiProtonsDCAz[2]->Draw("ESAME");
  c3->cd(4)->SetLogy(); gHistProtonsDCAz[3]->Draw("E");
  gHistAntiProtonsDCAz[3]->Draw("ESAME");
  c3->cd(5)->SetLogy(); gHistProtonsDCAz[4]->Draw("E");
  gHistAntiProtonsDCAz[4]->Draw("ESAME");
  c3->cd(6)->SetLogy(); gHistProtonsDCAz[5]->Draw("E");
  gHistAntiProtonsDCAz[5]->Draw("ESAME");

}

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