13 #ifndef ROOT_Fit_ParameterSettings 14 #define ROOT_Fit_ParameterSettings 18 #ifndef ROOT_Math_Error 153 if (low == up && low ==
fValue) {
158 MATH_INFO_MSG(
"ParameterSettings",
"lower/upper bounds outside current parameter value. The value will be set to (low+up)/2 ");
bool IsFixed() const
check if is fixed
void RemoveLimits()
remove all limit
static Vc_ALWAYS_INLINE int_v min(const int_v &x, const int_v &y)
ParameterSettings(const std::string &name, double val, double err)
constructor for unlimited named Parameter
Namespace for new ROOT classes and functions.
void Release()
release the parameter
Class, describing value, limits and step size of the parameters Provides functionality also to set/re...
double Value() const
copy constructor and assignment operators (leave them to the compiler)
void SetValue(double val)
set the value
void Fix()
fix the parameter
void SetName(const std::string &name)
interaction
double StepSize() const
return step size
void SetLowerLimit(double low)
set a single lower limit
bool IsDoubleBound() const
check if is double bound (upper AND lower limit)
#define MATH_INFO_MSG(loc, str)
void Set(const std::string &name, double value)
set a fixed parameter
void SetStepSize(double err)
set the step size
bool HasUpperLimit() const
check if parameter has upper limit
~ParameterSettings()
Destructor (no operations)
void Set(const std::string &name, double value, double step)
set value and name (unlimited parameter)
double UpperLimit() const
return upper limit value
const std::string & Name() const
return name
TFitResultPtr Fit(FitObject *h1, TF1 *f1, Foption_t &option, const ROOT::Math::MinimizerOptions &moption, const char *goption, ROOT::Fit::DataRange &range)
ParameterSettings(const std::string &name, double val, double err, double min, double max)
constructor for double limited Parameter
ParameterSettings(const std::string &name, double val)
constructor for fixed Parameter
static Vc_ALWAYS_INLINE int_v max(const int_v &x, const int_v &y)
void Set(const std::string &name, double value, double step, double lower, double upper)
set a limited parameter
void SetUpperLimit(double up)
set a single upper limit
double LowerLimit() const
return lower limit value
void SetLimits(double low, double up)
set a double side limit, if low == up the parameter is fixed if low > up the limits are removed ...
bool IsBound() const
check if is bound
ParameterSettings()
Default constructor.
bool HasLowerLimit() const
check if parameter has lower limit