About ROOTMathMinimizer parameters

I have two questions please :
I use ROOT::Math::Minimizer as in the simplest example (where I made some changes) exempleMin2.C (2.9 KB), I want
to randomly shoot my free parameters in an interval [lower value, higher value], but for some parameters the result is out of given range!! it can give -4 for the variable[2] for example.
My second question is how to display the error of each parameter obtained.

Thank you very much in advance for your help,


I am not sure I have understood you well. If you want your parameters to be in a range you just need to call:
min->SetLimitedVariable( ipar, value, stepSize, vmin, vmax)

then your parameter will be limited in the range [vmin,vmax]

To display the final error you need to call (after minimisation and possibly after calling Hesse)

parameter_error_of_ipar = min->Errors()[ipar]


Thank you Lorenzo for your reply,
Yes what you say is true, but in my case I want to select my variables (free parameters) randomly in an interval that I defined, in [10, 14] for the parameter [0] for example:

double variable[2] = { 3.,1.2, 7};
if (randomSeed >= 0) {
TRandom2 r(randomSeed);
variable[0] = r.Uniform(10,14);
variable[1] = r.Uniform( 0,5);
variable[2] = r.Uniform( 0,15);
is this true? is this the same case that “min->SetLimitedVariable( ipar, value, stepSize, vmin, vmax)” ?

Thanks in advance

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.