Logo ROOT   6.16/01
Reference Guide
HessianGradientCalculator.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_HessianGradientCalculator
11#define ROOT_Minuit2_HessianGradientCalculator
12
14#include "Minuit2/MnMatrix.h"
15#include <utility>
16
17namespace ROOT {
18
19 namespace Minuit2 {
20
21
22
23class MnFcn;
24class MnUserTransformation;
25class MnMachinePrecision;
26class MnStrategy;
27
28/**
29 HessianGradientCalculator: class to calculate Gradient for Hessian
30 */
31
33
34public:
35
37 const MnStrategy& stra) :
38 fFcn(fcn), fTransformation(par), fStrategy(stra) {}
39
41
42 virtual FunctionGradient operator()(const MinimumParameters&) const;
43
45 const FunctionGradient&) const;
46
47 std::pair<FunctionGradient, MnAlgebraicVector> DeltaGradient(const MinimumParameters&, const FunctionGradient&) const;
48
49 const MnFcn& Fcn() const {return fFcn;}
51 const MnMachinePrecision& Precision() const;
52 const MnStrategy& Strategy() const {return fStrategy;}
53
54 unsigned int Ncycle() const;
55 double StepTolerance() const;
56 double GradTolerance() const;
57
58private:
59
60 const MnFcn& fFcn;
63};
64
65 } // namespace Minuit2
66
67} // namespace ROOT
68
69#endif // ROOT_Minuit2_HessianGradientCalculator
interface class for gradient calculators
HessianGradientCalculator: class to calculate Gradient for Hessian.
const MnUserTransformation & Trafo() const
std::pair< FunctionGradient, MnAlgebraicVector > DeltaGradient(const MinimumParameters &, const FunctionGradient &) const
virtual FunctionGradient operator()(const MinimumParameters &) const
HessianGradientCalculator(const MnFcn &fcn, const MnUserTransformation &par, const MnStrategy &stra)
const MnMachinePrecision & Precision() const
Wrapper class to FCNBase interface used internally by Minuit.
Definition: MnFcn.h:33
determines the relative floating point arithmetic precision.
API class for defining three levels of strategies: low (0), medium (1), high (>=2); acts on: Migrad (...
Definition: MnStrategy.h:27
class dealing with the transformation between user specified parameters (external) and internal param...
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21