Logo ROOT  
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 
17 namespace ROOT {
18 
19  namespace Minuit2 {
20 
21 
22 
23 class MnFcn;
24 class MnUserTransformation;
25 class MnMachinePrecision;
26 class MnStrategy;
27 
28 /**
29  HessianGradientCalculator: class to calculate Gradient for Hessian
30  */
31 
32 class HessianGradientCalculator : public GradientCalculator {
33 
34 public:
35 
36  HessianGradientCalculator(const MnFcn& fcn, const MnUserTransformation& par,
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;}
50  const MnUserTransformation& Trafo() const {return fTransformation;}
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 
58 private:
59 
60  const MnFcn& fFcn;
62  const MnStrategy& fStrategy;
63 };
64 
65  } // namespace Minuit2
66 
67 } // namespace ROOT
68 
69 #endif // ROOT_Minuit2_HessianGradientCalculator
ROOT::Minuit2::MnFcn
Wrapper class to FCNBase interface used internally by Minuit.
Definition: MnFcn.h:39
GradientCalculator.h
ROOT::Minuit2::HessianGradientCalculator::Trafo
const MnUserTransformation & Trafo() const
Definition: HessianGradientCalculator.h:58
ROOT::Minuit2::HessianGradientCalculator::Precision
const MnMachinePrecision & Precision() const
Definition: HessianGradientCalculator.cxx:57
MnMatrix.h
ROOT::Minuit2::HessianGradientCalculator::Strategy
const MnStrategy & Strategy() const
Definition: HessianGradientCalculator.h:60
ROOT::Minuit2::FunctionGradient
Definition: FunctionGradient.h:29
ROOT::Minuit2::HessianGradientCalculator::fTransformation
const MnUserTransformation & fTransformation
Definition: HessianGradientCalculator.h:69
ROOT::Minuit2::HessianGradientCalculator::operator()
virtual FunctionGradient operator()(const MinimumParameters &) const
Definition: HessianGradientCalculator.cxx:42
ROOT::Minuit2::HessianGradientCalculator::StepTolerance
double StepTolerance() const
Definition: HessianGradientCalculator.cxx:67
ROOT::Minuit2::MinimumParameters
Definition: MinimumParameters.h:29
ROOT::Minuit2::HessianGradientCalculator::HessianGradientCalculator
HessianGradientCalculator(const MnFcn &fcn, const MnUserTransformation &par, const MnStrategy &stra)
Definition: HessianGradientCalculator.h:44
ROOT::Minuit2::HessianGradientCalculator::Fcn
const MnFcn & Fcn() const
Definition: HessianGradientCalculator.h:57
ROOT::Minuit2::HessianGradientCalculator::fStrategy
const MnStrategy & fStrategy
Definition: HessianGradientCalculator.h:70
ROOT::Minuit2::HessianGradientCalculator::fFcn
const MnFcn & fFcn
Definition: HessianGradientCalculator.h:68
ROOT::Minuit2::MnUserTransformation
class dealing with the transformation between user specified parameters (external) and internal param...
Definition: MnUserTransformation.h:47
ROOT::Minuit2::MnStrategy
API class for defining three levels of strategies: low (0), medium (1), high (>=2); acts on: Migrad (...
Definition: MnStrategy.h:35
ROOT::Minuit2::HessianGradientCalculator::Ncycle
unsigned int Ncycle() const
Definition: HessianGradientCalculator.cxx:62
ROOT::Minuit2::HessianGradientCalculator::DeltaGradient
std::pair< FunctionGradient, MnAlgebraicVector > DeltaGradient(const MinimumParameters &, const FunctionGradient &) const
Definition: HessianGradientCalculator.cxx:77
ROOT::Minuit2::HessianGradientCalculator::~HessianGradientCalculator
virtual ~HessianGradientCalculator()
Definition: HessianGradientCalculator.h:48
ROOT::Minuit2::HessianGradientCalculator::GradTolerance
double GradTolerance() const
Definition: HessianGradientCalculator.cxx:72
ROOT
VSD Structures.
Definition: StringConv.hxx:21