ROOT
6.30.04
Reference Guide
All
Namespaces
Files
Pages
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
17
namespace
ROOT {
18
19
namespace
Minuit2 {
20
21
22
class
FCNBase;
23
class
FunctionMinimum;
24
class
MinosError;
25
class
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
34
class
MnMinos {
35
36
public
:
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
45
~MnMinos() {}
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
63
protected
:
64
65
/// internal method to get crossing value via MnFunctionCross
66
MnCross FindCrossValue(
int
dir ,
unsigned
int
,
unsigned
int
maxcalls,
double
toler)
const
;
67
68
private
:
69
70
const
FCNBase& fFCN;
71
const
FunctionMinimum& fMinimum;
72
MnStrategy fStrategy;
73
};
74
75
}
// namespace Minuit2
76
77
}
// namespace ROOT
78
79
#endif // ROOT_Minuit2_MnMinos
MnStrategy.h
math
minuit2
inc
Minuit2
MnMinos.h
Generated on Tue May 5 2020 14:03:06 for ROOT by
1.8.5