Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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
13
14namespace ROOT {
15
16namespace Minuit2 {
17
18double similarity(const LAVector &, const LASymMatrix &);
19
21{
22 // estimate the edm (expected distance to the minimum) = 0.5 * g^T V g (where V is the error matrix, inverse of
23 // Hessian)
24 // edm = 0.5 * dx^T H dx where V = H^-1 and dx is x distance from minimum
25 // now since dx = - V g -> edm = 0.5 g^T V g
26
27 if (e.InvHessian().size() == 1)
28 return 0.5 * g.Grad()(0) * g.Grad()(0) * e.InvHessian()(0, 0);
29
30 double rho = similarity(g.Grad(), e.InvHessian());
31 return 0.5 * rho;
32}
33
34} // namespace Minuit2
35
36} // namespace ROOT
#define g(i)
Definition RSha256.hxx:105
#define e(i)
Definition RSha256.hxx:103
MinimumError keeps the inv.
double Estimate(const FunctionGradient &, const MinimumError &) const
double similarity(const LAVector &, const LASymMatrix &)
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...