Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
MnMigrad.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_MnMigrad
11#define ROOT_Minuit2_MnMigrad
12
15
16#include <vector>
17
18namespace ROOT {
19
20namespace Minuit2 {
21
22class FCNBase;
23
24//_____________________________________________________________________________
25/**
26 API class for minimization using Variable Metric technology ("MIGRAD");
27 allows for user interaction: set/change parameters, do minimization,
28 change parameters, re-do minimization etc.;
29 also used by MnMinos and MnContours;
30 */
31
32class MnMigrad : public MnApplication {
33
34public:
35 /// construct from FCNBase + MnUserParameterState + MnStrategy
36 MnMigrad(const FCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str = MnStrategy{1})
37 : MnApplication(fcn, {par}, str), fMinimizer(VariableMetricMinimizer())
38 {
39 }
40
41 /// Copy constructor, copy shares the reference to the same FCNBase in MnApplication
42 MnMigrad(const MnMigrad &) = default;
43
44 // Copy assignment deleted, since MnApplication has unassignable reference to FCNBase
45 MnMigrad &operator=(const MnMigrad &) = delete;
46
48 const ModularFunctionMinimizer &Minimizer() const override { return fMinimizer; }
49
50private:
52};
53
54} // namespace Minuit2
55
56} // namespace ROOT
57
58#endif // ROOT_Minuit2_MnMigrad
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...
API class for minimization using Variable Metric technology ("MIGRAD"); allows for user interaction: ...
Definition MnMigrad.h:32
const ModularFunctionMinimizer & Minimizer() const override
Definition MnMigrad.h:48
ModularFunctionMinimizer & Minimizer() override
Definition MnMigrad.h:47
MnMigrad & operator=(const MnMigrad &)=delete
MnMigrad(const MnMigrad &)=default
Copy constructor, copy shares the reference to the same FCNBase in MnApplication.
MnMigrad(const FCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str=MnStrategy{1})
construct from FCNBase + MnUserParameterState + MnStrategy
Definition MnMigrad.h:36
VariableMetricMinimizer fMinimizer
Definition MnMigrad.h:51
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...
Instantiates the SeedGenerator and MinimumBuilder for Variable Metric Minimization method.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...