-
Notifications
You must be signed in to change notification settings - Fork 1.5k
[RF] RooFit plotOn issue #9127
Copy link
Copy link
Closed
Labels
Description
The versions after 6.18 have strange behavior for plotting components in the fit. The plots for the 6.20.02 and 6.18.0 are in the attachments, and the script to reproduce the issue is below:
import ROOT
from ROOT.RooFit import *
mes= ROOT.RooRealVar("mes","m_{ES} (GeV)",5.265,5.29);
mean=ROOT.RooRealVar("mean","B^{#pm} mass",5.28,5.265,5.29);
width=ROOT.RooRealVar("width","B^{#pm} width",0.0027,0.001,1.);
signal_g=ROOT.RooGaussian("signal_g","signal PDF",mes,mean,width);
bkg_g=ROOT.RooPolynomial("bkg_g","bkg_g",mes)
nsig=ROOT.RooRealVar("nsig","#signal events",200,0.,1000);
nbkg=ROOT.RooRealVar("nbkg","#background events",40,0.,1000);
model_g=ROOT.RooAddPdf("model_g","g+a",ROOT.RooArgList(signal_g,bkg_g),ROOT.RooArgList(nsig,nbkg));
dataset= model_g.generate(ROOT.RooArgSet(mes),2000)
sigma1=ROOT.RooRealVar ("sigma1", "sigma1", 0.0015,0.001,1);
sigma2=ROOT.RooRealVar("sigma2", "sigma2",0.0030,0.001,3);
alpha1=ROOT.RooRealVar ("alpha1", "alpha1", 1.5, 0,10);
alpha2=ROOT.RooRealVar ("alpha2", "alpha2", 1.5, 0,10);
n=ROOT.RooRealVar("n", "n", 1.0,0,20);
ratio=ROOT.RooRealVar("ratio", "ratio", 0.1, 0, 1);
p0=ROOT.RooRealVar("p0", "p0", 0.0, 0, 2.0);
N=200
a0=ROOT.RooRealVar ("a0", "a0", 0.166, -100, 100);
a1=ROOT.RooRealVar ("a1", "a1", -0.0027, -10, 10);
bkg=ROOT.RooChebychev("bkg","bkg",mes,ROOT.RooArgList(a0,a1))
myCB1=ROOT.RooCBShape ("CBMass1", "CBMass1", mes, mean, sigma1, alpha1, n);
myCB2=ROOT.RooCBShape ("CBMass2", "CBMass2", mes, mean, sigma2, alpha2, n);
signal=ROOT.RooAddPdf ("signal", "signal", ROOT.RooArgList(myCB1, myCB2), ROOT.RooArgList(ratio));
Nsig= ROOT.RooRealVar ("Nsig", "yield of signal", 200,0.,2000);
Nbkg= ROOT.RooRealVar("Nbkg", "yield of background",40,0.,2000);
model= ROOT.RooAddPdf ("model", "signal and background", ROOT.RooArgList(signal, bkg), ROOT.RooArgList(Nsig, Nbkg));
r = model.fitTo(dataset) ;
frame=mes.frame(200)
dataset.plotOn(frame, ROOT.RooFit.MarkerStyle ( 20 ),ROOT.RooFit.Binning(200) )
model.plotOn(frame,ROOT.RooFit.Name('signal'),ROOT.RooFit.DrawOption("F"), ROOT.RooFit.FillStyle (1001),ROOT.RooFit.FillColor(ROOT.kRed ), ROOT.RooFit.Components("signal") )#,Components="background")
model.plotOn(frame,ROOT.RooFit.Name("bkg"),ROOT.RooFit.DrawOption("F"), ROOT.RooFit.FillStyle (1001),ROOT.RooFit.FillColor(ROOT.kBlue ), ROOT.RooFit.Components("bkg") )#,Components="background")
Reactions are currently unavailable

