26 using namespace RooFit;
 
   28 void rf607_fitresult()
 
   34    RooRealVar x(
"x", 
"x", 0, 10);
 
   37    RooRealVar mean(
"mean", 
"mean of gaussians", 5, -10, 10);
 
   38    RooRealVar sigma1(
"sigma1", 
"width of gaussians", 0.5, 0.1, 10);
 
   39    RooRealVar sigma2(
"sigma2", 
"width of gaussians", 1, 0.1, 10);
 
   41    RooGaussian sig1(
"sig1", 
"Signal component 1", x, mean, sigma1);
 
   42    RooGaussian sig2(
"sig2", 
"Signal component 2", x, mean, sigma2);
 
   45    RooRealVar a0(
"a0", 
"a0", 0.5, 0., 1.);
 
   46    RooRealVar a1(
"a1", 
"a1", -0.2);
 
   47    RooChebychev bkg(
"bkg", 
"Background", x, RooArgSet(a0, a1));
 
   50    RooRealVar sig1frac(
"sig1frac", 
"fraction of component 1 in signal", 0.8, 0., 1.);
 
   51    RooAddPdf sig(
"sig", 
"Signal", RooArgList(sig1, sig2), sig1frac);
 
   54    RooRealVar bkgfrac(
"bkgfrac", 
"fraction of background", 0.5, 0., 1.);
 
   55    RooAddPdf model(
"model", 
"g1+g2+a", RooArgList(bkg, sig), bkgfrac);
 
   58    RooDataSet *data = model.generate(x, 1000);
 
   64    RooFitResult *r = model.fitTo(*data, Save());
 
   80    gStyle->SetOptStat(0);
 
   81    TH2 *hcorr = r->correlationHist();
 
   84    RooPlot *frame = 
new RooPlot(sigma1, sig1frac, 0.45, 0.60, 0.65, 0.90);
 
   85    frame->SetTitle(
"Covariance between sigma1 and sig1frac");
 
   86    r->plotOn(frame, sigma1, sig1frac, 
"ME12ABHV");
 
   92    cout << 
"EDM = " << r->edm() << endl;
 
   93    cout << 
"-log(L) at minimum = " << r->minNll() << endl;
 
   96    cout << 
"final value of floating parameters" << endl;
 
   97    r->floatParsFinal().Print(
"s");
 
  100    cout << 
"correlation between sig1frac and a0 is  " << r->correlation(sig1frac, a0) << endl;
 
  101    cout << 
"correlation between bkgfrac and mean is " << r->correlation(
"bkgfrac", 
"mean") << endl;
 
  104    const TMatrixDSym &cor = r->correlationMatrix();
 
  105    const TMatrixDSym &cov = r->covarianceMatrix();
 
  108    cout << 
"correlation matrix" << endl;
 
  110    cout << 
"covariance matrix" << endl;
 
  117    TFile f(
"rf607_fitresult.root", 
"RECREATE");
 
  124    TCanvas *c = 
new TCanvas(
"rf607_fitresult", 
"rf607_fitresult", 800, 400);
 
  127    gPad->SetLeftMargin(0.15);
 
  128    hcorr->GetYaxis()->SetTitleOffset(1.4);
 
  131    gPad->SetLeftMargin(0.15);
 
  132    frame->GetYaxis()->SetTitleOffset(1.6);