Explain what you would like to see improved
RooProdPdf and RooProduct have different constructor interfaces.
In a workspace like this:
RooWorkspace w;
w.factory("RooGaussian::a(x[-10,10],0.,1.)")
w.factory("RooGaussian::b(y[-10,10],0.,1.)")
Now, consider this:
w.factory("RooProdPdf::p1({a,b})")
w.factory("RooProduct::p2({x,y})")
p2 does what you think it would.
p1 does not.
On the other hand:
w.factory("RooProdPdf::p3(a,b)")
w.factory("RooProduct::p4(x,y)")
p3 works.
p4 does not.
How it could be improved
The constructor interfaces of these classes should be harmonized.
Explain what you would like to see improved
RooProdPdf and RooProduct have different constructor interfaces.
In a workspace like this:
Now, consider this:
p2does what you think it would.p1does not.On the other hand:
p3works.p4does not.How it could be improved
The constructor interfaces of these classes should be harmonized.