Multipdf in pyROOT

Dear experts,

I want to create a Multipdf for performing bias studies and I am working in python. Also, I have used the “factory” syntax of workspace to create pdf’s.

    cat = ROOT.RooCategory('pdf index','index of the active pdf')

    mypdfs = ROOT.RooArgList()
    mypdfs.add(w.factory( "Bernstein:bkg_bern1_pdf(tp_mass,{bern1_p0,bern1_p1})"))
    mypdfs.add(w.factory( "Bernstein:bkg_bern2_pdf(tp_mass,{bern2_p0,bern2_p1,bern2_p2})"))
    mypdfs.add(w.factory( "Bernstein:bkg_bern3_pdf(tp_mass,{bern3_p0,bern3_p1,bern3_p2,bern3_p3})"))
    mypdfs.add(w.factory( "Bernstein:bkg_bern4_pdf(tp_mass,{bern4_p0,bern4_p1,bern4_p2,bern4_p3,bern4_p4})"))
    mypdfs.add(w.factory( "Bernstein:bkg_bern5_pdf(tp_mass,{bern5_p0,bern5_p1,bern5_p2,bern5_p3,bern5_p4,bern5_p5})"))
    mypdfs.add(w.factory( "Bernstein:bkg_bern6_pdf(tp_mass,{bern6_p0,bern6_p1,bern6_p2,bern6_p3,bern6_p4,bern6_p5,bern6_p6})"))

    w.factory("RooMultiPdf:multipdf(multipdf,multipdfs,cat,mypdfs)")

This gives me an error:
#0] ERROR:ObjectHandling – RooFactoryWSTool::createArg() ERROR class RooMultiPdf not defined in ROOT class table
[#0] ERROR:ObjectHandling – RooFactoryWSTool::createArg() ERROR class RooMultiPdf not found in factory alias table, nor in ROOT class table

Any ideas where I could be going wrong? I was following the tutorial described here : https://cms-hcomb.gitbooks.io/combine/content/part3/nonstandard.html#roomultipdf-conventional-bias-studies

Thanks in advance,
Tanvi

I think you problem is that RooMultiPdf is not part of standart ROOT. I think you can download and install it from here:

Thanks Oliver. It works now!

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