#include "TMinuit.h" void trial_fit(){ TVirtualFitter::SetDefaultFitter("Minuit"); double x[10]; double y[10]; double ey[10]; TCanvas* c1 = new TCanvas(); TRandom3* r = new TRandom3(); /* for (int i=0; i<10;i++){ x[i]=i; y[i]=r->Poisson(12*i); ey[i]=TMath::Sqrt(y[i]); } TGraphErrors* gr = new TGraphErrors(10,x,y,0,ey); gr->Fit("pol1"); gr->Draw(); c1->Update(); */ TH1D* h1 = new TH1D("h1","h1",10,0,10); for (int i=0; i<10;i++){ h1->Fill(i,r->Poisson(12*i)); } h1->Sumw2(); // h1->Draw(); h1->Fit("pol1"); c1->Update(); TCanvas* c2 = new TCanvas(); //gMinuit->SetErrorDef(9); TGraph *gr1 = (TGraph*)gMinuit->Contour(40,0,1); gr1->Draw("alp"); //gMinuit->SetErrorDef(4); //TGraph *gr2 = (TGraph*)gMinuit->Contour(80,0,1); //gr2->Draw("lp"); //gMinuit->SetErrorDef(1); //TGraph *gr3 = (TGraph*)gMinuit->Contour(120,0,1); //gr3->Draw("lp"); }