RooSimultaneous Range issue

I have a few RooSimultaneous questions in addition to a couple related to RooMinimizer.

I’d like to fit a weighted dataset, use the parameters from that fit to create mock data, and then using that mock data conduct a simultaneous fit over all of them for some common signal parameter. In the example I’ve attached I’ve reduced this to two regions, but ideally I’d like to expand the method to refer to a number of linked regions of interest.

Fits() looks at Example_Migrad.root and produces fit parameters in workspaces on Example_Models.root. Generator() refers to Example_Models.root and produces Example_Data.root where the data is stored as TTrees. SimFit() ideally would take that data and do a simultaneous fit, but throws alot of errors.

My questions:

  1. when using the RooMinimizer interface, how do I replicate the effect of calling fitTo(SumW2Error(true))? I switched to the RooMinimizer interface from just calling fitTo() because I wanted a way to save the results of a batch of fits statuses to make sure they converged.
  2. When running the simultaneous fit, I get alot of errors relating to functions outputting negative values. I believe this is because it’s not properly taking into account the ranges I’m attempting to inform the pdf about through RooCategory. If this is the improper way to do it, how should it be done?
  3. If I’m incorrect about what’s wrong with the simultaneous fit, what’s happening and how do I fix it?

Example_Migrad.C (7.1 KB)
Example_Migrad.root (708.3 KB)

I guess @moneta can help you.

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