%%cpp -d #include "RooRealVar.h" #include "RooDataSet.h" #include "RooGaussian.h" #include "RooPolynomial.h" #include "RooAddPdf.h" #include "TCanvas.h" #include "TAxis.h" #include "RooPlot.h" #include "RooMsgService.h" using namespace RooFit; RooRealVar x("x", "x", -10, 10); RooRealVar m("m", "m", 0, -10, 10); RooRealVar s("s", "s", 1, -10, 10); RooGaussian gauss("g", "g", x, m, s); RooRealVar p0("p0", "p0", 0.01, 0., 1.); RooPolynomial poly("p", "p", x, p0); RooRealVar f("f", "f", 0.5, 0., 1.); RooAddPdf model("model", "model", RooArgSet(gauss, poly), f); std::unique_ptr data{model.generate(x, 10)}; RooMsgService::instance().Print(); cout << endl; RooMsgService::instance().Print(); cout << endl; RooMsgService::instance().getStream(1).addTopic(Integration); std::unique_ptr igauss{gauss.createIntegral(x)}; igauss->Print(); cout << endl; RooMsgService::instance().Print(); cout << endl; RooMsgService::instance().getStream(1).removeTopic(Integration); RooMsgService::instance().addStream(DEBUG, Topic(Tracing), ClassName("RooGaussian")); model.fitTo(*data, Verbose(true)); RooMsgService::instance().reset(); RooMsgService::instance().addStream(DEBUG, Topic(Tracing), OutputFile("rf506_debug.log")); model.fitTo(*data, Verbose(true)); RooMsgService::instance().reset(); RooMsgService::instance().addStream(DEBUG, Topic(LinkStateMgmt)); RooMsgService::instance().Print("v"); RooAbsArg *gprime = gauss.cloneTree(); gprime->Print(); RooMsgService::instance().reset();