void minuit2FitBench2D(int n = 100000) { TH1::AddDirectory(kFALSE); TCanvas *c1 = new TCanvas("c1","Fitting Demo",10,10,900,900); c1->Divide(2,2); // create a TF1 with the range from 0 to 3 and 6 parameters fitFcn = new TF2("fitFcn",fitFunction,-10,10,-10,10,5); //fitFcn->SetNpx(200); gStyle->SetOptFit(); gStyle->SetStatY(0.6); histo = new TH2D("h2","2D Gauss",100,-10,10,100,-10,10); fillHisto(n); int npass=0; //with Minuit c1->cd(1); DoFit("Minuit",gPad,npass); //with Fumili c1->cd(2); DoFit("Fumili",gPad,npass); //with Minuit2 c1->cd(3); DoFit("Minuit2",gPad,npass); //with Fumili2 c1->cd(4); DoFit("Fumili2",gPad,npass); }
void CGraphPanel::OnRBMenuCommand(UINT command_id) { LANGID dwLanguageID = GetSystemLanguagePrimaryID(); switch (command_id) { case GRAPH_RBMC_TOGGLE_POINT_MARKS: { ToggleGraphFlag(GRAPH_SQUAREPOINTS, TRUE); }; break; case GRAPH_RBMC_TRACE_MOUSE: { ToggleGraphFlag(GRAPH_SHOW_TOOLTIP, FALSE); }; break; case GRAPH_RBMC_SHOW_AXIS: { ToggleGraphFlag(GRAPH_DRAW_AXIS, TRUE); }; break; case GRAPH_RBMC_TOGGLE_SCATTER_MODE: { ToggleGraphFlag(GRAPH_GRAPH_SCATTER, TRUE); }; break; case GRAPH_RBMC_ZOOM_TOOL: { if (!bZoomActive) { bZoomActive = TRUE; zoomrect->m_rect.left = 5; zoomrect->m_rect.top = 5; zoomrect->m_rect.right = 50; zoomrect->m_rect.bottom = 50; } else { bZoomActive = FALSE; }; CRect r; zoomrect->GetTrueRect(&r); InvalidateRect(&r, FALSE); }; break; case GRAPH_RBMC_APPLY_ZOOM: { ApplyZoom(); }; break; case GRAPH_RBMC_FIT_WIDTH: case GRAPH_RBMC_FIT_HEIGHT: case GRAPH_RBMC_FIT_PAGE: { DoFit(command_id); }; break; case GRAPH_RBMC_VIEW_PROPERTIES: { CString szPropSheetName = _T(""); switch(dwLanguageID) { case LANG_SPANISH: szPropSheetName = _T("Propiedades"); break; default: szPropSheetName = _T("Properties"); break; } CPropertySheet prop_sheet((szPropSheetName), this); EnumerateParentWindows(AppendPropertyPageForAllParents, (void*)&prop_sheet); UINT result = prop_sheet.DoModal(); EnumerateParentWindows(ReleasePropertyPageForAllParents, (void*)result); if (result == IDOK) { CGraphWnd* main_wnd = get_main_graph_window(); main_wnd->UpdateWindows(GRAPH_WUV_ALL); }; }; break; }; }