I’ve written my own test statistic for use with RooStats and it seems to work until I try to run it using Proof-lite. At that point I get all sorts of errors. Are there some set of methods that are needed for a class to work with Proof-Lite?
Here are the class: gist.github.com/neggert/5216496
The requirement is the streaming capabilities of you custom class. You need then to have a dictionary of the class and, as the error suggests, you need also a default constructor
So after adding a default constructor for my test statistic, I get errors about the lack of a default constructor for RooNumCdf.
I don’t really understand where a RooNumCdf is coming in. The pdf I’m giving to my test statistic is coming from a ModelConfig created by HistFactory, so everything should be serializable there. I use a CDF in calculating the test statistic, but I don’t store it.
That aside, is there a reason that RooNumCdf doesn’t have a default constructor?
Yes it seems strange, since RooNumCdf is used only in createCdf to compute the integral, so it should not be streamed. You have posted your test statistic class. Can you please post a simple macro (and possibly a workspace) which can be run using Proof and reproduce this problem, so I can Investigate it
I’ve updated the gist (gist.github.com/neggert/4586791) with a (not) working example, bkg_fit.C. In the process of converting this from pyROOT to ROOT for easier debugging, I ended up with a slightly different error. I’ve included that along with the PROOF log in the gist.