/* gSystem->Load("libMathMore");*/ ROOT::Math::MathMoreLibrary::Load(); int n=100; double a=-5.; double b=5.; TF1* pdf = new TF1("pdf", "ROOT::Math::tdistribution_pdf(x,3.0)", a,b); TF1* cum = new TF1("cum", "ROOT::Math::tdistribution_cdf(x,3.0)", a,b); TH1D* quant = new TH1D("quant", "", 9, 0, 0.9); for(int i=1; i < 10; i++) quant->Fill((i-0.5)/10.0, ROOT::Math::tdistribution_quantile((1.0*i)/10, 3.0 ) ); double xx[10]; xx[0] = -1.5; for(int i=1; i<9; i++) xx[i]= quant->GetBinContent(i); xx[9] = 1.5; TH1D* pdfq[10]; for(int i=0; i < 9; i++) { int nbin = n * (xx[i+1]-xx[i])/3.0 + 1.0; TString name = "pdf"; name += i; pdfq[i]= new TH1D(name, "", nbin,xx[i],xx[i+1] ); for(int j=1; jSetBinContent(j, ROOT::Math::tdistribution_pdf(x,3)); } } TCanvas *Canvas = new TCanvas("DistCanvas", "Student Distribution graphs", 10, 10, 800, 700); pdf->SetTitle("Student t distribution function"); cum->SetTitle("Cumulative for Student t"); quant->SetTitle("10-quantiles for Student t"); Canvas->Divide(2, 2); Canvas->cd(1); pdf->SetLineWidth(2); pdf->DrawCopy(); Canvas->cd(2); cum->SetLineWidth(2); cum->SetLineColor(kRed); cum->Draw(); Canvas->cd(3); quant->Draw(); quant->SetLineWidth(2); quant->SetLineColor(kBlue); quant->SetStats(false); Canvas->cd(4); pdfq[0]->SetTitle("Student t & its quantiles"); pdf->SetTitle(""); pdf->Draw(); pdfq[0]->SetTitle("Student t & its quantiles"); for(int i=0; i < 9; i++) { pdfq[i]->SetStats(false); pdfq[i]->SetFillColor(i+1); pdfq[i]->Draw("same"); } Canvas->Modified(); Canvas->cd(); gROOT->GetListOfCanvases()->Draw()