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
19namespace ROOT {
20
21namespace Minuit2 {
22
23class FCNBase;
24class FunctionMinimum;
25class 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
36
37public:
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
65private:
66 const FCNBase &fFCN;
69};
70
71} // namespace Minuit2
72
73} // namespace ROOT
74
75#endif // ROOT_Minuit2_MnContours
Interface (abstract class) defining the function to be minimized, which has to be implemented by the ...
Definition: FCNBase.h:45
class holding the full result of the minimization; both internal and external (MnUserParameterState) ...
API class for Contours Error analysis (2-dim errors); minimization has to be done before and Minimum ...
Definition: MnContours.h:35
const FCNBase & fFCN
Definition: MnContours.h:66
MnContours(const FCNBase &fcn, const FunctionMinimum &min)
construct from FCN + Minimum
Definition: MnContours.h:39
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
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
MnContours(const FCNBase &fcn, const FunctionMinimum &min, const MnStrategy &stra)
construct from FCN + Minimum + strategy
Definition: MnContours.h:48
const MnStrategy & Strategy() const
Definition: MnContours.h:63
const FunctionMinimum & fMinimum
Definition: MnContours.h:67
MnContours(const FCNBase &fcn, const FunctionMinimum &min, unsigned int stra)
construct from FCN + Minimum + strategy
Definition: MnContours.h:42
API class for defining three levels of strategies: low (0), medium (1), high (>=2); acts on: Migrad (...
Definition: MnStrategy.h:27
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.