#include "Minuit2/FCNBase.h" #include "Minuit2/MnStrategy.h" #include "Minuit2/MnMigrad.h" #include "Minuit2/MnUserParameters.h" #include "Minuit2/FunctionMinimum.h" #include using std::cout; using std::endl; using namespace ROOT::Minuit2; class myFunc : public FCNBase { public: virtual double operator() (const std::vector & x) const {cout << "!"<< endl;return 1;} virtual double Up() const { return 0.5; } }; void testscript() { MnStrategy Strategy(0); MnUserParameters upar; upar.Add("par0", 0, 0.1); myFunc Fcn; MnMigrad Minimizer(Fcn, upar, Strategy); FunctionMinimum Minimum = Minimizer(); cout << Minimizer.Params()[0] << endl; }