Logo ROOT   6.16/01
Reference Guide
MnMinos.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_MnMinos
11#define ROOT_Minuit2_MnMinos
12
13#include "Minuit2/MnStrategy.h"
14
15#include <utility>
16
17namespace ROOT {
18
19 namespace Minuit2 {
20
21
22class FCNBase;
23class FunctionMinimum;
24class MinosError;
25class MnCross;
26
27//__________________________________________________________________
28/**
29 API class for Minos Error analysis (asymmetric errors);
30 minimization has to be done before and Minimum must be valid;
31 possibility to ask only for one side of the Minos Error;
32 */
33
34class MnMinos {
35
36public:
37
38
39 /// construct from FCN + Minimum + strategy
40 MnMinos(const FCNBase& fcn, const FunctionMinimum& min, unsigned int stra = 1);
41
42 /// construct from FCN + Minimum + strategy
43 MnMinos(const FCNBase& fcn, const FunctionMinimum& min, const MnStrategy& stra);
44
46
47 /// returns the negative (pair.first) and the positive (pair.second)
48 /// Minos Error of the Parameter
49 std::pair<double,double> operator()(unsigned int, unsigned int maxcalls = 0, double toler = 0.1) const;
50
51 /// calculate one side (negative or positive Error) of the Parameter
52 /// give as input (optionally) maxcalls and tolerance
53 double Lower(unsigned int, unsigned int maxcalls = 0, double toler = 0.1) const;
54 double Upper(unsigned int, unsigned int maxcalls = 0, double toler = 0.1) const;
55
56 MnCross Loval(unsigned int, unsigned int maxcalls = 0, double toler = 0.1) const;
57 MnCross Upval(unsigned int, unsigned int maxcalls = 0, double toler = 0.1) const;
58
59 /// ask for MinosError (Lower + Upper)
60 /// can be printed via std::cout
61 MinosError Minos(unsigned int, unsigned int maxcalls = 0, double toler = 0.1) const;
62
63protected:
64
65 /// internal method to get crossing value via MnFunctionCross
66 MnCross FindCrossValue(int dir , unsigned int, unsigned int maxcalls, double toler) const;
67
68private:
69
70 const FCNBase& fFCN;
73};
74
75 } // namespace Minuit2
76
77} // namespace ROOT
78
79#endif // ROOT_Minuit2_MnMinos
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) ...
Class holding the result of Minos (lower and upper values) for a specific parameter.
Definition: MinosError.h:25
API class for Minos Error analysis (asymmetric errors); minimization has to be done before and Minimu...
Definition: MnMinos.h:34
const FunctionMinimum & fMinimum
Definition: MnMinos.h:71
const FCNBase & fFCN
Definition: MnMinos.h:70
MnStrategy fStrategy
Definition: MnMinos.h:72
MinosError Minos(unsigned int, unsigned int maxcalls=0, double toler=0.1) const
ask for MinosError (Lower + Upper) can be printed via std::cout
Definition: MnMinos.cxx:88
double Upper(unsigned int, unsigned int maxcalls=0, double toler=0.1) const
Definition: MnMinos.cxx:76
std::pair< double, double > operator()(unsigned int, unsigned int maxcalls=0, double toler=0.1) const
returns the negative (pair.first) and the positive (pair.second) Minos Error of the Parameter
Definition: MnMinos.cxx:58
MnCross Loval(unsigned int, unsigned int maxcalls=0, double toler=0.1) const
Definition: MnMinos.cxx:210
MnCross FindCrossValue(int dir, unsigned int, unsigned int maxcalls, double toler) const
internal method to get crossing value via MnFunctionCross
Definition: MnMinos.cxx:109
MnMinos(const FCNBase &fcn, const FunctionMinimum &min, unsigned int stra=1)
construct from FCN + Minimum + strategy
Definition: MnMinos.cxx:29
double Lower(unsigned int, unsigned int maxcalls=0, double toler=0.1) const
calculate one side (negative or positive Error) of the Parameter give as input (optionally) maxcalls ...
Definition: MnMinos.cxx:64
MnCross Upval(unsigned int, unsigned int maxcalls=0, double toler=0.1) const
Definition: MnMinos.cxx:205
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