19x = ROOT.RooRealVar(
"x", 
"x", 0, 10)
 
   23mean = ROOT.RooRealVar(
"mean", 
"mean of gaussians", 5)
 
   24sigma1 = ROOT.RooRealVar(
"sigma1", 
"width of gaussians", 0.5)
 
   25sigma2 = ROOT.RooRealVar(
"sigma2", 
"width of gaussians", 1)
 
   27sig1 = ROOT.RooGaussian(
"sig1", 
"Signal component 1", x, mean, sigma1)
 
   28sig2 = ROOT.RooGaussian(
"sig2", 
"Signal component 2", x, mean, sigma2)
 
   31a0 = ROOT.RooRealVar(
"a0", 
"a0", 0.5, 0.0, 1.0)
 
   32a1 = ROOT.RooRealVar(
"a1", 
"a1", -0.2, 0.0, 1.0)
 
   33bkg = ROOT.RooChebychev(
"bkg", 
"Background", x, [a0, a1])
 
   36sig1frac = ROOT.RooRealVar(
"sig1frac", 
"fraction of component 1 in signal", 0.8, 0.0, 1.0)
 
   37sig = ROOT.RooAddPdf(
"sig", 
"Signal", [sig1, sig2], [sig1frac])
 
   44nsig = ROOT.RooRealVar(
"nsig", 
"number of signal events", 500, 0.0, 10000)
 
   45nbkg = ROOT.RooRealVar(
"nbkg", 
"number of background events", 500, 0, 10000)
 
   46model = ROOT.RooAddPdf(
"model", 
"(g1+g2)+a", [bkg, sig], [nbkg, nsig])
 
   53data = model.generate({x})
 
   56model.fitTo(data, PrintLevel=-1)
 
   60xframe = x.frame(Title=
"extended ML fit example")
 
   62model.plotOn(xframe, Normalization=dict(scaleFactor=1.0, scaleType=ROOT.RooAbsReal.RelativeExpected))
 
   69    Normalization=dict(scaleFactor=1.0, scaleType=ROOT.RooAbsReal.RelativeExpected),
 
   73ras_bkg_sig2 = {bkg, sig2}
 
   76    Components=ras_bkg_sig2,
 
   78    Normalization=dict(scaleFactor=1.0, scaleType=ROOT.RooAbsReal.RelativeExpected),
 
   89esig = ROOT.RooExtendPdf(
"esig", 
"extended signal pdf", sig, nsig)
 
   90ebkg = ROOT.RooExtendPdf(
"ebkg", 
"extended background pdf", bkg, nbkg)
 
   96model2 = ROOT.RooAddPdf(
"model2", 
"(g1+g2)+a", [ebkg, esig])
 
   99c = ROOT.TCanvas(
"rf202_extendedmlfit", 
"rf202_extendedmlfit", 600, 600)
 
  100ROOT.gPad.SetLeftMargin(0.15)
 
  101xframe.GetYaxis().SetTitleOffset(1.4)
 
  104c.SaveAs(
"rf202_extendedmlfit.png")