Logo ROOT  
Reference Guide
MnContours.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_MnContours
11 #define ROOT_Minuit2_MnContours
12 
13 #include "Minuit2/MnConfig.h"
14 #include "Minuit2/MnStrategy.h"
15 
16 #include <vector>
17 #include <utility>
18 
19 namespace ROOT {
20 
21 namespace Minuit2 {
22 
23 class FCNBase;
24 class FunctionMinimum;
25 class ContoursError;
26 
27 //_____________________________________________________________
28 /**
29  API class for Contours Error analysis (2-dim errors);
30  minimization has to be done before and Minimum must be valid;
31  possibility to ask only for the points or the points and associated Minos
32  errors;
33  */
34 
35 class MnContours {
36 
37 public:
38  /// construct from FCN + Minimum
39  MnContours(const FCNBase &fcn, const FunctionMinimum &min) : fFCN(fcn), fMinimum(min), fStrategy(MnStrategy(1)) {}
40 
41  /// construct from FCN + Minimum + strategy
42  MnContours(const FCNBase &fcn, const FunctionMinimum &min, unsigned int stra)
43  : fFCN(fcn), fMinimum(min), fStrategy(MnStrategy(stra))
44  {
45  }
46 
47  /// construct from FCN + Minimum + strategy
48  MnContours(const FCNBase &fcn, const FunctionMinimum &min, const MnStrategy &stra)
49  : fFCN(fcn), fMinimum(min), fStrategy(stra)
50  {
51  }
52 
54 
55  /// ask for one Contour (points only) from number of points (>=4) and parameter indeces
56  std::vector<std::pair<double, double>> operator()(unsigned int, unsigned int, unsigned int npoints = 20) const;
57 
58  /// ask for one Contour ContoursError (MinosErrors + points)
59  /// from number of points (>=4) and parameter indeces
60  /// can be printed via std::cout
61  ContoursError Contour(unsigned int, unsigned int, unsigned int npoints = 20) const;
62 
63  const MnStrategy &Strategy() const { return fStrategy; }
64 
65 private:
66  const FCNBase &fFCN;
69 };
70 
71 } // namespace Minuit2
72 
73 } // namespace ROOT
74 
75 #endif // ROOT_Minuit2_MnContours
ROOT::Minuit2::MnContours::MnContours
MnContours(const FCNBase &fcn, const FunctionMinimum &min)
construct from FCN + Minimum
Definition: MnContours.h:39
ROOT::Minuit2::MnContours::operator()
std::vector< std::pair< double, double > > operator()(unsigned int, unsigned int, unsigned int npoints=20) const
ask for one Contour (points only) from number of points (>=4) and parameter indeces
Definition: MnContours.cxx:26
MnStrategy.h
ROOT::Minuit2::MnContours::fFCN
const FCNBase & fFCN
Definition: MnContours.h:66
ROOT::Minuit2::MnContours::Strategy
const MnStrategy & Strategy() const
Definition: MnContours.h:63
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::ContoursError
Definition: ContoursError.h:23
ROOT::Minuit2::MnContours::~MnContours
~MnContours()
Definition: MnContours.h:53
ROOT::Minuit2::MnContours::MnContours
MnContours(const FCNBase &fcn, const FunctionMinimum &min, const MnStrategy &stra)
construct from FCN + Minimum + strategy
Definition: MnContours.h:48
ROOT::Minuit2::MnContours::fMinimum
const FunctionMinimum & fMinimum
Definition: MnContours.h:67
ROOT::Minuit2::MnContours::MnContours
MnContours(const FCNBase &fcn, const FunctionMinimum &min, unsigned int stra)
construct from FCN + Minimum + strategy
Definition: MnContours.h:42
ROOT::Minuit2::MnContours::Contour
ContoursError Contour(unsigned int, unsigned int, unsigned int npoints=20) const
ask for one Contour ContoursError (MinosErrors + points) from number of points (>=4) and parameter in...
Definition: MnContours.cxx:34
ROOT::Minuit2::FunctionMinimum
class holding the full result of the minimization; both internal and external (MnUserParameterState) ...
Definition: FunctionMinimum.h:36
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::MnContours::fStrategy
MnStrategy fStrategy
Definition: MnContours.h:68
ROOT
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Definition: EExecutionPolicy.hxx:4
MnConfig.h
ROOT::Minuit2::MnContours
API class for Contours Error analysis (2-dim errors); minimization has to be done before and Minimum ...
Definition: MnContours.h:35