TVirtualFitter: Problem fixing a minimum step size for my parameters

I’m am trying to fit some datapoints with 5 different curves using TVirtualFitter and fcn().
I basically have 6 different parameters to vary. The first 5 are only scalings parameter between 0 and 1 most of the time, no problem here. But the 6th one is different and changes the shape of one of my curves. That mean everytime I want to change it, I have to recalculate every points of the curve and it takes a lot of time. Fortunately I don’t need a lot of precision on that parameter. it can only vary between 10 and a 100 and step of 0.5 would already be great.
The problem is that Root make it vary to a precision of 1e-6 or more, which I don’t need and takes to much time.
So is there a way to fix this step for only one parameter?
I tried using the TVirtualFitter::SetParameter(ipar, parname, value, verr, vlow, vhigh), but it doesn’t seem to have any effect.
It would seem to be a basic functionality, but I couldn’t find it.

Thanks for your answers,


During the minimisation you cannot control the step sizes. These are set internally in order to compute the derivative for the parameter. A possible solution would be to provide an external gradient to the minimiser, but then you would need to provide for all the parameters.

Best Regards


OK thanks, I’m already trying to do the iteration by hand…

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