23 : fFCN(fcn), fState(state), fStrategy(stra), fNumCall(nfcn), fUseGrad(false)
30 : fFCN(fcn), fState(state), fStrategy(stra), fNumCall(nfcn), fUseGrad(true)
43 maxfcn = 200 + 100 * npar + 5 * npar * npar;
54 const std::vector<ROOT::Minuit2::MinimumState> &iterationStates = min.
States();
55 print.
Debug(
"State resulting from Migrad after", iterationStates.size(),
"iterations:",
fState);
57 print.
Debug([&](std::ostream &os) {
58 for (
unsigned int i = 0; i < iterationStates.size(); ++i) {
61 os <<
"\n----------> Iteration " << i <<
'\n';
62 int pr = os.precision(18);
63 os <<
" FVAL = " << st.
Fval() <<
" Edm = " << st.
Edm() <<
" Nfcn = " << st.
NFcn() <<
'\n';
65 os <<
" Error matrix change = " << st.
Error().
Dcovar() <<
'\n';
66 os <<
" Internal parameters : ";
67 for (
int j = 0; j < st.
size(); ++j)
68 os <<
" p" << j <<
" = " << st.
Vec()(j);
Interface (abstract class) defining the function to be minimized, which has to be implemented by the ...
Extension of the FCNBase for providing the analytical Gradient of the function.
class holding the full result of the minimization; both internal and external (MnUserParameterState) ...
const std::vector< ROOT::Minuit2::MinimumState > & States() const
const MnUserParameterState & UserState() const
MinimumState keeps the information (position, Gradient, 2nd deriv, etc) after one minimization step (...
const MinimumError & Error() const
const MnAlgebraicVector & Vec() const
class for the individual Minuit Parameter with Name and number; contains the input numbers for the mi...
void SetError(unsigned int, double)
void SetPrecision(double)
MnUserParameterState fState
double Int2ext(unsigned int, double) const
void Add(const char *Name, double val, double err)
std::vector< double > Errors() const
void RemoveLimits(unsigned int)
double Value(unsigned int) const
const std::vector< ROOT::Minuit2::MinuitParameter > & MinuitParameters() const
virtual ModularFunctionMinimizer & Minimizer()=0
unsigned int ExtOfInt(unsigned int) const
unsigned int Index(const char *) const
unsigned int IntOfExt(unsigned int) const
virtual FunctionMinimum operator()(unsigned int maxfcn=0, double tolerance=0.1)
Minimize the function.
virtual const FCNBase & Fcnbase() const
double Ext2int(unsigned int, double) const
const MinuitParameter & Parameter(unsigned int i) const
void Release(unsigned int)
MnApplication(const FCNBase &fcn, const MnUserParameterState &state, const MnStrategy &stra, unsigned int nfcn=0)
constructor from non-gradient functions
const char * Name(unsigned int) const
std::vector< double > Params() const
void SetLimits(unsigned int, double, double)
double Error(unsigned int) const
void SetValue(unsigned int, double)
unsigned int VariableParameters() const
void Debug(const Ts &... args)
API class for defining three levels of strategies: low (0), medium (1), high (>=2); acts on: Migrad (...
class which holds the external user and/or internal Minuit representation of the parameters and error...
void SetLimits(unsigned int, double, double)
double Value(unsigned int) const
double Error(unsigned int) const
void RemoveLimits(unsigned int)
unsigned int Index(const std::string &) const
double Int2ext(unsigned int, double) const
void Release(unsigned int)
unsigned int VariableParameters() const
const MinuitParameter & Parameter(unsigned int i) const
double Ext2int(unsigned int, double) const
void SetValue(unsigned int, double)
void Add(const std::string &name, double val, double err)
unsigned int ExtOfInt(unsigned int) const
const char * Name(unsigned int) const
const std::vector< ROOT::Minuit2::MinuitParameter > & MinuitParameters() const
facade: forward interface of MnUserParameters and MnUserTransformation
void SetPrecision(double eps)
unsigned int IntOfExt(unsigned int) const
void SetError(unsigned int, double)
std::vector< double > Errors() const
std::vector< double > Params() const
virtual FunctionMinimum Minimize(const FCNBase &, const std::vector< double > &, const std::vector< double > &, unsigned int stra=1, unsigned int maxfcn=0, double toler=0.1) const
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...