9 #include <Math/Minimizer.h>
10 #include <Math/Factory.h>
11 #include <Math/Functor.h>
22 ROOT::Math::Minimizer *minimizer = ROOT::Math::Factory::CreateMinimizer(
"Minuit",
"Migrad");
24 minimizer->SetMaxFunctionCalls(10000);
25 minimizer->SetMaxIterations(1000);
26 minimizer->SetTolerance(0.01);
30 minimizer->SetFunction(fwrap);
31 minimizer->SetVariable(0,
"S1", S1_start, 0.1);
32 minimizer->SetVariable(1,
"S2", S2_start, 0.1);
33 minimizer->SetVariable(2,
"S3", S3_start, 0.1);
35 minimizer->Minimize();
37 const double *minimum = minimizer->X();
48 const double S1 = Svec[0];
49 const double S2 = Svec[1];
50 const double S3 = Svec[2];
52 double Func = 3./2.*S1*S1*S1*S1 + 3.*S1*S1*S1 - 5.*S1 + S2*S2;
57 return Func + TraceMn2;