10 #ifndef ROOT_Minuit2_MnMigrad
11 #define ROOT_Minuit2_MnMigrad
31 class MnMigrad :
public MnApplication {
36 MnMigrad(
const FCNBase& fcn,
const std::vector<double>& par,
const std::vector<double>& err,
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par,err), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
39 MnMigrad(
const FCNBase& fcn,
const std::vector<double>& par,
unsigned int nrow,
const std::vector<double>& cov,
unsigned int stra = 1 ) : MnApplication(fcn, MnUserParameterState(par, cov, nrow), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
42 MnMigrad(
const FCNBase& fcn,
const std::vector<double>& par,
const MnUserCovariance& cov,
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par, cov), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
45 MnMigrad(
const FCNBase& fcn,
const MnUserParameters& par,
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
48 MnMigrad(
const FCNBase& fcn,
const MnUserParameters& par,
const MnUserCovariance& cov,
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par, cov), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
51 MnMigrad(
const FCNBase& fcn,
const MnUserParameterState& par,
const MnStrategy& str) : MnApplication(fcn, MnUserParameterState(par), str), fMinimizer(VariableMetricMinimizer()) {}
56 MnMigrad(
const FCNGradientBase& fcn,
const std::vector<double>& par,
const std::vector<double>& err,
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par,err), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
59 MnMigrad(
const FCNGradientBase& fcn,
const std::vector<double>& par,
unsigned int nrow,
const std::vector<double>& cov,
unsigned int stra = 1 ) : MnApplication(fcn, MnUserParameterState(par, cov, nrow), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
62 MnMigrad(
const FCNGradientBase& fcn,
const std::vector<double>& par,
const MnUserCovariance& cov,
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par, cov), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
65 MnMigrad(
const FCNGradientBase& fcn,
const MnUserParameters& par,
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
68 MnMigrad(
const FCNGradientBase& fcn,
const MnUserParameters& par,
const MnUserCovariance& cov,
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par, cov), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
71 MnMigrad(
const FCNGradientBase& fcn,
const MnUserParameterState& par,
const MnStrategy& str) : MnApplication(fcn, MnUserParameterState(par), str), fMinimizer(VariableMetricMinimizer()) {}
73 MnMigrad(
const MnMigrad& migr) : MnApplication(migr.Fcnbase(), migr.State(), migr.Strategy(), migr.NumOfCalls()), fMinimizer(migr.fMinimizer) {}
77 ModularFunctionMinimizer& Minimizer() {
return fMinimizer;}
78 const ModularFunctionMinimizer& Minimizer()
const {
return fMinimizer;}
82 VariableMetricMinimizer fMinimizer;
87 MnMigrad& operator=(
const MnMigrad&) {
return *
this;}
94 #endif // ROOT_Minuit2_MnMigrad