Logo ROOT  
Reference Guide
MnScan.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_MnScan
11#define ROOT_Minuit2_MnScan
12
15
16#include <vector>
17#include <utility>
18
19namespace ROOT {
20
21namespace Minuit2 {
22
23class FCNBase;
24
25//_______________________________________________________________________
26/**
27 API class for minimization using a scan method to find the minimum;
28 allows for user interaction: set/change parameters, do minimization,
29 change parameters, re-do minimization etc.;
30
31 */
32
33class MnScan : public MnApplication {
34
35public:
36 /// construct from FCNBase + std::vector for parameters and errors
37 MnScan(const FCNBase &fcn, const std::vector<double> &par, const std::vector<double> &err, unsigned int stra = 1)
39 {
40 }
41
42 /// construct from FCNBase + std::vector for parameters and covariance
43 MnScan(const FCNBase &fcn, const std::vector<double> &par, unsigned int nrow, const std::vector<double> &cov,
44 unsigned int stra = 1)
46 {
47 }
48
49 /// construct from FCNBase + std::vector for parameters and MnUserCovariance
50 MnScan(const FCNBase &fcn, const std::vector<double> &par, const MnUserCovariance &cov, unsigned int stra = 1)
52 {
53 }
54
55 /// construct from FCNBase + MnUserParameters
56 MnScan(const FCNBase &fcn, const MnUserParameters &par, unsigned int stra = 1)
58 {
59 }
60
61 /// construct from FCNBase + MnUserParameters + MnUserCovariance
62 MnScan(const FCNBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov, unsigned int stra = 1)
64 {
65 }
66
67 /// construct from FCNBase + MnUserParameterState + MnStrategy
68 MnScan(const FCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str)
70 {
71 }
72
73 MnScan(const MnScan &migr)
74 : MnApplication(migr.Fcnbase(), migr.State(), migr.Strategy(), migr.NumOfCalls()), fMinimizer(migr.fMinimizer)
75 {
76 }
77
78 ~MnScan() override {}
79
81 const ModularFunctionMinimizer &Minimizer() const override { return fMinimizer; }
82
83 std::vector<std::pair<double, double>>
84 Scan(unsigned int par, unsigned int maxsteps = 41, double low = 0., double high = 0.);
85
86private:
88
89private:
90 /// forbidden assignment (const FCNBase& = )
91 MnScan &operator=(const MnScan &) { return *this; }
92};
93
94} // namespace Minuit2
95
96} // namespace ROOT
97
98#endif // ROOT_Minuit2_MnScan
Interface (abstract class) defining the function to be minimized, which has to be implemented by the ...
Definition: FCNBase.h:45
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
virtual const FCNBase & Fcnbase() const
Definition: MnApplication.h:67
API class for minimization using a scan method to find the minimum; allows for user interaction: set/...
Definition: MnScan.h:33
MnScan(const FCNBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov, unsigned int stra=1)
construct from FCNBase + MnUserParameters + MnUserCovariance
Definition: MnScan.h:62
MnScan(const FCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str)
construct from FCNBase + MnUserParameterState + MnStrategy
Definition: MnScan.h:68
MnScan(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: MnScan.h:50
MnScan(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: MnScan.h:43
MnScan(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: MnScan.h:37
const ModularFunctionMinimizer & Minimizer() const override
Definition: MnScan.h:81
MnScan(const FCNBase &fcn, const MnUserParameters &par, unsigned int stra=1)
construct from FCNBase + MnUserParameters
Definition: MnScan.h:56
MnScan(const MnScan &migr)
Definition: MnScan.h:73
ScanMinimizer fMinimizer
Definition: MnScan.h:87
~MnScan() override
Definition: MnScan.h:78
ModularFunctionMinimizer & Minimizer() override
Definition: MnScan.h:80
std::vector< std::pair< double, double > > Scan(unsigned int par, unsigned int maxsteps=41, double low=0., double high=0.)
Definition: MnScan.cxx:17
MnScan & operator=(const MnScan &)
forbidden assignment (const FCNBase& = )
Definition: MnScan.h:91
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...
Base common class providing the API for all the minimizer Various Minimize methods are provided varyi...
Class implementing the required methods for a minimization using SCAN API is provided in the upper RO...
Definition: ScanMinimizer.h:28
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.