{
	/** XMLと、CSVのデータを読み込んだときの、
	 * 読み込み時間の比率
	 */
	gROOT->Reset();

	TCanvas c1("name", "Read time on XML vs CSV Ratio", 200, 10, 600, 600 );
	//TPaveLabel l1(0.3, 0.91, 0.7, 0.99, "abc");
	//l1.Draw();
	c1.SetGrid();
	gStyle->SetOptStat(1001111);
	gStyle->SetOptFit(111);
	gStyle->SetCanvasBorderMode(0);
	gStyle->SetCanvasColor(0);
	gStyle->SetStatColor(0);
	gStyle->SetFrameBorderSize(0);
	gStyle->SetFrameBorderMode(0);

	#include <fstream.h>
	#include <stdio.h>
	#include <math.h>
	ntuple = new TNtuple("name", "title", "no:xml:minxml:maxxml:csv:mincsv:maxcsv:ratio");
	ifstream data("ex2.dat");
	float no,xml,minxml,maxxml,csv,mincsv,maxcsv,ratio;
	Long_t lCounter = 0;
	while( data >> no >> xml >> minxml >> maxxml >> csv >> mincsv >> maxcsv >> ratio ) {
		ntuple->Fill(no, xml, minxml, maxxml,csv,mincsv,maxcsv,ratio);
		lCounter++;
	}
	data.close();
	printf("|%ld|\n", lCounter);
	
	Double_t dwRatio[lCounter+1],dwNo[lCounter+1];
	Double_t dwMinRatio[lCounter+1], dwMaxRatio[lCounter+1];
	ifstream data("ex2.dat");
	lCounter = 0;
	while (data >> no >> xml >> minxml >> maxxml >> csv >> mincsv >> maxcsv >> ratio ) {
		dwRatio[lCounter] = ratio;
		dwNo[lCounter] = no;
		dwMinRatio[lCounter] = ratio - sqrt(ratio);	
		dwMaxRatio[lCounter] = ratio + sqrt(ratio);
		lCounter++;
	}
	data.close();

	gr = new TGraph(lCounter, dwNo, dwRatio );
	//gr = new TGraphAsymmErrors( lCounter, dwNo, dwRatio, 0,0,dwMinRatio, dwMaxRatio);
	gr->SetLineColor(1);
	gr->SetLineWidth(2);
	gr->SetMarkerColor(4);
	gr->SetMarkerStyle(0);
	gr->SetTitle("Xml v.s. CSV Reading Time Ratio");
	gr->GetXaxis()->SetTitle("data record number");
	gr->GetYaxis()->SetTitle("Ratio");
	gr->Draw("AL");

	/** Fitting 
	 *
	 */
	TF1 f1("f1", "[0]*pow(x,4)+[1]*pow(x,3)+[2]*pow(x,2)+[3]*pow(x,1)+[4]*pow(x,0)");
	//TF1 f1("f1", "-10*0.0000000001*x*x*x*x+1.3*0.000001*x*x*x+0.000001*x*x+0.1265*x+4.349");
	//TF1 f1("f1", "pol1");
	f1.SetLineColor(2);
	f1.SetParameters((-10*0.0000000001),(1.3*0.000001),(0),(0.1265),(4.349));
	gr.Fit("f1");
	
	/** 任意の場所にテキストを書き込む*/
	TLatex l;
	l.SetTextAlign(12);
	l.SetTextSize(0.04);
	l.DrawLatex(40, 6, "f(x)=-10#times 10^{-10}x^{4} -1.3#times 10^{-6}x^{3} - 0.13x + 4.35");
	//l.DrawLatex(40, 6, "f(x)=-10#times 10^{-10}x^{4} -1.3#times 10^{-6}x^{3}- 0.01x^{2} + 0.17x + 3.52");
}
