void test_2dIntegration() { using namespace RooFit; RooRealVar x("x", "x", 0, 200); x.setRange("signal", 30, 200); RooRealVar y("y", "y", 0, 200); y.setRange("signal", 30, 200); TFile * inFile = new TFile("test_file.root","READ"); TH2F * myHisto = (TH2F*) inFile -> Get("hn_QCDIsoShapeHisto"); RooDataHist rooQCDIsoShapeHisto("rooQCDIsoShapeHisto", "QCDIso", RooArgList(x,y), myHisto); // per arrivare alle funzioni di fit RooHistPdf QCDIsoPdf("QCDIsoPdf", "QCDIso", RooArgList(x,y), rooQCDIsoShapeHisto, 0) ; // le funzioni di fit RooPlot* rooPlot = x.frame(); rooQCDIsoShapeHisto.plotOn(rooPlot, DataError(RooAbsData::SumW2)); QCDIsoPdf.plotOn(rooPlot, LineColor(kBlue)); TCanvas* c1 = new TCanvas(); rooPlot->Draw(); RooAbsReal* QCDTrueIntegral = QCDIsoPdf.createIntegral(RooArgSet(x,y), NormSet(RooArgSet(x,y)), Range("signal")); std::cout << "======>>>>>> MC NQCD in signal region = " << QCDTrueIntegral->getVal() << std::endl; }