I use the following code to draw the error band of a fitting curve:
RooRealVar x("x", "x", pd[i], pu[i]);
RooDataHist data("data", "data", x, hvar[i]);
RooRealVar mg1("mg1", "mg1", pmean[i], pd[i], pu[i]);
RooRealVar sg1("sg1", "sg1", insg1[i], lsg1[i], hsg1[i]);
RooGaussian gauss1("gauss1","gauss1", x, mg1, sg1);
RooRealVar mg2("mg2", "mg2", pmean[i], pd[i], pu[i]);
RooRealVar sg2("sg2", "sg2", insg2[i], lsg2[i], hsg2[i]);
RooGaussian gauss2("gauss2","gauss2", x, mg2, sg2 );
RooRealVar frac("frac","frac",infrac[i],lfrac[i],hfrac[i]);
x.setRange("mini", pd[i], pu[i]);
RooAddPdf gauss("gauss","gauss",RooArgList(gauss1,gauss2),RooArgList(frac));
RooRealVar co1("co1","coefficienct #1", inco1[i], dco1[i], uco1[i]);
RooRealVar co2("co2","coefficienct #2", inco2[i], dco2[i], uco2[i]);
RooChebychev poly("poly", "poly PDF", x, RooArgList(co1,co2));
RooRealVar f1("Sig", "fra1", innsig[i], lnsig[i], hnsig[i]);
RooRealVar f2("Bkg", "fra2", innbkg[i], lnbkg[i], hnbkg[i]);
RooAddPdf sum("sum", "sig+bak", RooArgList(gauss,poly), RooArgList(f1,f2));
RooFitResult *fitresult;
RooPlot *xframe=x.frame();
data.plotOn(xframe);
sum.plotOn(xframe);
sum.plotOn(xframe, VisualizeError(*fitresult), Components("poly"), FillColor(kSpring+10));
sum.plotOn(xframe, VisualizeError(*fitresult), Components("gauss1"), FillColor(kRed-9));
However, the error band seems abnormal. I want to obtain the width of the error band.
Would you like to add more details or context to this? For example, any specific issues you’re encountering or the expected output?