Double_t inclusivePtFitter40NewErr(Double_t *x, Double_t *par) { if (x[0] < 0.4) { TF1::RejectPoint(); return 0.; } Double_t result = par[0] + par[1] * TMath::Exp(par[2] * x[0]) + 1. / (par[3] + par[4] * x[0]) + x[0] / (par[5] + par[6] * x[0]); if (result > 0.) { return result; } else { return 0.; } } void Chi2Test() { // Get histo from file TFile *outFile = new TFile("Chi2Test.root"); outFile->cd(); TH1D *histToFit = (TH1D *)gROOT->FindObject("MCK0sRecFoundsInclusivePt40RebinNewErr"); // Draw histo TCanvas *chi2Canvas = new TCanvas("canv", "Canvas", 0, 0, 1800, 1000); chi2Canvas->Divide(2, 1); chi2Canvas->cd(1); chi2Canvas->cd(1)->SetLogy(); histToFit->Draw(); // Fit TF1 *inclusivePtFit40NewErr = new TF1("InclusivePtFit40NewErr", inclusivePtFitter40NewErr, .4, 20., 7); inclusivePtFit40NewErr->SetParameters(1., 70., -1., .1, .1, .1, .1); inclusivePtFit40NewErr->SetLineColor(4); histToFit->Fit("InclusivePtFit40NewErr", "0", "", 0.45, 17.); inclusivePtFit40NewErr->Draw("SAME"); // Contour chi2Canvas->cd(2); gMinuit->SetErrorDef(4); TGraph *chi2PlotMc2 = (TGraph *)gMinuit->Contour(80, 0, 1); chi2PlotMc2->SetFillColor(42); chi2PlotMc2->Draw("alf"); // gMinuit->SetErrorDef(1); // TGraph *chi2PlotMc1 = (TGraph *)gMinuit->Contour(80, 0, 1); // chi2PlotMc1->SetFillColor(38); // chi2PlotMc1->Draw("lf"); return; }