void test2() { using namespace RooFit; const Int_t n1 = 3; Double_t bins1[n1+1] = { 0, 1, 2, 3 }; const Int_t n2 = 2; Double_t bins2[n2+1] = { 10, 20, 40 }; TH1D* h1 = new TH1D( "h1", "h1", n1, bins1 ); h1->SetBinContent( 1, 30 ); h1->SetBinContent( 2, 55 ); h1->SetBinContent( 3, 50 ); TH1D* h2 = new TH1D( "h2", "h2", n2, bins2 ); h2->SetBinContent( 1, 45 ); h2->SetBinContent( 2, 90 ); // h2->Draw(); TH2D* h = new TH2D( "h", "h", n1, bins1, n2, bins2 ); h->SetBinContent( 1, 1, 10 ); h->SetBinContent( 1, 2, 20 ); h->SetBinContent( 2, 1, 15 ); h->SetBinContent( 2, 2, 40 ); h->SetBinContent( 3, 1, 20 ); h->SetBinContent( 3, 2, 30 ); RooRealVar v1( "v1", "v1", bins1[0], bins1[n1], "a.u." ); RooDataHist dh1( "dh1", "dh1", v1, h1 ); RooHistPdf pdf1( "pdf1", "pdf1", v1, dh1 ); RooRealVar v2( "v2", "v2", bins2[0], bins2[n2], "a.u." ); RooDataHist dh2( "dh2", "dh2", v2, h2 ); RooHistPdf pdf2( "pdf2", "pdf2", v2, dh2 ); RooDataHist dh( "dh", "dh", RooArgList( v1, v2), h ); RooHistPdf pdf( "pdf", "pdf", RooArgList( v1, v2), dh ); RooPlot *frame1 = v1.frame( Title("v1_1D") ); dh1.plotOn( frame1 ); pdf1.plotOn( frame1, LineColor(kRed), LineStyle(kDashed) ); new TCanvas(); frame1->Draw(); RooPlot *frame2 = v2.frame( Title("v2_1D") ); dh2.plotOn( frame2 ); pdf2.plotOn( frame2, LineColor(kRed), LineStyle(kDashed) ); new TCanvas(); frame2->Draw(); RooPlot *frame1_ = v1.frame( Title("v1_2D") ); dh.plotOn( frame1_ ); pdf.plotOn( frame1_, LineColor(kRed), LineStyle(kDashed) ); new TCanvas(); frame1_->Draw(); RooPlot *frame2_ = v2.frame( Title("v2_2D") ); dh.plotOn( frame2_ ); pdf.plotOn( frame2_, LineColor(kRed), LineStyle(kDashed) ); new TCanvas(); frame2_->Draw(); }