I just had a problem with some of my old code, which use rooworkspace to store some PDFs in ROOT files and then runs a separate program to perform the fit.
Since the release v6.26, the default constructor of RooEffProd was removed, the program will throw an error like:
Warning in <TBufferFile::WriteObjectAny>: since RooEffProd has no public constructor
which can be called without argument, objects of this class
can not be read with the current library. You will need to
add a default constructor before attempting to read it.
Done
Is there any reason we delete this default constructor for RooEffProd? is expected to break the RooWorkspace? Maybe now it is not recommended to use the RooWorkspace? What should I use?
thank you very much for reporting this! Of course you should still be able to use the RooWorkspace. The default constructor of the RooEffProd was removed by accident in 6.26, and I have opened a PR to bring it back:
This PR will also be backported to the next patch release 6.26.08, so it should work there again. Sorry for the inconvenience and thank you very much for having reported this issue!