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
40 : MnApplication(migr.Fcnbase(), migr.State(), migr.Strategy(), migr.NumOfCalls()), fMinimizer(migr.fMinimizer)
41 {
42 }
43
45 const ModularFunctionMinimizer &Minimizer() const override { return fMinimizer; }
46
47private:
49
50private:
51 // forbidden assignment operator
52 MnMinimize &operator=(const MnMinimize &) { return *this; }
53};
54
55} // namespace Minuit2
56
57} // namespace ROOT
58
59#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:51
application interface class for minimizers (migrad, simplex, Minimize, Scan) User normally instantiat...
unsigned int NumOfCalls() const
const MnStrategy & Strategy() const
const MnUserParameterState & State() const
virtual const FCNBase & Fcnbase() const
API class for minimization using Variable Metric technology ("MIGRAD"); allows for user interaction: ...
Definition MnMinimize.h:30
ModularFunctionMinimizer & Minimizer() override
Definition MnMinimize.h:44
MnMinimize & operator=(const MnMinimize &)
Definition MnMinimize.h:52
MnMinimize(const MnMinimize &migr)
Definition MnMinimize.h:39
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:45
CombinedMinimizer fMinimizer
Definition MnMinimize.h:48
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...
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...