20 using namespace RooFit;
22 void rf109_chi2residpull()
29 RooRealVar x(
"x",
"x", -10, 10);
32 RooRealVar sigma(
"sigma",
"sigma", 3, 0.1, 10);
33 RooRealVar mean(
"mean",
"mean", 0, -10, 10);
34 RooGaussian gauss(
"gauss",
"gauss", x, RooConst(0), sigma);
37 RooDataSet *data = gauss.generate(x, 10000);
46 RooPlot *frame1 = x.frame(Title(
"Data with distorted Gaussian pdf"), Bins(40));
47 data->plotOn(frame1, DataError(RooAbsData::SumW2));
56 cout <<
"chi^2 = " << frame1->chiSquare() << endl;
62 RooHist *hresid = frame1->residHist();
65 RooHist *hpull = frame1->pullHist();
68 RooPlot *frame2 = x.frame(Title(
"Residual Distribution"));
69 frame2->addPlotable(hresid,
"P");
72 RooPlot *frame3 = x.frame(Title(
"Pull Distribution"));
73 frame3->addPlotable(hpull,
"P");
75 TCanvas *c =
new TCanvas(
"rf109_chi2residpull",
"rf109_chi2residpull", 900, 300);
78 gPad->SetLeftMargin(0.15);
79 frame1->GetYaxis()->SetTitleOffset(1.6);
82 gPad->SetLeftMargin(0.15);
83 frame2->GetYaxis()->SetTitleOffset(1.6);
86 gPad->SetLeftMargin(0.15);
87 frame3->GetYaxis()->SetTitleOffset(1.6);