Logo ROOT   6.16/01
Reference Guide
MnFumiliMinimize.h
Go to the documentation of this file.
1// @(#)root/minuit2:$Id$
2// Authors: M. Winkler, F. James, L. Moneta, A. Zsenei 2003-2005
3
4/**********************************************************************
5 * *
6 * Copyright (c) 2005 LCG ROOT Math team, CERN/PH-SFT *
7 * *
8 **********************************************************************/
9
10#ifndef ROOT_Minuit2_MnFumiliMinimize
11#define ROOT_Minuit2_MnFumiliMinimize
12
16
17namespace ROOT {
18
19 namespace Minuit2 {
20
21
22// class FumiliFCNBase;
23// class FCNBase;
24
25
26//___________________________________________________________________________
27/**
28
29
30API class for minimization using Fumili technology;
31allows for user interaction: set/change parameters, do minimization,
32change parameters, re-do minimization etc.;
33also used by MnMinos and MnContours;
34
35
36 */
37
39
40public:
41
42 /// construct from FumiliFCNBase + std::vector for parameters and errors
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) {}
44
45 /// construct from FumiliFCNBase + std::vector for parameters and covariance
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) {}
47
48 /// construct from FumiliFCNBase + std::vector for parameters and MnUserCovariance
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) {}
50
51 /// construct from FumiliFCNBase + MnUserParameters
52 MnFumiliMinimize(const FumiliFCNBase& fcn, const MnUserParameters& par, unsigned int stra = 1) : MnApplication(fcn, MnUserParameterState(par), MnStrategy(stra)), fMinimizer(FumiliMinimizer()), fFCN(fcn) {}
53
54 /// construct from FumiliFCNBase + MnUserParameters + MnUserCovariance
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) {}
56
57 /// construct from FumiliFCNBase + MnUserParameterState + MnStrategy
59
60 MnFumiliMinimize(const MnFumiliMinimize& migr) : MnApplication(migr.Fcnbase(), migr.State(), migr.Strategy(), migr.NumOfCalls()), fMinimizer(migr.fMinimizer), fFCN(migr.Fcnbase()) {}
61
62 virtual ~MnFumiliMinimize() { }
63
65 const FumiliMinimizer& Minimizer() const {return fMinimizer;}
66
67 const FumiliFCNBase & Fcnbase() const { return fFCN; }
68
69
70 /// overwrite Minimize to use FumiliFCNBase
71 virtual FunctionMinimum operator()(unsigned int = 0, double = 0.1);
72
73
74private:
75
78
79private:
80
81 //forbidden assignment of migrad (const FumiliFCNBase& = )
83};
84
85 } // namespace Minuit2
86
87} // namespace ROOT
88
89#endif // ROOT_Minuit2_MnFumiliMinimize
Extension of the FCNBase for the Fumili method.
Definition: FumiliFCNBase.h:47
Instantiates the seed generator and Minimum builder for the Fumili minimization method.
class holding the full result of the minimization; both internal and external (MnUserParameterState) ...
application interface class for minimizers (migrad, simplex, Minimize, Scan) User normally instantiat...
Definition: MnApplication.h:37
unsigned int NumOfCalls() const
Definition: MnApplication.h:70
const MnStrategy & Strategy() const
Definition: MnApplication.h:69
const MnUserParameterState & State() const
Definition: MnApplication.h:65
API class for minimization using Fumili technology; allows for user interaction: set/change parameter...
MnFumiliMinimize(const MnFumiliMinimize &migr)
MnFumiliMinimize(const FumiliFCNBase &fcn, const std::vector< double > &par, const std::vector< double > &err, unsigned int stra=1)
construct from FumiliFCNBase + std::vector for parameters and errors
MnFumiliMinimize(const FumiliFCNBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov, unsigned int stra=1)
construct from FumiliFCNBase + MnUserParameters + MnUserCovariance
virtual FunctionMinimum operator()(unsigned int=0, double=0.1)
overwrite Minimize to use FumiliFCNBase
const FumiliFCNBase & Fcnbase() const
MnFumiliMinimize(const FumiliFCNBase &fcn, const std::vector< double > &par, const MnUserCovariance &cov, unsigned int stra=1)
construct from FumiliFCNBase + std::vector for parameters and MnUserCovariance
const FumiliMinimizer & Minimizer() const
MnFumiliMinimize & operator=(const MnFumiliMinimize &)
MnFumiliMinimize(const FumiliFCNBase &fcn, const std::vector< double > &par, unsigned int nrow, const std::vector< double > &cov, unsigned int stra=1)
construct from FumiliFCNBase + std::vector for parameters and covariance
MnFumiliMinimize(const FumiliFCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str)
construct from FumiliFCNBase + MnUserParameterState + MnStrategy
MnFumiliMinimize(const FumiliFCNBase &fcn, const MnUserParameters &par, unsigned int stra=1)
construct from FumiliFCNBase + MnUserParameters
API class for defining three levels of strategies: low (0), medium (1), high (>=2); acts on: Migrad (...
Definition: MnStrategy.h:27
Class containing the covariance matrix data represented as a vector of size n*(n+1)/2 Used to hide in...
class which holds the external user and/or internal Minuit representation of the parameters and error...
API class for the user interaction with the parameters; serves as input to the minimizer as well as o...
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21