24 using namespace RooFit;
 
   26 void fillWorkspace(RooWorkspace &w);
 
   28 void rf510_wsnamedsets()
 
   33    RooWorkspace *w = 
new RooWorkspace(
"w");
 
   38    RooAbsPdf *model = w->pdf(
"model");
 
   41    RooDataSet *data = model->generate(*w->set(
"observables"), 1000);
 
   47    RooPlot *frame = ((RooRealVar *)w->set(
"observables")->first())->frame();
 
   52    w->loadSnapshot(
"reference_fit");
 
   53    model->plotOn(frame, LineColor(kRed));
 
   54    w->loadSnapshot(
"reference_fit_bkgonly");
 
   55    model->plotOn(frame, LineColor(kRed), LineStyle(kDashed));
 
   58    new TCanvas(
"rf510_wsnamedsets", 
"rf503_wsnamedsets", 600, 600);
 
   59    gPad->SetLeftMargin(0.15);
 
   60    frame->GetYaxis()->SetTitleOffset(1.4);
 
   70 void fillWorkspace(RooWorkspace &w)
 
   76    RooRealVar x(
"x", 
"x", 0, 10);
 
   79    RooRealVar mean(
"mean", 
"mean of gaussians", 5, 0, 10);
 
   80    RooRealVar sigma1(
"sigma1", 
"width of gaussians", 0.5);
 
   81    RooRealVar sigma2(
"sigma2", 
"width of gaussians", 1);
 
   83    RooGaussian sig1(
"sig1", 
"Signal component 1", x, mean, sigma1);
 
   84    RooGaussian sig2(
"sig2", 
"Signal component 2", x, mean, sigma2);
 
   87    RooRealVar a0(
"a0", 
"a0", 0.5, 0., 1.);
 
   88    RooRealVar a1(
"a1", 
"a1", 0.2, 0., 1.);
 
   89    RooChebychev bkg(
"bkg", 
"Background", x, RooArgSet(a0, a1));
 
   92    RooRealVar sig1frac(
"sig1frac", 
"fraction of component 1 in signal", 0.8, 0., 1.);
 
   93    RooAddPdf sig(
"sig", 
"Signal", RooArgList(sig1, sig2), sig1frac);
 
   96    RooRealVar bkgfrac(
"bkgfrac", 
"fraction of background", 0.5, 0., 1.);
 
   97    RooAddPdf model(
"model", 
"g1+g2+a", RooArgList(bkg, sig), bkgfrac);
 
  112    RooArgSet *params = (RooArgSet *)model.getParameters(x);
 
  113    w.defineSet(
"parameters", *params);
 
  114    w.defineSet(
"observables", x);
 
  129    RooDataSet *refData = model.generate(x, 10000);
 
  130    model.fitTo(*refData, PrintLevel(-1));
 
  134    w.saveSnapshot(
"reference_fit", *params, kTRUE);
 
  140    bkgfrac.setConstant(kTRUE);
 
  141    bkgfrac.removeError();
 
  142    model.fitTo(*refData, PrintLevel(-1));
 
  144    w.saveSnapshot(
"reference_fit_bkgonly", *params, kTRUE);