Logo ROOT  
Reference Guide
MnFumiliMinimize.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_MnFumiliMinimize
11#define ROOT_Minuit2_MnFumiliMinimize
12
16
17#include <vector>
18
19namespace ROOT {
20
21namespace Minuit2 {
22
23// class FumiliFCNBase;
24// class FCNBase;
25
26//___________________________________________________________________________
27/**
28
29
30API class for minimization using Fumili technology;
31allows for user interaction: set/change parameters, do minimization,
32change parameters, re-do minimization etc.;
33also used by MnMinos and MnContours;
34
35
36 */
37
39
40public:
41 /// construct from FumiliFCNBase + std::vector for parameters and errors
42 MnFumiliMinimize(const FumiliFCNBase &fcn, const std::vector<double> &par, const std::vector<double> &err,
43 unsigned int stra = 1)
45 {
46 }
47
48 /// construct from FumiliFCNBase + std::vector for parameters and covariance
49 MnFumiliMinimize(const FumiliFCNBase &fcn, const std::vector<double> &par, unsigned int nrow,
50 const std::vector<double> &cov, unsigned int stra = 1)
52 fFCN(fcn)
53 {
54 }
55
56 /// construct from FumiliFCNBase + std::vector for parameters and MnUserCovariance
57 MnFumiliMinimize(const FumiliFCNBase &fcn, const std::vector<double> &par, const MnUserCovariance &cov,
58 unsigned int stra = 1)
60 {
61 }
62
63 /// construct from FumiliFCNBase + MnUserParameters
64 MnFumiliMinimize(const FumiliFCNBase &fcn, const MnUserParameters &par, unsigned int stra = 1)
66 {
67 }
68
69 /// construct from FumiliFCNBase + MnUserParameters + MnUserCovariance
71 unsigned int stra = 1)
73 {
74 }
75
76 /// construct from FumiliFCNBase + MnUserParameterState + MnStrategy
79 {
80 }
81
83 : MnApplication(migr.Fcnbase(), migr.State(), migr.Strategy(), migr.NumOfCalls()), fMinimizer(migr.fMinimizer),
84 fFCN(migr.Fcnbase())
85 {
86 }
87
88 ~MnFumiliMinimize() override {}
89
90 FumiliMinimizer &Minimizer() override { return fMinimizer; }
91 const FumiliMinimizer &Minimizer() const override { return fMinimizer; }
92
93 const FumiliFCNBase &Fcnbase() const override { return fFCN; }
94
95 /// overwrite Minimize to use FumiliFCNBase
96 FunctionMinimum operator()(unsigned int = 0, double = 0.1) override;
97
98private:
101
102private:
103 // forbidden assignment of migrad (const FumiliFCNBase& = )
104 MnFumiliMinimize &operator=(const MnFumiliMinimize &) { return *this; }
105};
106
107} // namespace Minuit2
108
109} // namespace ROOT
110
111#endif // ROOT_Minuit2_MnFumiliMinimize
Extension of the FCNBase for the Fumili method.
Definition: FumiliFCNBase.h:46
Instantiates the seed generator and Minimum builder for the Fumili minimization method.
class holding the full result of the minimization; both internal and external (MnUserParameterState) ...
application interface class for minimizers (migrad, simplex, Minimize, Scan) User normally instantiat...
Definition: MnApplication.h:37
unsigned int NumOfCalls() const
Definition: MnApplication.h:69
const MnStrategy & Strategy() const
Definition: MnApplication.h:68
const MnUserParameterState & State() const
Definition: MnApplication.h:64
API class for minimization using Fumili technology; allows for user interaction: set/change parameter...
MnFumiliMinimize(const MnFumiliMinimize &migr)
MnFumiliMinimize(const FumiliFCNBase &fcn, const std::vector< double > &par, const std::vector< double > &err, unsigned int stra=1)
construct from FumiliFCNBase + std::vector for parameters and errors
MnFumiliMinimize(const FumiliFCNBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov, unsigned int stra=1)
construct from FumiliFCNBase + MnUserParameters + MnUserCovariance
MnFumiliMinimize(const FumiliFCNBase &fcn, const std::vector< double > &par, const MnUserCovariance &cov, unsigned int stra=1)
construct from FumiliFCNBase + std::vector for parameters and MnUserCovariance
MnFumiliMinimize & operator=(const MnFumiliMinimize &)
FunctionMinimum operator()(unsigned int=0, double=0.1) override
overwrite Minimize to use FumiliFCNBase
FumiliMinimizer & Minimizer() override
MnFumiliMinimize(const FumiliFCNBase &fcn, const std::vector< double > &par, unsigned int nrow, const std::vector< double > &cov, unsigned int stra=1)
construct from FumiliFCNBase + std::vector for parameters and covariance
const FumiliFCNBase & Fcnbase() const override
MnFumiliMinimize(const FumiliFCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str)
construct from FumiliFCNBase + MnUserParameterState + MnStrategy
MnFumiliMinimize(const FumiliFCNBase &fcn, const MnUserParameters &par, unsigned int stra=1)
construct from FumiliFCNBase + MnUserParameters
const FumiliMinimizer & Minimizer() const override
API class for defining three levels of strategies: low (0), medium (1), high (>=2); acts on: Migrad (...
Definition: MnStrategy.h:27
Class containing the covariance matrix data represented as a vector of size n*(n+1)/2 Used to hide in...
class which holds the external user and/or internal Minuit representation of the parameters and error...
API class for the user interaction with the parameters; serves as input to the minimizer as well as o...
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.