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 
13 #include "Minuit2/MnApplication.h"
14 #include "Minuit2/ScanMinimizer.h"
15 
16 #include <vector>
17 #include <utility>
18 
19 namespace ROOT {
20 
21 namespace Minuit2 {
22 
23 class 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 
33 class MnScan : public MnApplication {
34 
35 public:
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)
45  : MnApplication(fcn, MnUserParameterState(par, cov, nrow), MnStrategy(stra)), fMinimizer(ScanMinimizer())
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() {}
79 
81  const ModularFunctionMinimizer &Minimizer() const { 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 
86 private:
88 
89 private:
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
ROOT::Minuit2::MnScan::MnScan
MnScan(const MnScan &migr)
Definition: MnScan.h:73
ROOT::Minuit2::MnScan::MnScan
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
ROOT::Minuit2::MnScan::fMinimizer
ScanMinimizer fMinimizer
Definition: MnScan.h:87
ROOT::Minuit2::MnScan::MnScan
MnScan(const FCNBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov, unsigned int stra=1)
construct from FCNBase + MnUserParameters + MnUserCovariance
Definition: MnScan.h:62
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::MnApplication::Fcnbase
virtual const FCNBase & Fcnbase() const
Definition: MnApplication.h:67
ROOT::Minuit2::MnScan::Scan
std::vector< std::pair< double, double > > Scan(unsigned int par, unsigned int maxsteps=41, double low=0., double high=0.)
Definition: MnScan.cxx:17
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::MnScan::MnScan
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
MnApplication.h
ROOT::Minuit2::MnApplication::State
const MnUserParameterState & State() const
Definition: MnApplication.h:64
ROOT::Minuit2::MnApplication::NumOfCalls
unsigned int NumOfCalls() const
Definition: MnApplication.h:69
ROOT::Minuit2::MnScan::MnScan
MnScan(const FCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str)
construct from FCNBase + MnUserParameterState + MnStrategy
Definition: MnScan.h:68
ROOT::Minuit2::MnScan::~MnScan
~MnScan()
Definition: MnScan.h:78
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::MnScan::Minimizer
ModularFunctionMinimizer & Minimizer()
Definition: MnScan.h:80
ROOT::Minuit2::ModularFunctionMinimizer
Base common class providing the API for all the minimizer Various Minimize methods are provided varyi...
Definition: ModularFunctionMinimizer.h:40
ROOT::Minuit2::MnScan::MnScan
MnScan(const FCNBase &fcn, const MnUserParameters &par, unsigned int stra=1)
construct from FCNBase + MnUserParameters
Definition: MnScan.h:56
ScanMinimizer.h
ROOT::Minuit2::MnScan::Minimizer
const ModularFunctionMinimizer & Minimizer() const
Definition: MnScan.h:81
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::MnScan::MnScan
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
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::ScanMinimizer
Class implementing the required methods for a minimization using SCAN API is provided in the upper RO...
Definition: ScanMinimizer.h:28
ROOT::Minuit2::MnScan
API class for minimization using a scan method to find the minimum; allows for user interaction: set/...
Definition: MnScan.h:33
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::MnScan::operator=
MnScan & operator=(const MnScan &)
forbidden assignment (const FCNBase& = )
Definition: MnScan.h:91
ROOT::Minuit2::MnApplication::Strategy
const MnStrategy & Strategy() const
Definition: MnApplication.h:68