Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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;
    };
}