24 using namespace RooFit;
26 RooWorkspace *getWorkspace(Int_t mode);
28 void rf903_numintcache(Int_t mode = 0)
39 RooWorkspace *w1 = getWorkspace(mode);
46 RooDataHist *hhcache = (RooDataHist *)w1->expensiveObjectCache().getObj(1);
49 new TCanvas(
"rf903_numintcache",
"rf903_numintcache", 600, 600);
50 hhcache->createHistogram(
"a")->Draw();
53 Error(
"rf903_numintcache",
"Cached histogram is not existing in workspace");
62 RooDataSet *d = w1->pdf(
"model")->generate(RooArgSet(*w1->var(
"x"), *w1->var(
"y"), *w1->var(
"z")), 1000);
65 w1->pdf(
"model")->fitTo(*d, Verbose(kTRUE), Timer(kTRUE));
68 RooPlot *framex = w1->var(
"x")->frame(Title(
"Projection of 3D model on X"));
70 w1->pdf(
"model")->plotOn(framex);
73 new TCanvas(
"rf903_numintcache",
"rf903_numintcache", 600, 600);
82 RooWorkspace *getWorkspace(Int_t mode)
96 w =
new RooWorkspace(
"w", 1);
99 w->factory(
"EXPR::model('1/((x-a)*(x-a)+0.01)+1/((y-a)*(y-a)+0.01)+1/"
100 "((z-a)*(z-a)+0.01)',x[-1,1],y[-1,1],z[-1,1],a[-5,5])");
111 w->pdf(
"model")->setStringAttribute(
"CACHEPARMINT",
"x:y:z");
114 RooArgSet normSet(*w->var(
"x"), *w->var(
"y"), *w->var(
"z"));
115 w->pdf(
"model")->getVal(&normSet);
116 w->writeToFile(
"rf903_numintcache.root");
121 TFile *f =
new TFile(
"rf903_numintcache.root");
122 w = (RooWorkspace *)f->Get(
"w");