Passing codependencies between parameters of a fit in RooFit

I wanted to ask the experts here a question regarding letting RooFit know the correlations between normalization parameters in a fit. I am currently performing a template profile likelihood fit and I extract normalizations for three parameters that should sum to unity in the SM. I am using the fitter to extract the fractions of a model from data.
Currently, in RooFit, one has a possibility of passing a parameter in RooStats::HistFactory::Measurement under the AddPreprocessFunction method. Unfortunately for me, this function only takes one argument. Now, since for me, x+y+z = 1, could someone help me on how to actually implement this in the code? I basically need the fitter to know the correlations between each other.

Since you cannot put direct correlation between parameter in the minimisation when fitting, you should just redefine on of the parameter as a function of the others. In this way you are will have the constraints that the sum of them is equal to 1.


Hi Lorenzo,
Thanks for the reply. The only way I can redefine the parameters is by saying:
z = 1-x-y and passing it into the AddPreprocessFunction method. The problem with this is, AddPreprocessFunction can only take in 1 argument extra, basically either 1-x or 1-y, but not both. This is what I hoped to fix.


I understand now the issue. Then one needs to fix the AddPreprocessFunction. If you could do this and submit a PR will be great


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