Logo ROOT  
Reference Guide
MinimumError.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_MinimumError
11 #define ROOT_Minuit2_MinimumError
12 
15 
16 namespace ROOT {
17 
18  namespace Minuit2 {
19 
20 
21 /** MinimumError keeps the inv. 2nd derivative (inv. Hessian) used for
22  calculating the Parameter step size (-V*g) and for the covariance Update
23  (ErrorUpdator). The covariance matrix is equal to twice the inv. Hessian.
24  */
25 
26 class MinimumError {
27 
28 public:
29 
30  class MnNotPosDef {};
31  class MnMadePosDef {};
32  class MnHesseFailed {};
33  class MnInvertFailed {};
34 
35 public:
36 
38 
40 
41  MinimumError(const MnAlgebraicSymMatrix& mat, MnHesseFailed) : fData(MnRefCountedPointer<BasicMinimumError>(new BasicMinimumError(mat, BasicMinimumError::MnHesseFailed()))) {}
42 
44 
46 
48 
50 
52 
54  fData = err.fData;
55  return *this;
56  }
57 
58  MnAlgebraicSymMatrix Matrix() const {return fData->Matrix();}
59 
60  const MnAlgebraicSymMatrix& InvHessian() const {return fData->InvHessian();}
61 
62  MnAlgebraicSymMatrix Hessian() const {return fData->Hessian();}
63 
64  double Dcovar() const {return fData->Dcovar();}
65  bool IsAccurate() const {return fData->IsAccurate();}
66  bool IsValid() const {return fData->IsValid();}
67  bool IsPosDef() const {return fData->IsPosDef();}
68  bool IsMadePosDef() const {return fData->IsMadePosDef();}
69  bool HesseFailed() const {return fData->HesseFailed();}
70  bool InvertFailed() const {return fData->InvertFailed();}
71  bool IsAvailable() const {return fData->IsAvailable();}
72 
73 private:
74 
76 };
77 
78  } // namespace Minuit2
79 
80 } // namespace ROOT
81 
82 #endif // ROOT_Minuit2_MinimumError
n
const Int_t n
Definition: legend1.C:16
ROOT::Minuit2::MinimumError::Hessian
MnAlgebraicSymMatrix Hessian() const
Definition: MinimumError.h:74
ROOT::Minuit2::MinimumError::fData
MnRefCountedPointer< BasicMinimumError > fData
Definition: MinimumError.h:87
e
#define e(i)
Definition: RSha256.hxx:121
ROOT::Minuit2::MinimumError::Matrix
MnAlgebraicSymMatrix Matrix() const
Definition: MinimumError.h:70
ROOT::Minuit2::MinimumError::operator=
MinimumError & operator=(const MinimumError &err)
Definition: MinimumError.h:65
ROOT::Minuit2::LASymMatrix
Class describing a symmetric matrix of size n.
Definition: LASymMatrix.h:59
ROOT::Minuit2::MnAlgebraicSymMatrix
LASymMatrix MnAlgebraicSymMatrix
Definition: MnMatrix.h:36
ROOT::Minuit2::MinimumError::MinimumError
MinimumError(unsigned int n)
Definition: MinimumError.h:49
ROOT::Minuit2::MinimumError::MinimumError
MinimumError(const MnAlgebraicSymMatrix &mat, double dcov)
Definition: MinimumError.h:51
MnRefCountedPointer.h
ROOT::Minuit2::MinimumError::IsValid
bool IsValid() const
Definition: MinimumError.h:78
ROOT::Minuit2::MinimumError::~MinimumError
~MinimumError()
Definition: MinimumError.h:61
ROOT::Minuit2::MinimumError::HesseFailed
bool HesseFailed() const
Definition: MinimumError.h:81
ROOT::Minuit2::MinimumError::Dcovar
double Dcovar() const
Definition: MinimumError.h:76
BasicMinimumError.h
ROOT::Minuit2::MinimumError::MnMadePosDef
Definition: MinimumError.h:43
ROOT::Minuit2::MinimumError::MnNotPosDef
Definition: MinimumError.h:42
ROOT::Minuit2::MinimumError::MnInvertFailed
Definition: MinimumError.h:45
ROOT::Minuit2::MnRefCountedPointer
Definition: MnRefCountedPointer.h:28
ROOT::Minuit2::MinimumError::InvertFailed
bool InvertFailed() const
Definition: MinimumError.h:82
ROOT::Minuit2::MinimumError
MinimumError keeps the inv.
Definition: MinimumError.h:34
ROOT::Minuit2::MinimumError::IsMadePosDef
bool IsMadePosDef() const
Definition: MinimumError.h:80
ROOT::Minuit2::MinimumError::InvHessian
const MnAlgebraicSymMatrix & InvHessian() const
Definition: MinimumError.h:72
ROOT::Minuit2::MinimumError::IsAvailable
bool IsAvailable() const
Definition: MinimumError.h:83
ROOT
VSD Structures.
Definition: StringConv.hxx:21
ROOT::Minuit2::MinimumError::IsPosDef
bool IsPosDef() const
Definition: MinimumError.h:79
ROOT::Minuit2::BasicMinimumError
Internal Class containing the error information on the estimated minimum : Error matrix + dcovar + ad...
Definition: BasicMinimumError.h:38
ROOT::Minuit2::MinimumError::IsAccurate
bool IsAccurate() const
Definition: MinimumError.h:77