ROOT  6.06/09
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 
14 #include "Minuit2/MnConfig.h"
15 #include "Minuit2/MnStrategy.h"
16 
17 #include <vector>
18 #include <utility>
19 
20 namespace ROOT {
21 
22  namespace Minuit2 {
23 
24 
25 class FCNBase;
26 class FunctionMinimum;
27 class ContoursError;
28 
29 //_____________________________________________________________
30 /**
31  API class for Contours Error analysis (2-dim errors);
32  minimization has to be done before and Minimum must be valid;
33  possibility to ask only for the points or the points and associated Minos
34  errors;
35  */
36 
37 class MnContours {
38 
39 public:
40 
41  /// construct from FCN + Minimum
42  MnContours(const FCNBase& fcn, const FunctionMinimum& min) : fFCN(fcn), fMinimum(min), fStrategy(MnStrategy(1)) {}
43 
44  /// construct from FCN + Minimum + strategy
45  MnContours(const FCNBase& fcn, const FunctionMinimum& min, unsigned int stra) : fFCN(fcn), fMinimum(min), fStrategy(MnStrategy(stra)) {}
46 
47  /// construct from FCN + Minimum + strategy
48  MnContours(const FCNBase& fcn, const FunctionMinimum& min, const MnStrategy& stra) : fFCN(fcn), fMinimum(min), fStrategy(stra) {}
49 
51 
52  /// ask for one Contour (points only) from number of points (>=4) and parameter indeces
53  std::vector<std::pair<double,double> > operator()(unsigned int, unsigned int, unsigned int npoints = 20) const;
54 
55  /// ask for one Contour ContoursError (MinosErrors + points)
56  /// from number of points (>=4) and parameter indeces
57  /// can be printed via std::cout
58  ContoursError Contour(unsigned int, unsigned int, unsigned int npoints = 20) const;
59 
60  const MnStrategy& Strategy() const {return fStrategy;}
61 
62 private:
63 
64  const FCNBase& fFCN;
67 };
68 
69  } // namespace Minuit2
70 
71 } // namespace ROOT
72 
73 #endif // ROOT_Minuit2_MnContours
static Vc_ALWAYS_INLINE int_v min(const int_v &x, const int_v &y)
Definition: vector.h:433
Namespace for new ROOT classes and functions.
Definition: ROOT.py:1
MnContours(const FCNBase &fcn, const FunctionMinimum &min)
construct from FCN + Minimum
Definition: MnContours.h:42
API class for Contours Error analysis (2-dim errors); minimization has to be done before and Minimum ...
Definition: MnContours.h:37
class holding the full result of the minimization; both internal and external (MnUserParameterState) ...
Interface (abstract class) defining the function to be minimized, which has to be implemented by the ...
Definition: FCNBase.h:47
const FunctionMinimum & fMinimum
Definition: MnContours.h:65
MnContours(const FCNBase &fcn, const FunctionMinimum &min, const MnStrategy &stra)
construct from FCN + Minimum + strategy
Definition: MnContours.h:48
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:33
MnContours(const FCNBase &fcn, const FunctionMinimum &min, unsigned int stra)
construct from FCN + Minimum + strategy
Definition: MnContours.h:45
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:39
const MnStrategy & Strategy() const
Definition: MnContours.h:60
API class for defining three levels of strategies: low (0), medium (1), high (>=2); acts on: Migrad (...
Definition: MnStrategy.h:27
const FCNBase & fFCN
Definition: MnContours.h:64