Log-likelihood projection for simultaneous fit

Dear Experts,

The -log(likelihood) projection doesn’t work well for simultaneous fit. Here is the sample code;

##fitting variables
Mbc = ROOT.RooRealVar("Mbc", 'M_{bc} [GeV/c^{2}]', 5.2,5.29)
deltaE = ROOT.RooRealVar("deltaE", "#DeltaE [GeV]", -0.15,0.1)
roo_dataA1 = df2roo(A1, {'Mbc': Mbc, 'deltaE':deltaE}) ##1st data set
roo_dataA2 = df2roo(A2, {'Mbc': Mbc, 'deltaE':deltaE}) ##2nd data set
##combined data set for simultaneous fit
combData = ROOT.RooDataSet("combData","combined data",ROOT.RooArgSet(Mbc,deltaE),ROOT.RooFit.Index(sample),ROOT.RooFit.Import("mumu",roo_dataA1),ROOT.RooFit.Import("ee",roo_dataA2))
##simultaneous fit
result =  simPdf.fitTo(combData, ROOT.RooFit.Save(),ROOT.RooFit.Extended(), ROOT.RooFit.Minos())
##profile likelihood projection
nll = simPdf.createNLL(combData)
ROOT.RooMinuit(nll).migrad()
nll_frame = Nsig.frame()
nll.plotOn(nll_frame, ROOT.RooFit.ShiftToZero(), ROOT.RooFit.Name('stat'), ROOT.RooFit.LineColor(ROOT.kBlue))
nll_frame.GetYaxis().SetRangeUser(0,2)
nll_frame.GetXaxis().SetTitle("N_{sig}")
nll_frame.Draw()

Here, I would expect the profile likelihood projection minimum should be at signal yield (Nsig). But for this case,
Let’s say, Nsig from fit is 2.13445 +/- (-2.35871,2.71869)
The profile likelihood minimum is at 0.312568 +/- 2.24925.

But the same profile likelihood calculation procedure works fine for standard fitting instead of simultaneous fit.

Waiting for some helpful suggestions!

I think @moneta can help.

Hello @CS_p,

which ROOT version are you using?

I recently fixed a bug related to NLL plotting: [RF] Make no distinction in VectorDataStore between `get` and getNative by guitargeek · Pull Request #11477 · root-project/root · GitHub

You should try again with ROOT 6.28.00 that will be released next week, by building ROOT master yourself, or by sourcing the ROOT nightly builds: Nightlies - ROOT

If the problem is still there, please come back here with a full reproducer code for the problem, because with the code you have posted right now I can’t reproduce the issue and I also can’t tell what might go wrong.

Cheers,
Jonas

Hi @jonas

Thank you very much for your suggestion. Currently, I am using root version 6.24. I will try again with the new root version and report here in case of an issue.

Thanks