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 ");
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
void Release()
release the parameter
bool IsFixed() const
check if is fixed
Class, describing value, limits and step size of the parameters Provides functionality also to set/re...
double LowerLimit() const
return lower limit value
ClassImp(TIterator) Bool_t TIterator return false
Compare two iterator objects.
void SetValue(double val)
set the value
void Fix()
fix the parameter
void SetName(const std::string &name)
interaction
void SetLowerLimit(double low)
set a single 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 IsDoubleBound() const
check if is double bound (upper AND lower limit)
const std::string & Name() const
return name
double UpperLimit() const
return upper limit value
~ParameterSettings()
Destructor (no operations)
void Set(const std::string &name, double value, double step)
set value and name (unlimited parameter)
bool HasUpperLimit() const
check if parameter has upper limit
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)
double StepSize() const
return step size
void Set(const std::string &name, double value, double step, double lower, double upper)
set a limited parameter
double Value() const
copy constructor and assignment operators (leave them to the compiler)
void SetUpperLimit(double up)
set a single upper limit
bool HasLowerLimit() const
check if parameter has lower limit
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.