22 using namespace RooFit;
 
   24 void rf315_projectpdf()
 
   31    RooAbsPdf::defaultIntegratorConfig()->setEpsRel(1e-8);
 
   32    RooAbsPdf::defaultIntegratorConfig()->setEpsAbs(1e-8);
 
   35    RooRealVar x(
"x", 
"x", -5, 5);
 
   36    RooRealVar y(
"y", 
"y", -2, 2);
 
   39    RooRealVar a0(
"a0", 
"a0", 0);
 
   40    RooRealVar a1(
"a1", 
"a1", -1.5, -3, 1);
 
   41    RooPolyVar fy(
"fy", 
"fy", y, RooArgSet(a0, a1));
 
   44    RooRealVar sigmax(
"sigmax", 
"width of gaussian", 0.5);
 
   45    RooGaussian gaussx(
"gaussx", 
"Gaussian in x with shifting mean in y", x, fy, sigmax);
 
   48    RooGaussian gaussy(
"gaussy", 
"Gaussian in y", y, RooConst(0), RooConst(2));
 
   51    RooProdPdf model(
"model", 
"gaussx(x|y)*gaussy(y)", gaussy, Conditional(gaussx, x));
 
   57    RooAbsPdf *modelx = model.createProjection(y);
 
   63    RooAbsData *data = modelx->generateBinned(x, 1000);
 
   66    modelx->fitTo(*data, Verbose());
 
   69    RooPlot *frame = x.frame(40);
 
   71    modelx->plotOn(frame);
 
   74    TH1 *hh = model.createHistogram(
"x,y");
 
   75    hh->SetLineColor(kBlue);
 
   77    TCanvas *c = 
new TCanvas(
"rf315_projectpdf", 
"rf315_projectpdf", 800, 400);
 
   80    gPad->SetLeftMargin(0.15);
 
   81    frame->GetYaxis()->SetTitleOffset(1.4);
 
   84    gPad->SetLeftMargin(0.20);
 
   85    hh->GetZaxis()->SetTitleOffset(2.5);