Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
MnStrategy.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/MnStrategy.h"
11
12#include <algorithm>
13#include <limits>
14
15namespace ROOT {
16
17namespace Minuit2 {
18
19MnStrategy::MnStrategy() : fHessCFDG2(0), fHessForcePosDef(1), fStoreLevel(1)
20{
21 // default strategy
23}
24
25MnStrategy::MnStrategy(unsigned int stra) : fHessCFDG2(0), fHessForcePosDef(1), fStoreLevel(1)
26{
27 // user defined strategy (0, 1, 2, >=3)
28 if (stra == 0)
30 else if (stra == 1)
32 else if (stra == 2)
34 else
36}
37
51
65
79
94
96{
97 return MnStrategy(std::max(0, int(fStrategy - 1)));
98}
99
101{
102 if (fStrategy == 0)
103 return std::numeric_limits<double>::infinity();
104 if (fStrategy == 1)
105 return 0.05;
106 return -std::numeric_limits<double>::infinity();
107}
108
109} // namespace Minuit2
110
111} // namespace ROOT
API class for defining four levels of strategies: low (0), medium (1), high (2), very high (>=3); act...
Definition MnStrategy.h:27
void SetHessianNCycles(unsigned int n)
Definition MnStrategy.h:59
void SetHessianStepTolerance(double stp)
Definition MnStrategy.h:60
void SetGradientTolerance(double toler)
Definition MnStrategy.h:57
void SetHessianCentralFDMixedDerivatives(unsigned int flag)
Definition MnStrategy.h:66
void SetGradientNCycles(unsigned int n)
Definition MnStrategy.h:55
void SetHessianForcePosDef(unsigned int flag)
Definition MnStrategy.h:70
void SetGradientStepTolerance(double stp)
Definition MnStrategy.h:56
void SetHessianGradientNCycles(unsigned int n)
Definition MnStrategy.h:62
void SetHessianG2Tolerance(double toler)
Definition MnStrategy.h:61
double HessianRecomputeThreshold() const
MnStrategy NextLower() const