1 #ifndef NPSTAT_NEYMANOSDE1DRESULT_HH_
2 #define NPSTAT_NEYMANOSDE1DRESULT_HH_
18 enum NeymanOSDE1DMinimizerCode {
19 NOSDE_NOT_OPTIMIZED = 0,
21 NOSDE_GRADIENT_DESCENT,
24 NOSDE_MINUIT_IMPROVED,
26 NOSDE_N_MINIMIZER_CODES
29 const char* neymanOSDEMinimizerName(
unsigned minimizerCode);
35 const std::vector<double>& polyStats,
36 const double i_chiSquare,
37 const double i_maxAbsGradient,
38 const unsigned i_minimizerCode,
39 const unsigned i_nIterations,
40 const bool i_converged,
41 const bool i_badHessian)
43 polyStatistics_(polyStats),
44 chiSquare_(i_chiSquare),
45 maxAbsGradient_(i_maxAbsGradient),
46 minimizerCode_(i_minimizerCode),
47 nIterations_(i_nIterations),
48 converged_(i_converged),
49 badHessian_(i_badHessian)
53 inline void setMinimizerCode(
const unsigned c) {minimizerCode_ = c;}
55 inline const std::vector<double>& coeffs()
const {
return coeffs_;}
56 inline const std::vector<double>& polyStatistics()
const
57 {
return polyStatistics_;}
58 inline double chiSquare()
const {
return chiSquare_;}
59 inline double maxAbsGradient()
const {
return maxAbsGradient_;}
60 inline unsigned minimizerCode()
const {
return minimizerCode_;}
61 inline unsigned nIterations()
const {
return nIterations_;}
62 inline bool converged()
const {
return converged_;}
63 inline bool badHessian()
const {
return badHessian_;}
67 if (chiSquare_ < r.chiSquare_)
return true;
68 if (r.chiSquare_ < chiSquare_)
return false;
69 if (maxAbsGradient_ < r.maxAbsGradient_)
return true;
70 if (r.maxAbsGradient_ < maxAbsGradient_)
return false;
71 if (converged_ && !r.converged_)
return true;
72 if (!converged_ && r.converged_)
return false;
77 std::vector<double> coeffs_;
78 std::vector<double> polyStatistics_;
80 double maxAbsGradient_;
81 unsigned minimizerCode_;
82 unsigned nIterations_;
Definition: NeymanOSDE1DResult.hh:32
Definition: AbsArrayProjector.hh:14