Hi,

I am trying to implement an unbinned extended likelihood fit in ROOT with the use of the ROOT::Fit::Fitter. I am using a TF1 model which I am creating from a C++ function. I am normalizing my TF1 in the range of the fit and I am creating an Unbinned data set. In order to check my procedure I am performing the same fit with the same data in RooFit. My model is a chebychev + exponential PDF and I am parametrizating them in Root and RooFit the same way. Initially when I perform the fit as the two fitters are I am getting slightly different results, therefore I decided to configure my ROOT fitter in the same way as the RooFit fitter by setting the same error values, limits on the parameters, maximum tolerance and so on. Running the fit in the full range produces the same result (~10^4 difference in the parameters). However when I am blinding my models (2 ranges fit) I get a discrepancy in all the parameters of my models. The output is not very different since when plotting the two model on the top of each other the Y values at some specific X values are 10^-2-10^3 different. In addition the two fitter converge on a different ML point. However I a don’t understand where this difference is coming from and whether there is a way to have ROOT and RooFit produce exactly the same result. Can anybody explain to me what exactly RooFit does for fitting two ranges and if it’s possible to be done in ROOT as well ?

Cheers

–John