Logo ROOT   6.14/05
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 
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
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21
MnRefCountedPointer< BasicMinimumError > fData
Definition: MinimumError.h:75
MinimumError(const MnAlgebraicSymMatrix &mat, MnInvertFailed)
Definition: MinimumError.h:45
Class describing a symmetric matrix of size n.
Definition: LASymMatrix.h:51
Internal Class containing the error information on the estimated minimum : Error matrix + dcovar + ad...
MinimumError & operator=(const MinimumError &err)
Definition: MinimumError.h:53
MinimumError(const MnAlgebraicSymMatrix &mat, double dcov)
Definition: MinimumError.h:39
MinimumError(const MnAlgebraicSymMatrix &mat, MnHesseFailed)
Definition: MinimumError.h:41
MnAlgebraicSymMatrix Hessian() const
Definition: MinimumError.h:62
MnAlgebraicSymMatrix Matrix() const
Definition: MinimumError.h:58
MinimumError(const MnAlgebraicSymMatrix &mat, MnMadePosDef)
Definition: MinimumError.h:43
MinimumError(const MnAlgebraicSymMatrix &mat, MnNotPosDef)
Definition: MinimumError.h:47
you should not use this method at all Int_t Int_t Double_t Double_t Double_t e
Definition: TRolke.cxx:630
MinimumError keeps the inv.
Definition: MinimumError.h:26
MinimumError(unsigned int n)
Definition: MinimumError.h:37
const Int_t n
Definition: legend1.C:16
const MnAlgebraicSymMatrix & InvHessian() const
Definition: MinimumError.h:60
MinimumError(const MinimumError &e)
Definition: MinimumError.h:51