Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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 + MnUserParameterState + MnStrategy
34 MnMinimize(const FCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str = MnStrategy{1})
35 : MnApplication(fcn, {par}, str), fMinimizer(CombinedMinimizer())
36 {
37 }
38
39 /// Copy constructor, copy shares the reference to the same FCNBase in MnApplication
40 MnMinimize(const MnMinimize &) = default;
41
42 // Copy assignment deleted, since MnApplication has unassignable reference to FCNBase
43 MnMinimize &operator=(const MnMinimize &) = delete;
44
46 const ModularFunctionMinimizer &Minimizer() const override { return fMinimizer; }
47
48private:
50};
51
52} // namespace Minuit2
53
54} // namespace ROOT
55
56#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:37
application interface class for minimizers (migrad, simplex, Minimize, Scan) User normally instantiat...
API class for minimization using Variable Metric technology ("MIGRAD"); allows for user interaction: ...
Definition MnMinimize.h:30
ModularFunctionMinimizer & Minimizer() override
Definition MnMinimize.h:45
MnMinimize(const MnMinimize &)=default
Copy constructor, copy shares the reference to the same FCNBase in MnApplication.
MnMinimize & operator=(const MnMinimize &)=delete
MnMinimize(const FCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str=MnStrategy{1})
construct from FCNBase + MnUserParameterState + MnStrategy
Definition MnMinimize.h:34
const ModularFunctionMinimizer & Minimizer() const override
Definition MnMinimize.h:46
CombinedMinimizer fMinimizer
Definition MnMinimize.h:49
API class for defining four levels of strategies: low (0), medium (1), high (2), very high (>=3); act...
Definition MnStrategy.h:27
class which holds the external user and/or internal Minuit representation of the parameters and error...
Base common class providing the API for all the minimizer Various Minimize methods are provided varyi...