Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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...
unsigned int NumOfCalls() const
const MnStrategy & Strategy() const
const MnUserParameterState & State() const
virtual const FCNBase & Fcnbase() const
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 four levels of strategies: low (0), medium (1), high (2), very high (>=3); act...
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...
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...