Logo ROOT  
Reference Guide
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 
13 #include "Minuit2/MnApplication.h"
15 
16 #include <vector>
17 
18 namespace ROOT {
19 
20 namespace Minuit2 {
21 
22 class 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 
32 class MnMigrad : public MnApplication {
33 
34 public:
35  /// construct from FCNBase + std::vector for parameters and errors
36  MnMigrad(const FCNBase &fcn, const std::vector<double> &par, const std::vector<double> &err, unsigned int stra = 1)
38  {
39  }
40 
41  /// construct from FCNBase + std::vector for parameters and covariance
42  MnMigrad(const FCNBase &fcn, const std::vector<double> &par, unsigned int nrow, const std::vector<double> &cov,
43  unsigned int stra = 1)
44  : MnApplication(fcn, MnUserParameterState(par, cov, nrow), MnStrategy(stra)),
46  {
47  }
48 
49  /// construct from FCNBase + std::vector for parameters and MnUserCovariance
50  MnMigrad(const FCNBase &fcn, const std::vector<double> &par, const MnUserCovariance &cov, unsigned int stra = 1)
52  {
53  }
54 
55  /// construct from FCNBase + MnUserParameters
56  MnMigrad(const FCNBase &fcn, const MnUserParameters &par, unsigned int stra = 1)
58  {
59  }
60 
61  /// construct from FCNBase + MnUserParameters + MnUserCovariance
62  MnMigrad(const FCNBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov, unsigned int stra = 1)
64  {
65  }
66 
67  /// construct from FCNBase + MnUserParameterState + MnStrategy
68  MnMigrad(const FCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str)
70  {
71  }
72 
73  // constructs from gradient FCN
74 
75  /// construct from FCNGradientBase + std::vector for parameters and errors
76  MnMigrad(const FCNGradientBase &fcn, const std::vector<double> &par, const std::vector<double> &err,
77  unsigned int stra = 1)
79  {
80  }
81 
82  /// construct from FCNGradientBase + std::vector for parameters and covariance
83  MnMigrad(const FCNGradientBase &fcn, const std::vector<double> &par, unsigned int nrow,
84  const std::vector<double> &cov, unsigned int stra = 1)
85  : MnApplication(fcn, MnUserParameterState(par, cov, nrow), MnStrategy(stra)),
87  {
88  }
89 
90  /// construct from FCNGradientBase + std::vector for parameters and MnUserCovariance
91  MnMigrad(const FCNGradientBase &fcn, const std::vector<double> &par, const MnUserCovariance &cov,
92  unsigned int stra = 1)
94  {
95  }
96 
97  /// construct from FCNGradientBase + MnUserParameters
98  MnMigrad(const FCNGradientBase &fcn, const MnUserParameters &par, unsigned int stra = 1)
100  {
101  }
102 
103  /// construct from FCNGradientBase + MnUserParameters + MnUserCovariance
104  MnMigrad(const FCNGradientBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov, unsigned int stra = 1)
106  {
107  }
108 
109  /// construct from FCNGradientBase + MnUserParameterState + MnStrategy
110  MnMigrad(const FCNGradientBase &fcn, const MnUserParameterState &par, const MnStrategy &str)
112  {
113  }
114 
116 
117  /// Copy constructor, copy shares the reference to the same FCNBase in MnApplication
118  MnMigrad(const MnMigrad &) = default;
119 
120  // Copy assignment deleted, since MnApplication has unassignable reference to FCNBase
121  MnMigrad &operator=(const MnMigrad &) = delete;
122 
124  const ModularFunctionMinimizer &Minimizer() const { return fMinimizer; }
125 
126 private:
128 };
129 
130 } // namespace Minuit2
131 
132 } // namespace ROOT
133 
134 #endif // ROOT_Minuit2_MnMigrad
ROOT::Minuit2::MnMigrad::MnMigrad
MnMigrad(const FCNBase &fcn, const MnUserParameters &par, unsigned int stra=1)
construct from FCNBase + MnUserParameters
Definition: MnMigrad.h:56
ROOT::Minuit2::MnMigrad::~MnMigrad
~MnMigrad()
Definition: MnMigrad.h:115
ROOT::Minuit2::MnMigrad::MnMigrad
MnMigrad(const FCNBase &fcn, const std::vector< double > &par, unsigned int nrow, const std::vector< double > &cov, unsigned int stra=1)
construct from FCNBase + std::vector for parameters and covariance
Definition: MnMigrad.h:42
ROOT::Minuit2::MnMigrad::operator=
MnMigrad & operator=(const MnMigrad &)=delete
ROOT::Minuit2::MnMigrad
API class for minimization using Variable Metric technology ("MIGRAD"); allows for user interaction: ...
Definition: MnMigrad.h:32
ROOT::Minuit2::MnApplication
application interface class for minimizers (migrad, simplex, Minimize, Scan) User normally instantiat...
Definition: MnApplication.h:37
ROOT::Minuit2::FCNBase
Interface (abstract class) defining the function to be minimized, which has to be implemented by the ...
Definition: FCNBase.h:45
ROOT::Minuit2::MnMigrad::MnMigrad
MnMigrad(const FCNBase &fcn, const std::vector< double > &par, const MnUserCovariance &cov, unsigned int stra=1)
construct from FCNBase + std::vector for parameters and MnUserCovariance
Definition: MnMigrad.h:50
ROOT::Minuit2::MnUserCovariance
Class containing the covariance matrix data represented as a vector of size n*(n+1)/2 Used to hide in...
Definition: MnUserCovariance.h:26
ROOT::Minuit2::MnMigrad::MnMigrad
MnMigrad(const MnMigrad &)=default
Copy constructor, copy shares the reference to the same FCNBase in MnApplication.
MnApplication.h
ROOT::Minuit2::MnMigrad::MnMigrad
MnMigrad(const FCNGradientBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov, unsigned int stra=1)
construct from FCNGradientBase + MnUserParameters + MnUserCovariance
Definition: MnMigrad.h:104
ROOT::Minuit2::MnMigrad::Minimizer
ModularFunctionMinimizer & Minimizer()
Definition: MnMigrad.h:123
ROOT::Minuit2::MnUserParameters
API class for the user interaction with the parameters; serves as input to the minimizer as well as o...
Definition: MnUserParameters.h:36
ROOT::Minuit2::MnMigrad::MnMigrad
MnMigrad(const FCNBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov, unsigned int stra=1)
construct from FCNBase + MnUserParameters + MnUserCovariance
Definition: MnMigrad.h:62
ROOT::Minuit2::ModularFunctionMinimizer
Base common class providing the API for all the minimizer Various Minimize methods are provided varyi...
Definition: ModularFunctionMinimizer.h:40
VariableMetricMinimizer.h
ROOT::Minuit2::MnMigrad::Minimizer
const ModularFunctionMinimizer & Minimizer() const
Definition: MnMigrad.h:124
ROOT::Minuit2::MnMigrad::MnMigrad
MnMigrad(const FCNGradientBase &fcn, const std::vector< double > &par, const MnUserCovariance &cov, unsigned int stra=1)
construct from FCNGradientBase + std::vector for parameters and MnUserCovariance
Definition: MnMigrad.h:91
ROOT::Minuit2::FCNGradientBase
Extension of the FCNBase for providing the analytical Gradient of the function.
Definition: FCNGradientBase.h:34
ROOT::Minuit2::MnUserParameterState
class which holds the external user and/or internal Minuit representation of the parameters and error...
Definition: MnUserParameterState.h:33
ROOT::Minuit2::MnStrategy
API class for defining three levels of strategies: low (0), medium (1), high (>=2); acts on: Migrad (...
Definition: MnStrategy.h:27
ROOT::Minuit2::MnMigrad::MnMigrad
MnMigrad(const FCNGradientBase &fcn, const std::vector< double > &par, unsigned int nrow, const std::vector< double > &cov, unsigned int stra=1)
construct from FCNGradientBase + std::vector for parameters and covariance
Definition: MnMigrad.h:83
ROOT::Minuit2::VariableMetricMinimizer
Instantiates the SeedGenerator and MinimumBuilder for Variable Metric Minimization method.
Definition: VariableMetricMinimizer.h:33
ROOT::Minuit2::MnMigrad::MnMigrad
MnMigrad(const FCNGradientBase &fcn, const MnUserParameterState &par, const MnStrategy &str)
construct from FCNGradientBase + MnUserParameterState + MnStrategy
Definition: MnMigrad.h:110
ROOT::Minuit2::MnMigrad::MnMigrad
MnMigrad(const FCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str)
construct from FCNBase + MnUserParameterState + MnStrategy
Definition: MnMigrad.h:68
ROOT
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Definition: EExecutionPolicy.hxx:4
ROOT::Minuit2::MnMigrad::fMinimizer
VariableMetricMinimizer fMinimizer
Definition: MnMigrad.h:127
ROOT::Minuit2::MnMigrad::MnMigrad
MnMigrad(const FCNGradientBase &fcn, const std::vector< double > &par, const std::vector< double > &err, unsigned int stra=1)
construct from FCNGradientBase + std::vector for parameters and errors
Definition: MnMigrad.h:76
ROOT::Minuit2::MnMigrad::MnMigrad
MnMigrad(const FCNGradientBase &fcn, const MnUserParameters &par, unsigned int stra=1)
construct from FCNGradientBase + MnUserParameters
Definition: MnMigrad.h:98
ROOT::Minuit2::MnMigrad::MnMigrad
MnMigrad(const FCNBase &fcn, const std::vector< double > &par, const std::vector< double > &err, unsigned int stra=1)
construct from FCNBase + std::vector for parameters and errors
Definition: MnMigrad.h:36