10 #ifndef ROOT_Minuit2_MnFumiliMinimize
11 #define ROOT_Minuit2_MnFumiliMinimize
38 class MnFumiliMinimize :
public MnApplication {
43 MnFumiliMinimize(
const FumiliFCNBase& fcn,
const std::vector<double>& par,
const std::vector<double>& err,
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par,err), MnStrategy(stra)), fMinimizer(FumiliMinimizer()), fFCN(fcn) {}
46 MnFumiliMinimize(
const FumiliFCNBase& 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(FumiliMinimizer()), fFCN(fcn) {}
49 MnFumiliMinimize(
const FumiliFCNBase& fcn,
const std::vector<double>& par,
const MnUserCovariance& cov,
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par, cov), MnStrategy(stra)), fMinimizer(FumiliMinimizer()), fFCN(fcn) {}
52 MnFumiliMinimize(
const FumiliFCNBase& fcn,
const MnUserParameters& par,
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par), MnStrategy(stra)), fMinimizer(FumiliMinimizer()), fFCN(fcn) {}
55 MnFumiliMinimize(
const FumiliFCNBase& fcn,
const MnUserParameters& par,
const MnUserCovariance& cov,
unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par, cov), MnStrategy(stra)), fMinimizer(FumiliMinimizer()), fFCN(fcn) {}
58 MnFumiliMinimize(
const FumiliFCNBase& fcn,
const MnUserParameterState& par,
const MnStrategy& str) : MnApplication(fcn, MnUserParameterState(par), str), fMinimizer(FumiliMinimizer()), fFCN(fcn) {}
60 MnFumiliMinimize(
const MnFumiliMinimize& migr) : MnApplication(migr.Fcnbase(), migr.State(), migr.Strategy(), migr.NumOfCalls()), fMinimizer(migr.fMinimizer), fFCN(migr.Fcnbase()) {}
62 virtual ~MnFumiliMinimize() { }
64 FumiliMinimizer& Minimizer() {
return fMinimizer;}
65 const FumiliMinimizer& Minimizer()
const {
return fMinimizer;}
67 const FumiliFCNBase & Fcnbase()
const {
return fFCN; }
71 virtual FunctionMinimum operator()(
unsigned int = 0,
double = 0.1);
76 FumiliMinimizer fMinimizer;
77 const FumiliFCNBase & fFCN;
82 MnFumiliMinimize& operator=(
const MnFumiliMinimize&) {
return *
this;}
89 #endif // ROOT_Minuit2_MnFumiliMinimize