Quad1FMain.cxx

Go to the documentation of this file.
00001 // @(#)root/minuit2:$Id: Quad1FMain.cxx 20880 2007-11-19 11:23:41Z rdm $
00002 // Authors: M. Winkler, F. James, L. Moneta, A. Zsenei   2003-2005  
00003 
00004 /**********************************************************************
00005  *                                                                    *
00006  * Copyright (c) 2005 LCG ROOT Math team,  CERN/PH-SFT                *
00007  *                                                                    *
00008  **********************************************************************/
00009 
00010 #include "Quad1F.h"
00011 #include "Minuit2/FunctionMinimum.h"
00012 #include "Minuit2/MnPrint.h"
00013 #include "Minuit2/VariableMetricMinimizer.h"
00014 #include "Minuit2/MnMigrad.h"
00015 #include "Minuit2/MnMinos.h"
00016 
00017 using namespace ROOT::Minuit2;
00018 
00019 int main() {
00020 
00021   {
00022     //test constructor
00023     {
00024       Quad1F fcn;
00025       MnUserParameters upar;
00026       upar.Add("x", 1., 0.1);
00027       MnMigrad migrad(fcn, upar);
00028       FunctionMinimum min = migrad();
00029       std::cout<<"min= "<<min<<std::endl;
00030     }
00031     {
00032       // using VariableMetricMinimizer, analytical derivatives
00033       Quad1F fcn;
00034       std::vector<double> par(1, 1.);
00035       std::vector<double> err(1, 0.1);
00036       VariableMetricMinimizer mini;
00037       FunctionMinimum min = mini.Minimize(fcn, par, err);
00038       std::cout<<"min= "<<min<<std::endl;
00039     }
00040     {
00041       // test Minos for one Parameter
00042       Quad1F fcn;
00043       std::vector<double> par(1, 1.);
00044       std::vector<double> err(1, 0.1);
00045       VariableMetricMinimizer mini;
00046       FunctionMinimum min = mini.Minimize(fcn, par, err);
00047       MnMinos Minos(fcn, min);
00048       std::pair<double,double> e0 = Minos(0);
00049       std::cout<<"par0: "<<min.UserState().Value(unsigned(0))<<" "<<e0.first<<" "<<e0.second<<std::endl;
00050       fcn.SetErrorDef(4.);
00051       MnMinos minos2(fcn, min);
00052       std::pair<double,double> e02 = minos2(0);
00053       std::cout<<"par0: "<<min.UserState().Value(unsigned(0))<<" "<<e02.first<<" "<<e02.second<<std::endl;
00054     }
00055 
00056   }
00057 
00058   return 0;
00059 }

Generated on Tue Jul 5 14:37:13 2011 for ROOT_528-00b_version by  doxygen 1.5.1