{ gROOT->SetStyle("Plain"); RooRealVar x("x", "x", -10, 10); RooRealVar y("y", "y", -10, 10); RooRealVar mux("mux", "average-x'", 0, -1, 1); RooRealVar sigmax("sigmax", "sigma-x'", 0.5, 0, 5); RooGaussian gaussx("gaussx","gaussian PDF x'", x, mux, sigmax); RooRealVar muy("muy", "average-y'", 0, -1, 1); RooRealVar sigmay("sigmay", "sigma-y'", 1.5, 0, 5); RooGaussian gaussy("gaussy","gaussian PDF y'", y, muy, sigmay); RooProdPdf gaussxy("gaussxy", "gaussxy", RooArgSet(gaussx, gaussy)); TCanvas c; TH2 * h2 = dynamic_cast(gaussxy.createHistogram("h2", x, RooFit::Binning(100), RooFit::YVar(y, RooFit::Binning(100)))); assert(h2 != 0); h2->Draw("surf3"); c.SaveAs("03-pdfProduct.pdf"); }