ROOT
6.18/05
Reference Guide
math
minuit2
src
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
10
#include "
Minuit2/VariableMetricEDMEstimator.h
"
11
#include "
Minuit2/FunctionGradient.h
"
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
FunctionGradient.h
MinimumError.h
g
#define g(i)
Definition:
RSha256.hxx:105
e
#define e(i)
Definition:
RSha256.hxx:103
VariableMetricEDMEstimator.h
ROOT::Minuit2::FunctionGradient
Definition:
FunctionGradient.h:21
ROOT::Minuit2::MinimumError
MinimumError keeps the inv.
Definition:
MinimumError.h:26
ROOT::Minuit2::VariableMetricEDMEstimator::Estimate
double Estimate(const FunctionGradient &, const MinimumError &) const
Definition:
VariableMetricEDMEstimator.cxx:21
ROOT::Minuit2::similarity
double similarity(const LAVector &, const LASymMatrix &)
Definition:
LaVtMVSimilarity.cxx:21
ROOT
Namespace for new ROOT classes and functions.
Definition:
StringConv.hxx:21