# How to set conditions on fit parameters?

I have the function that I use to fit:

``````Double_t fun(Double_t *x, Double_t *par)
{
Double_t z2 = x[0] * x[0] / par[0] / par[0] + x[1] * x[1] / par[1] / par[1];
z2 *= par[2] * par[2];
return -sqrt(z2) + par[3];
}
...
TF2 *f = new TF2("f", fun, -50, 50, -50, 50, npar);
...
hist>Fit("f", "Q");
``````

I want the process to be carried out on the condition that the `par[0]/par[1]` relation is constant and equal, for example, 2. How to perform it?

Perhaps @StephanH can help

Multiply the current fit function with something like
`Gauss(2 | par[0]/par[1], 0.1)`

For the fitter, this is something like:
`par[0]/par[1]` should be equal to 2 within 10% uncertainty. You can obviously change the target value and the “strength” of this constraint as desired.
Make sure, though, that `par[1]` doesn’t go to zero. Otherwise, it will blow up.

Redefine your “`fun`” so that the new “`par[1]`” becomes the current “`par[0]/par[1]`” and then you can simply use: "`f->FixParameter(1, 2.);`