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 
13 #include "Minuit2/MnApplication.h"
15 #include "Minuit2/FumiliFCNBase.h"
16 
17 #include <vector>
18 
19 namespace ROOT {
20 
21 namespace Minuit2 {
22 
23 // class FumiliFCNBase;
24 // class FCNBase;
25 
26 //___________________________________________________________________________
27 /**
28 
29 
30 API class for minimization using Fumili technology;
31 allows for user interaction: set/change parameters, do minimization,
32 change parameters, re-do minimization etc.;
33 also used by MnMinos and MnContours;
34 
35 
36  */
37 
39 
40 public:
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)
51  : MnApplication(fcn, MnUserParameterState(par, cov, nrow), MnStrategy(stra)), fMinimizer(FumiliMinimizer()),
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
77  MnFumiliMinimize(const FumiliFCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str)
79  {
80  }
81 
83  : MnApplication(migr.Fcnbase(), migr.State(), migr.Strategy(), migr.NumOfCalls()), fMinimizer(migr.fMinimizer),
84  fFCN(migr.Fcnbase())
85  {
86  }
87 
88  virtual ~MnFumiliMinimize() {}
89 
91  const FumiliMinimizer &Minimizer() const { return fMinimizer; }
92 
93  const FumiliFCNBase &Fcnbase() const { return fFCN; }
94 
95  /// overwrite Minimize to use FumiliFCNBase
96  virtual FunctionMinimum operator()(unsigned int = 0, double = 0.1);
97 
98 private:
101 
102 private:
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
ROOT::Minuit2::MnFumiliMinimize::MnFumiliMinimize
MnFumiliMinimize(const FumiliFCNBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov, unsigned int stra=1)
construct from FumiliFCNBase + MnUserParameters + MnUserCovariance
Definition: MnFumiliMinimize.h:70
ROOT::Minuit2::MnFumiliMinimize::Fcnbase
const FumiliFCNBase & Fcnbase() const
Definition: MnFumiliMinimize.h:93
ROOT::Minuit2::MnFumiliMinimize::fMinimizer
FumiliMinimizer fMinimizer
Definition: MnFumiliMinimize.h:99
ROOT::Minuit2::FumiliFCNBase
Extension of the FCNBase for the Fumili method.
Definition: FumiliFCNBase.h:46
ROOT::Minuit2::MnFumiliMinimize::MnFumiliMinimize
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
Definition: MnFumiliMinimize.h:42
ROOT::Minuit2::MnApplication
application interface class for minimizers (migrad, simplex, Minimize, Scan) User normally instantiat...
Definition: MnApplication.h:37
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
MnApplication.h
ROOT::Minuit2::MnApplication::State
const MnUserParameterState & State() const
Definition: MnApplication.h:64
ROOT::Minuit2::MnFumiliMinimize::fFCN
const FumiliFCNBase & fFCN
Definition: MnFumiliMinimize.h:100
ROOT::Minuit2::MnFumiliMinimize::Minimizer
const FumiliMinimizer & Minimizer() const
Definition: MnFumiliMinimize.h:91
ROOT::Minuit2::MnApplication::NumOfCalls
unsigned int NumOfCalls() const
Definition: MnApplication.h:69
ROOT::Minuit2::MnFumiliMinimize::MnFumiliMinimize
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
Definition: MnFumiliMinimize.h:49
ROOT::Minuit2::MnFumiliMinimize::MnFumiliMinimize
MnFumiliMinimize(const MnFumiliMinimize &migr)
Definition: MnFumiliMinimize.h:82
ROOT::Minuit2::MnFumiliMinimize::operator()
virtual FunctionMinimum operator()(unsigned int=0, double=0.1)
overwrite Minimize to use FumiliFCNBase
Definition: MnFumiliMinimize.cxx:18
ROOT::Minuit2::MnFumiliMinimize::MnFumiliMinimize
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
Definition: MnFumiliMinimize.h:57
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::MnFumiliMinimize
API class for minimization using Fumili technology; allows for user interaction: set/change parameter...
Definition: MnFumiliMinimize.h:38
ROOT::Minuit2::MnFumiliMinimize::operator=
MnFumiliMinimize & operator=(const MnFumiliMinimize &)
Definition: MnFumiliMinimize.h:104
ROOT::Minuit2::MnFumiliMinimize::~MnFumiliMinimize
virtual ~MnFumiliMinimize()
Definition: MnFumiliMinimize.h:88
ROOT::Minuit2::FunctionMinimum
class holding the full result of the minimization; both internal and external (MnUserParameterState) ...
Definition: FunctionMinimum.h:36
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::MnFumiliMinimize::Minimizer
FumiliMinimizer & Minimizer()
Definition: MnFumiliMinimize.h:90
ROOT::Minuit2::MnStrategy
API class for defining three levels of strategies: low (0), medium (1), high (>=2); acts on: Migrad (...
Definition: MnStrategy.h:27
FumiliMinimizer.h
FumiliFCNBase.h
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::MnFumiliMinimize::MnFumiliMinimize
MnFumiliMinimize(const FumiliFCNBase &fcn, const MnUserParameters &par, unsigned int stra=1)
construct from FumiliFCNBase + MnUserParameters
Definition: MnFumiliMinimize.h:64
ROOT::Minuit2::FumiliMinimizer
Instantiates the seed generator and Minimum builder for the Fumili minimization method.
Definition: FumiliMinimizer.h:47
ROOT::Minuit2::MnFumiliMinimize::MnFumiliMinimize
MnFumiliMinimize(const FumiliFCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str)
construct from FumiliFCNBase + MnUserParameterState + MnStrategy
Definition: MnFumiliMinimize.h:77
ROOT::Minuit2::MnApplication::Strategy
const MnStrategy & Strategy() const
Definition: MnApplication.h:68