ROOT   Reference Guide
Loading...
Searching...
No Matches
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
19namespace Minuit2 {
20
21class FCNBase;
22class FunctionMinimum;
23class MinosError;
24class MnCross;
25
26//__________________________________________________________________
27/**
28 API class for Minos Error analysis (asymmetric errors);
29 minimization has to be done before and Minimum must be valid;
30 possibility to ask only for one side of the Minos Error;
31 */
32
33class MnMinos {
34
35public:
36 /// construct from FCN + Minimum + strategy
37 MnMinos(const FCNBase &fcn, const FunctionMinimum &min, unsigned int stra = 1);
38
39 /// construct from FCN + Minimum + strategy
40 MnMinos(const FCNBase &fcn, const FunctionMinimum &min, const MnStrategy &stra);
41
43
44 /// returns the negative (pair.first) and the positive (pair.second)
45 /// Minos Error of the Parameter
46 std::pair<double, double> operator()(unsigned int, unsigned int maxcalls = 0, double toler = 0.1) const;
47
48 /// calculate one side (negative or positive Error) of the Parameter
49 /// give as input (optionally) maxcalls and tolerance
50 double Lower(unsigned int, unsigned int maxcalls = 0, double toler = 0.1) const;
51 double Upper(unsigned int, unsigned int maxcalls = 0, double toler = 0.1) const;
52
53 MnCross Loval(unsigned int, unsigned int maxcalls = 0, double toler = 0.1) const;
54 MnCross Upval(unsigned int, unsigned int maxcalls = 0, double toler = 0.1) const;
55
56 /// ask for MinosError (Lower + Upper)
57 /// can be printed via std::cout
58 MinosError Minos(unsigned int, unsigned int maxcalls = 0, double toler = 0.1) const;
59
60protected:
61 /// internal method to get crossing value via MnFunctionCross
62 MnCross FindCrossValue(int dir, unsigned int, unsigned int maxcalls, double toler) const;
63
64private:
65 const FCNBase &fFCN;
68};
69
70} // namespace Minuit2
71
72} // namespace ROOT
73
74#endif // ROOT_Minuit2_MnMinos
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) ...
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:33
const FunctionMinimum & fMinimum
Definition MnMinos.h:66
const FCNBase & fFCN
Definition MnMinos.h:65
MnStrategy fStrategy
Definition MnMinos.h:67
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:75
double Upper(unsigned int, unsigned int maxcalls=0, double toler=0.1) const
Definition MnMinos.cxx:64
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:46
MnCross Loval(unsigned int, unsigned int maxcalls=0, double toler=0.1) const
Definition MnMinos.cxx:205
MnCross FindCrossValue(int dir, unsigned int, unsigned int maxcalls, double toler) const
internal method to get crossing value via MnFunctionCross
Definition MnMinos.cxx:94
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:53
MnCross Upval(unsigned int, unsigned int maxcalls=0, double toler=0.1) const
Definition MnMinos.cxx:199
API class for defining four levels of strategies: low (0), medium (1), high (2), very high (>=3); act...
Definition MnStrategy.h:27
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...