17 x = ROOT.RooRealVar(
"x", 
"x", 0, 10)
 
   21 mean = ROOT.RooRealVar(
"mean", 
"mean of gaussians", 5)
 
   22 sigma1 = ROOT.RooRealVar(
"sigma1", 
"width of gaussians", 0.5)
 
   23 sigma2 = ROOT.RooRealVar(
"sigma2", 
"width of gaussians", 1)
 
   25 sig1 = ROOT.RooGaussian(
"sig1", 
"Signal component 1", x, mean, sigma1)
 
   26 sig2 = ROOT.RooGaussian(
"sig2", 
"Signal component 2", x, mean, sigma2)
 
   29 a0 = ROOT.RooRealVar(
"a0", 
"a0", 0.5, 0., 1.)
 
   30 a1 = ROOT.RooRealVar(
"a1", 
"a1", -0.2, 0., 1.)
 
   31 bkg = ROOT.RooChebychev(
"bkg", 
"Background", x, ROOT.RooArgList(a0, a1))
 
   34 sig1frac = ROOT.RooRealVar(
 
   35     "sig1frac", 
"fraction of component 1 in signal", 0.8, 0., 1.)
 
   37     "sig", 
"Signal", ROOT.RooArgList(sig1, sig2), ROOT.RooArgList(sig1frac))
 
   44 nsig = ROOT.RooRealVar(
"nsig", 
"number of signal events", 500, 0., 10000)
 
   45 nbkg = ROOT.RooRealVar(
 
   46     "nbkg", 
"number of background events", 500, 0, 10000)
 
   47 model = ROOT.RooAddPdf(
 
   62 data = model.generate(ROOT.RooArgSet(x))
 
   69 xframe = x.frame(ROOT.RooFit.Title(
"extended ML fit example"))
 
   71 model.plotOn(xframe, ROOT.RooFit.Normalization(
 
   72     1.0, ROOT.RooAbsReal.RelativeExpected))
 
   75 ras_bkg = ROOT.RooArgSet(bkg)
 
   77     xframe, ROOT.RooFit.Components(ras_bkg), ROOT.RooFit.LineStyle(
 
   78         ROOT.kDashed), ROOT.RooFit.Normalization(
 
   79             1.0, ROOT.RooAbsReal.RelativeExpected))
 
   82 ras_bkg_sig2 = ROOT.RooArgSet(bkg, sig2)
 
   84     xframe, ROOT.RooFit.Components(ras_bkg_sig2), ROOT.RooFit.LineStyle(
 
   85         ROOT.kDotted), ROOT.RooFit.Normalization(
 
   86             1.0, ROOT.RooAbsReal.RelativeExpected))
 
   96 esig = ROOT.RooExtendPdf(
"esig", 
"extended signal p.d.f", sig, nsig)
 
   97 ebkg = ROOT.RooExtendPdf(
"ebkg", 
"extended background p.d.f", bkg, nbkg)
 
  103 model2 = ROOT.RooAddPdf(
"model2", 
"(g1+g2)+a", ROOT.RooArgList(ebkg, esig))
 
  106 c = ROOT.TCanvas(
"rf202_extendedmlfit", 
"rf202_extendedmlfit", 600, 600)
 
  107 ROOT.gPad.SetLeftMargin(0.15)
 
  108 xframe.GetYaxis().SetTitleOffset(1.4)
 
  111 c.SaveAs(
"rf202_extendedmlfit.png")