Logo ROOT  
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 
17 namespace ROOT {
18 
19 namespace Minuit2 {
20 
21 class FCNBase;
22 class FunctionMinimum;
23 class MinosError;
24 class 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 
33 class MnMinos {
34 
35 public:
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 
42  ~MnMinos() {}
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 
60 protected:
61  /// internal method to get crossing value via MnFunctionCross
62  MnCross FindCrossValue(int dir, unsigned int, unsigned int maxcalls, double toler) const;
63 
64 private:
65  const FCNBase &fFCN;
68 };
69 
70 } // namespace Minuit2
71 
72 } // namespace ROOT
73 
74 #endif // ROOT_Minuit2_MnMinos
ROOT::Minuit2::MnMinos::fFCN
const FCNBase & fFCN
Definition: MnMinos.h:65
ROOT::Minuit2::MnMinos::fMinimum
const FunctionMinimum & fMinimum
Definition: MnMinos.h:66
ROOT::Minuit2::MnMinos::FindCrossValue
MnCross FindCrossValue(int dir, unsigned int, unsigned int maxcalls, double toler) const
internal method to get crossing value via MnFunctionCross
Definition: MnMinos.cxx:94
ROOT::Minuit2::MnMinos::Lower
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
ROOT::Minuit2::MnMinos::Loval
MnCross Loval(unsigned int, unsigned int maxcalls=0, double toler=0.1) const
Definition: MnMinos.cxx:205
MnStrategy.h
ROOT::Minuit2::FCNBase
Interface (abstract class) defining the function to be minimized, which has to be implemented by the ...
Definition: FCNBase.h:45
ROOT::Minuit2::MnMinos::fStrategy
MnStrategy fStrategy
Definition: MnMinos.h:67
ROOT::Minuit2::MnMinos::operator()
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
ROOT::Minuit2::MnCross
Definition: MnCross.h:19
ROOT::Minuit2::MinosError
Class holding the result of Minos (lower and upper values) for a specific parameter.
Definition: MinosError.h:25
ROOT::Minuit2::MnMinos::Upper
double Upper(unsigned int, unsigned int maxcalls=0, double toler=0.1) const
Definition: MnMinos.cxx:64
ROOT::Minuit2::FunctionMinimum
class holding the full result of the minimization; both internal and external (MnUserParameterState) ...
Definition: FunctionMinimum.h:33
ROOT::Minuit2::MnMinos::Upval
MnCross Upval(unsigned int, unsigned int maxcalls=0, double toler=0.1) const
Definition: MnMinos.cxx:199
ROOT::Minuit2::MnMinos::Minos
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
ROOT::Minuit2::MnMinos::~MnMinos
~MnMinos()
Definition: MnMinos.h:42
ROOT::Minuit2::MnStrategy
API class for defining three levels of strategies: low (0), medium (1), high (>=2); acts on: Migrad (...
Definition: MnStrategy.h:27
ROOT::Minuit2::MnMinos::MnMinos
MnMinos(const FCNBase &fcn, const FunctionMinimum &min, unsigned int stra=1)
construct from FCN + Minimum + strategy
Definition: MnMinos.cxx:22
ROOT::Minuit2::MnMinos
API class for Minos Error analysis (asymmetric errors); minimization has to be done before and Minimu...
Definition: MnMinos.h:33
ROOT
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Definition: EExecutionPolicy.hxx:4