diff --git a/test/TestFitSplineToTH1.cc b/test/TestFitSplineToTH1.cc
index 732bb7b..77d11f7 100644
--- a/test/TestFitSplineToTH1.cc
+++ b/test/TestFitSplineToTH1.cc
@@ -1,35 +1,106 @@
 #include <vector>
+#include <cmath>
 
 #include "TFile.h"
 #include "TH1.h"
+#include "TH1D.h"
 #include "TF1.h"
 #include "TCanvas.h"
+#include "TPad.h"
+#include "TStyle.h"
+#include "TBox.h"
+#include "TLine.h"
 
 #include "Lau1DCubicSpline.hh"
 
 //int main(const int argc, const  char ** argv)
 int main()
 {
-	TFile* dtaFile = TFile::Open("dta-hist.root");
+	TFile* dtaFile = TFile::Open("DTA-hist-PV.root");
 	TH1* dtaHist = dynamic_cast<TH1*>(dtaFile->Get("dta_hist"));
 
-	std::vector<Double_t> dtvals  = {0.,0.5  ,1.,   2.,   3.,   4.,  7.,   10.,  15.};
-	std::vector<Double_t> effvals = {0.,0.01 ,0.022,0.035,0.042,0.05,0.051,0.052,0.055};
+	gStyle->SetOptStat(0);
+
+	std::vector<Double_t> dtvals  = {0.   ,0.25,0.5  ,0.75 ,1.,   2.,   3.,   4.,  7.,   10.,  15.};
+	std::vector<Double_t> effvals = {1e-11,0.01,0.015,0.2  ,0.022,0.035,0.042,0.05,0.051,0.052,0.055};
 	Lau1DCubicSpline* dtEffSpline = nullptr;
 	dtEffSpline = new Lau1DCubicSpline(dtvals,effvals,Lau1DCubicSpline::AkimaSpline,Lau1DCubicSpline::Natural,Lau1DCubicSpline::Natural);
 
 	dtEffSpline->fitToTH1(dtaHist);
 	TF1* tf1 = dtEffSpline->makeTF1();
 
 	TCanvas canvas("canvas","canvas",800,450);
+	TPad* fitPad = new TPad("fitPad","fit",0,0.3,1,1.0);
+	fitPad->SetFillColor(0);
+
+	TPad* ratioPad = new TPad("ratioPad","fit",0,0.05,1,0.3);
+	ratioPad->SetFillColor(0);
+
+	fitPad->Draw();
+	ratioPad->Draw();
+
+	fitPad->cd();
 	dtaHist->Draw();
 	tf1->Draw("SAME");
+
+	TH1D* ratios = new TH1D(*dynamic_cast<TH1D*>(dtaHist));
+	ratios->SetName("ratios");
+	ratios->SetTitle("Ratios of spline/MC;t(ps)");
+
+	std::vector<Int_t> infIndicies;
+
+	for(Int_t i = 1; i <= ratios->GetNbinsX(); ++i)
+	{
+		Double_t t = ratios->GetBinCenter(i);
+		Double_t splineValue = dtEffSpline->evaluate(t);
+
+		Double_t dtaHistVal = dtaHist->GetBinContent(i);
+		Double_t ratio = splineValue/dtaHistVal;
+		if (std::isinf(ratio))
+		{
+			ratio = 0.;
+			infIndicies.push_back(i);
+		}
+
+		ratios->SetBinContent( i, ratio );
+		std::cout << "ratio: " << splineValue/dtaHistVal << std::endl;
+		ratios->SetBinError( i, 0. ); //TODO work out the error
+	}
+
+	ratioPad->cd();
+	ratios->Draw("P*");
+
+	const Double_t yMin = ratios->GetMinimum(0.001)*0.99;
+	const Double_t yMax = ratios->GetMaximum(1000.)*1.01;
+
+	std::cout << yMin << " " << yMax << std::endl;
+
+	ratios->GetYaxis()->SetRangeUser(yMin,yMax);
+
+	for(Int_t i : infIndicies)
+	{
+		TBox* b = new TBox(
+				ratios->GetBinLowEdge(i),
+				yMin,
+				ratios->GetBinWidth(i)+ratios->GetBinLowEdge(i),
+				yMax
+				);
+		b->SetFillColorAlpha(2,0.3);
+		b->Draw();
+	}
+
+	TLine* zeroLine = new TLine(ratios->GetXaxis()->GetXmin(), 1, ratios->GetXaxis()->GetXmax(), 1);
+	zeroLine->SetLineColor(kGray+1);
+	zeroLine->Draw();
+
 	canvas.SaveAs("TF1fitTest.pdf");
 
 	delete dtEffSpline;
 	delete dtaHist;
+	delete ratios;
+	delete zeroLine;
 
 	dtaFile->Close();
 	delete dtaFile;
 	return 0;
 }