Logo ROOT   6.18/05
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
20namespace ROOT {
21
22 namespace Minuit2 {
23
24
25class FCNBase;
26class FunctionMinimum;
27class 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
38
39public:
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
62private:
63
64 const FCNBase& fFCN;
67};
68
69 } // namespace Minuit2
70
71} // namespace ROOT
72
73#endif // ROOT_Minuit2_MnContours
Interface (abstract class) defining the function to be minimized, which has to be implemented by the ...
Definition: FCNBase.h:47
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:37
const FCNBase & fFCN
Definition: MnContours.h:64
MnContours(const FCNBase &fcn, const FunctionMinimum &min)
construct from FCN + Minimum
Definition: MnContours.h:42
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
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
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:60
const FunctionMinimum & fMinimum
Definition: MnContours.h:65
MnContours(const FCNBase &fcn, const FunctionMinimum &min, unsigned int stra)
construct from FCN + Minimum + strategy
Definition: MnContours.h:45
API class for defining three levels of strategies: low (0), medium (1), high (>=2); acts on: Migrad (...
Definition: MnStrategy.h:27
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21