Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
VariableMetricEDMEstimator.cxx
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 
12 #include "Minuit2/MinimumError.h"
13 
14 namespace ROOT {
15 
16  namespace Minuit2 {
17 
18 
19 double similarity(const LAVector&, const LASymMatrix&);
20 
21 double VariableMetricEDMEstimator::Estimate(const FunctionGradient& g, const MinimumError& e) const {
22  // estimate the edm (expected distance to the minimum) = 0.5 * g^T V g (where V is the error matrix, inverse of Hessian)
23  // assuminigfirst derivatives if F are zero at the mminimum,
24 
25  if(e.InvHessian().size() == 1)
26  return 0.5*g.Grad()(0)*g.Grad()(0)*e.InvHessian()(0,0);
27 
28  double rho = similarity(g.Grad(), e.InvHessian());
29  return 0.5*rho;
30 }
31 
32  } // namespace Minuit2
33 
34 } // namespace ROOT