Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
FumiliMinimizer.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_FumiliMinimizer
11#define ROOT_Minuit2_FumiliMinimizer
12
16
17#include <vector>
18
19namespace ROOT {
20
21namespace Minuit2 {
22
23class MinimumSeedGenerator;
24class MinimumBuilder;
25class MinimumSeed;
26class MnFcn;
27class FumiliFcnBase;
28class GradientCalculator;
29class MnUserParameterState;
30class MnUserParameters;
31class MnUserCovariance;
32class MnStrategy;
33
34//______________________________________________________________
35/**
36
37Instantiates the seed generator and Minimum builder for the
38Fumili minimization method. Produces the Minimum via the
39Minimize methods inherited from ModularFunctionMinimizer.
40
41@author Andras Zsenei and Lorenzo Moneta, Creation date: 28 Sep 2004
42
43@ingroup Minuit
44
45*/
46
48
49public:
50 /**
51
52 Constructor initializing the FumiliMinimizer by instantiatiating
53 the SeedGenerator and MinimumBuilder for the Fumili minimization method.
54
55 @see MnSeedGenerator
56
57 @see FumiliBuilder
58
59 */
60
62
64
65 /**
66
67 Accessor to the seed generator of the minimizer.
68
69 @return A reference to the seed generator used by the minimizer
70
71 */
72
74
75 /**
76
77 Accessor to the Minimum builder of the minimizer.
78
79 @return a reference to the Minimum builder.
80
81 */
82
83 const FumiliBuilder &Builder() const { return fMinBuilder; }
85
86 // for Fumili
87
88 FunctionMinimum Minimize(const FCNBase &, const MnUserParameterState &, const MnStrategy &, unsigned int maxfcn = 0,
89 double toler = 0.1) const;
90
92 unsigned int maxfcn = 0, double toler = 0.1) const;
93
94 // need to re-implement all function in ModularFuncitionMinimizer otherwise they will be hided
95
96 virtual FunctionMinimum Minimize(const FCNBase &fcn, const std::vector<double> &par, const std::vector<double> &err,
97 unsigned int stra = 1, unsigned int maxfcn = 0, double toler = 0.1) const
98 {
99 return ModularFunctionMinimizer::Minimize(fcn, par, err, stra, maxfcn, toler);
100 }
101
102 virtual FunctionMinimum Minimize(const FCNGradientBase &fcn, const std::vector<double> &par,
103 const std::vector<double> &err, unsigned int stra = 1, unsigned int maxfcn = 0,
104 double toler = 0.1) const
105 {
106 return ModularFunctionMinimizer::Minimize(fcn, par, err, stra, maxfcn, toler);
107 }
108
109 virtual FunctionMinimum Minimize(const FCNBase &fcn, const std::vector<double> &par, unsigned int nrow,
110 const std::vector<double> &cov, unsigned int stra = 1, unsigned int maxfcn = 0,
111 double toler = 0.1) const
112 {
113 return ModularFunctionMinimizer::Minimize(fcn, par, nrow, cov, stra, maxfcn, toler);
114 }
115
116 virtual FunctionMinimum Minimize(const FCNGradientBase &fcn, const std::vector<double> &par, unsigned int nrow,
117 const std::vector<double> &cov, unsigned int stra = 1, unsigned int maxfcn = 0,
118 double toler = 0.1) const
119 {
120 return ModularFunctionMinimizer::Minimize(fcn, par, nrow, cov, stra, maxfcn, toler);
121 }
122
123 virtual FunctionMinimum Minimize(const FCNBase &fcn, const MnUserParameters &par, const MnStrategy &stra,
124 unsigned int maxfcn = 0, double toler = 0.1) const
125 {
126 return ModularFunctionMinimizer::Minimize(fcn, par, stra, maxfcn, toler);
127 }
128
129 virtual FunctionMinimum Minimize(const FCNGradientBase &fcn, const MnUserParameters &par, const MnStrategy &stra,
130 unsigned int maxfcn = 0, double toler = 0.1) const
131 {
132 return ModularFunctionMinimizer::Minimize(fcn, par, stra, maxfcn, toler);
133 }
134
135 virtual FunctionMinimum Minimize(const FCNBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov,
136 const MnStrategy &stra, unsigned int maxfcn = 0, double toler = 0.1) const
137 {
138 return ModularFunctionMinimizer::Minimize(fcn, par, cov, stra, maxfcn, toler);
139 }
140
142 const MnUserCovariance &cov, const MnStrategy &stra, unsigned int maxfcn = 0,
143 double toler = 0.1) const
144 {
145 return ModularFunctionMinimizer::Minimize(fcn, par, cov, stra, maxfcn, toler);
146 }
147
148 virtual FunctionMinimum Minimize(const MnFcn &mfcn, const GradientCalculator &gc, const MinimumSeed &seed,
149 const MnStrategy &stra, unsigned int maxfcn, double toler) const
150 {
151 return ModularFunctionMinimizer::Minimize(mfcn, gc, seed, stra, maxfcn, toler);
152 }
153
154private:
157};
158
159} // namespace Minuit2
160
161} // namespace ROOT
162
163#endif // ROOT_Minuit2_FumiliMinimizer
Interface (abstract class) defining the function to be minimized, which has to be implemented by the ...
Definition FCNBase.h:45
Builds the FunctionMinimum using the Fumili method.
Instantiates the seed generator and Minimum builder for the Fumili minimization method.
virtual FunctionMinimum Minimize(const FCNBase &fcn, const MnUserParameters &par, const MnStrategy &stra, unsigned int maxfcn=0, double toler=0.1) const
virtual FunctionMinimum Minimize(const FCNGradientBase &fcn, const MnUserParameters &par, const MnStrategy &stra, unsigned int maxfcn=0, double toler=0.1) const
virtual FunctionMinimum Minimize(const FCNGradientBase &fcn, const std::vector< double > &par, const std::vector< double > &err, unsigned int stra=1, unsigned int maxfcn=0, double toler=0.1) const
FunctionMinimum Minimize(const FCNBase &, const MnUserParameterState &, const MnStrategy &, unsigned int maxfcn=0, double toler=0.1) const
const MinimumSeedGenerator & SeedGenerator() const
Accessor to the seed generator of the minimizer.
const FumiliBuilder & Builder() const
Accessor to the Minimum builder of the minimizer.
virtual FunctionMinimum Minimize(const FCNBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov, const MnStrategy &stra, unsigned int maxfcn=0, double toler=0.1) const
virtual FunctionMinimum Minimize(const FCNGradientBase &fcn, const std::vector< double > &par, unsigned int nrow, const std::vector< double > &cov, unsigned int stra=1, unsigned int maxfcn=0, double toler=0.1) const
virtual FunctionMinimum Minimize(const FCNBase &fcn, const std::vector< double > &par, const std::vector< double > &err, unsigned int stra=1, unsigned int maxfcn=0, double toler=0.1) const
virtual FunctionMinimum Minimize(const FCNBase &fcn, const std::vector< double > &par, unsigned int nrow, const std::vector< double > &cov, unsigned int stra=1, unsigned int maxfcn=0, double toler=0.1) const
virtual FunctionMinimum Minimize(const MnFcn &mfcn, const GradientCalculator &gc, const MinimumSeed &seed, const MnStrategy &stra, unsigned int maxfcn, double toler) const
virtual FunctionMinimum Minimize(const FCNGradientBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov, const MnStrategy &stra, unsigned int maxfcn=0, double toler=0.1) const
FumiliMinimizer()
Constructor initializing the FumiliMinimizer by instantiatiating the SeedGenerator and MinimumBuilder...
class holding the full result of the minimization; both internal and external (MnUserParameterState) ...
interface class for gradient calculators
base class for seed generators (starting values); the seed generator prepares initial starting values...
Wrapper class to FCNBase interface used internally by Minuit.
Definition MnFcn.h:30
concrete implementation of the MinimumSeedGenerator interface; used within ModularFunctionMinimizer;
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...
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...