21 using namespace RooFit;
23 void rf308_normintegration2d()
29 RooRealVar x(
"x",
"x", -10, 10);
30 RooRealVar y(
"y",
"y", -10, 10);
33 RooGaussian gx(
"gx",
"gx", x, RooConst(-2), RooConst(3));
34 RooGaussian gy(
"gy",
"gy", y, RooConst(+2), RooConst(2));
37 RooProdPdf gxy(
"gxy",
"gxy", RooArgSet(gx, gy));
43 cout <<
"gxy = " << gxy.getVal() << endl;
46 RooArgSet nset_xy(x, y);
47 cout <<
"gx_Norm[x,y] = " << gxy.getVal(&nset_xy) << endl;
51 RooAbsReal *igxy = gxy.createIntegral(RooArgSet(x, y));
52 cout <<
"gx_Int[x,y] = " << igxy->getVal() << endl;
58 cout <<
"gx_Norm[x] = " << gxy.getVal(&nset_x) << endl;
62 cout <<
"gx_Norm[y] = " << gxy.getVal(&nset_y) << endl;
68 x.setRange(
"signal", -5, 5);
69 y.setRange(
"signal", -3, 3);
74 RooAbsReal *igxy_sig = gxy.createIntegral(RooArgSet(x, y), NormSet(RooArgSet(x, y)), Range(
"signal"));
75 cout <<
"gx_Int[x,y|signal]_Norm[x,y] = " << igxy_sig->getVal() << endl;
82 RooAbsReal *gxy_cdf = gxy.createCdf(RooArgSet(x, y));
85 TH1 *hh_cdf = gxy_cdf->createHistogram(
"hh_cdf", x, Binning(40), YVar(y, Binning(40)));
86 hh_cdf->SetLineColor(kBlue);
88 new TCanvas(
"rf308_normintegration2d",
"rf308_normintegration2d", 600, 600);
89 gPad->SetLeftMargin(0.15);
90 hh_cdf->GetZaxis()->SetTitleOffset(1.8);