Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
FumiliBuilder.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_FumiliBuilder
11#define ROOT_Minuit2_FumiliBuilder
12
17
18#include <vector>
19
20namespace ROOT {
21
22namespace Minuit2 {
23
24class MnFcn;
25
26/**
27
28Builds the FunctionMinimum using the Fumili method.
29
30@author Andras Zsenei, Creation date: 29 Sep 2004
31
32@see <A HREF="http://www.cern.ch/winkler/minuit/tutorial/mntutorial.pdf">MINUIT Tutorial</A> on function minimization,
33section 5
34
35@ingroup Minuit
36
37\todo the role of the strategy in Fumili
38
39*/
40
42
43public:
44
46
48
49 /**
50
51 Class the member function calculating the Minimum and verifies the result
52 depending on the strategy.
53
54 @param fMnFcn the function to be minimized.
55
56 @param fGradienCalculator not used in Fumili.
57
58 @param fMinimumSeed the seed generator.
59
60 @param fMnStrategy the strategy describing the number of function calls
61 allowed for Gradient calculations.
62
63 @param maxfcn maximum number of function calls after which the calculation
64 will be stopped even if it has not yet converged.
65
66 @param edmval expected vertical distance to the Minimum.
67
68 @return Returns the function Minimum found.
69
70
71 \todo Complete the documentation by understanding what is the reason to
72 have two Minimum methods.
73
74 */
75
77 const MinimumSeed &fMinimumSeed, const MnStrategy &fMnStrategy, unsigned int maxfcn,
78 double edmval) const override;
79
80 /**
81
82 Calculates the Minimum based on the Fumili method
83
84 @param fMnFcn the function to be minimized.
85
86 @param fGradienCalculator not used in Fumili
87
88 @param fMinimumSeed the seed generator.
89
90 @param states vector containing the state result of each iteration
91
92 @param maxfcn maximum number of function calls after which the calculation
93 will be stopped even if it has not yet converged.
94
95 @param edmval expected vertical distance to the Minimum
96
97 @return Returns the function Minimum found.
98
99 @see <A HREF="http://www.cern.ch/winkler/minuit/tutorial/mntutorial.pdf">MINUIT Tutorial</A> on function
100 minimization, section 5
101
102
103 \todo some nice Latex based formula here...
104
105 */
106
108 const MinimumSeed &fMinimumSeed, std::vector<MinimumState> &states, unsigned int maxfcn,
109 double edmval) const;
110
111 /**
112
113 Accessor to the EDM (expected vertical distance to the Minimum) estimator.
114
115 @return The EDM estimator used in the builder.
116
117 \todo Maybe a little explanation concerning EDM in all relevant classes.
118
119 */
120
122
123 /**
124
125 Accessor to the Error updator of the builder.
126
127 @return The FumiliErrorUpdator used by the FumiliBuilder.
128
129 */
130
132
133private:
136 FumiliMethodType fMethodType = kTrustRegion; // use Trust region as default method
137};
138
139} // namespace Minuit2
140
141} // namespace ROOT
142
143#endif // ROOT_Minuit2_FumiliBuilder
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
Builds the FunctionMinimum using the Fumili method.
FunctionMinimum Minimum(const MnFcn &fMnFcn, const GradientCalculator &fGradienCalculator, const MinimumSeed &fMinimumSeed, const MnStrategy &fMnStrategy, unsigned int maxfcn, double edmval) const override
Class the member function calculating the Minimum and verifies the result depending on the strategy.
VariableMetricEDMEstimator fEstimator
FumiliErrorUpdator fErrorUpdator
const FumiliErrorUpdator & ErrorUpdator() const
Accessor to the Error updator of the builder.
void SetMethod(FumiliMethodType type)
const VariableMetricEDMEstimator & Estimator() const
Accessor to the EDM (expected vertical distance to the Minimum) estimator.
In the case of the Fumili algorithm the Error matrix (or the Hessian matrix containing the (approxima...
class holding the full result of the minimization; both internal and external (MnUserParameterState) ...
interface class for gradient calculators
Wrapper class to FCNBase interface used internally by Minuit.
Definition MnFcn.h:34
API class for defining four levels of strategies: low (0), medium (1), high (2), very high (>=3); act...
Definition MnStrategy.h:27
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...