Logo ROOT  
Reference Guide
MnMinimize.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_MnMinimize
11#define ROOT_Minuit2_MnMinimize
12
15
16#include <vector>
17
18namespace ROOT {
19
20namespace Minuit2 {
21
22class FCNBase;
23
24/** API class for minimization using Variable Metric technology ("MIGRAD");
25 allows for user interaction: set/change parameters, do minimization,
26 change parameters, re-do minimization etc.;
27 also used by MnMinos and MnContours;
28 */
29
30class MnMinimize : public MnApplication {
31
32public:
33 /// construct from FCNBase + std::vector for parameters and errors
34 MnMinimize(const FCNBase &fcn, const std::vector<double> &par, const std::vector<double> &err, unsigned int stra = 1)
36 {
37 }
38
39 /// construct from FCNBase + std::vector for parameters and covariance
40 MnMinimize(const FCNBase &fcn, const std::vector<double> &par, unsigned int nrow, const std::vector<double> &cov,
41 unsigned int stra = 1)
43 {
44 }
45
46 /// construct from FCNBase + std::vector for parameters and MnUserCovariance
47 MnMinimize(const FCNBase &fcn, const std::vector<double> &par, const MnUserCovariance &cov, unsigned int stra = 1)
49 {
50 }
51
52 /// construct from FCNBase + MnUserParameters
53 MnMinimize(const FCNBase &fcn, const MnUserParameters &par, unsigned int stra = 1)
55 {
56 }
57
58 /// construct from FCNBase + MnUserParameters + MnUserCovariance
59 MnMinimize(const FCNBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov, unsigned int stra = 1)
61 {
62 }
63
64 /// construct from FCNBase + MnUserParameterState + MnStrategy
65 MnMinimize(const FCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str)
67 {
68 }
69
70 // interfaces using FCNGradientBase
71
72 /// construct from FCNGradientBase + std::vector for parameters and errors
73 MnMinimize(const FCNGradientBase &fcn, const std::vector<double> &par, const std::vector<double> &err,
74 unsigned int stra = 1)
76 {
77 }
78
79 /// construct from FCNGradientBase + std::vector for parameters and covariance
80 MnMinimize(const FCNGradientBase &fcn, const std::vector<double> &par, unsigned int nrow,
81 const std::vector<double> &cov, unsigned int stra = 1)
83 {
84 }
85
86 /// construct from FCNGradientBase + std::vector for parameters and MnUserCovariance
87 MnMinimize(const FCNGradientBase &fcn, const std::vector<double> &par, const MnUserCovariance &cov,
88 unsigned int stra = 1)
90 {
91 }
92
93 /// construct from FCNGradientBase + MnUserParameters
94 MnMinimize(const FCNGradientBase &fcn, const MnUserParameters &par, unsigned int stra = 1)
96 {
97 }
98
99 /// construct from FCNGradientBase + MnUserParameters + MnUserCovariance
101 unsigned int stra = 1)
103 {
104 }
105
106 /// construct from FCNGradientBase + MnUserParameterState + MnStrategy
107 MnMinimize(const FCNGradientBase &fcn, const MnUserParameterState &par, const MnStrategy &str)
109 {
110 }
111
113 : MnApplication(migr.Fcnbase(), migr.State(), migr.Strategy(), migr.NumOfCalls()), fMinimizer(migr.fMinimizer)
114 {
115 }
116
117 ~MnMinimize() override {}
118
120 const ModularFunctionMinimizer &Minimizer() const override { return fMinimizer; }
121
122private:
124
125private:
126 // forbidden assignment operator
127 MnMinimize &operator=(const MnMinimize &) { return *this; }
128};
129
130} // namespace Minuit2
131
132} // namespace ROOT
133
134#endif // ROOT_Minuit2_MnMinimize
Combined minimizer: combination of Migrad and Simplex.
Interface (abstract class) defining the function to be minimized, which has to be implemented by the ...
Definition: FCNBase.h:45
application interface class for minimizers (migrad, simplex, Minimize, Scan) User normally instantiat...
Definition: MnApplication.h:37
unsigned int NumOfCalls() const
Definition: MnApplication.h:69
const MnStrategy & Strategy() const
Definition: MnApplication.h:68
const MnUserParameterState & State() const
Definition: MnApplication.h:64
virtual const FCNBase & Fcnbase() const
Definition: MnApplication.h:67
API class for minimization using Variable Metric technology ("MIGRAD"); allows for user interaction: ...
Definition: MnMinimize.h:30
ModularFunctionMinimizer & Minimizer() override
Definition: MnMinimize.h:119
MnMinimize(const FCNBase &fcn, const MnUserParameters &par, unsigned int stra=1)
construct from FCNBase + MnUserParameters
Definition: MnMinimize.h:53
MnMinimize(const FCNBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov, unsigned int stra=1)
construct from FCNBase + MnUserParameters + MnUserCovariance
Definition: MnMinimize.h:59
MnMinimize & operator=(const MnMinimize &)
Definition: MnMinimize.h:127
MnMinimize(const FCNBase &fcn, const std::vector< double > &par, const MnUserCovariance &cov, unsigned int stra=1)
construct from FCNBase + std::vector for parameters and MnUserCovariance
Definition: MnMinimize.h:47
MnMinimize(const FCNGradientBase &fcn, const std::vector< double > &par, const MnUserCovariance &cov, unsigned int stra=1)
construct from FCNGradientBase + std::vector for parameters and MnUserCovariance
Definition: MnMinimize.h:87
MnMinimize(const MnMinimize &migr)
Definition: MnMinimize.h:112
MnMinimize(const FCNGradientBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov, unsigned int stra=1)
construct from FCNGradientBase + MnUserParameters + MnUserCovariance
Definition: MnMinimize.h:100
MnMinimize(const FCNGradientBase &fcn, const MnUserParameters &par, unsigned int stra=1)
construct from FCNGradientBase + MnUserParameters
Definition: MnMinimize.h:94
MnMinimize(const FCNGradientBase &fcn, const std::vector< double > &par, const std::vector< double > &err, unsigned int stra=1)
construct from FCNGradientBase + std::vector for parameters and errors
Definition: MnMinimize.h:73
MnMinimize(const FCNBase &fcn, const std::vector< double > &par, const std::vector< double > &err, unsigned int stra=1)
construct from FCNBase + std::vector for parameters and errors
Definition: MnMinimize.h:34
MnMinimize(const FCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str)
construct from FCNBase + MnUserParameterState + MnStrategy
Definition: MnMinimize.h:65
const ModularFunctionMinimizer & Minimizer() const override
Definition: MnMinimize.h:120
CombinedMinimizer fMinimizer
Definition: MnMinimize.h:123
MnMinimize(const FCNGradientBase &fcn, const std::vector< double > &par, unsigned int nrow, const std::vector< double > &cov, unsigned int stra=1)
construct from FCNGradientBase + std::vector for parameters and covariance
Definition: MnMinimize.h:80
MnMinimize(const FCNBase &fcn, const std::vector< double > &par, unsigned int nrow, const std::vector< double > &cov, unsigned int stra=1)
construct from FCNBase + std::vector for parameters and covariance
Definition: MnMinimize.h:40
MnMinimize(const FCNGradientBase &fcn, const MnUserParameterState &par, const MnStrategy &str)
construct from FCNGradientBase + MnUserParameterState + MnStrategy
Definition: MnMinimize.h:107
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...
Base common class providing the API for all the minimizer Various Minimize methods are provided varyi...
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.