21 using namespace RooFit;
23 void rf901_numintconfig()
30 RooAbsReal::defaultIntegratorConfig()->Print(
"v");
43 RooAbsReal::defaultIntegratorConfig()->setEpsAbs(1e-6);
44 RooAbsReal::defaultIntegratorConfig()->setEpsRel(1e-6);
50 RooRealVar x(
"x",
"x", -10, 10);
51 RooLandau landau(
"landau",
"landau", x, RooConst(0), RooConst(0.1));
54 RooMsgService::instance().addStream(DEBUG, Topic(Integration));
57 RooAbsReal *intLandau = landau.createIntegral(x);
58 Double_t val = intLandau->getVal();
59 cout <<
" [1] int_dx landau(x) = " << setprecision(15) << val << endl;
66 RooNumIntConfig customConfig(*RooAbsReal::defaultIntegratorConfig());
67 #ifdef R__HAS_MATHMORE
68 customConfig.method1D().setLabel(
"RooAdaptiveGaussKronrodIntegrator1D");
70 Warning(
"rf901_numintconfig",
"ROOT is built without Mathmore (GSL) support. Cannot use RooAdaptiveGaussKronrodIntegrator1D");
74 RooAbsReal *intLandau2 = landau.createIntegral(x, NumIntConfig(customConfig));
75 Double_t val2 = intLandau2->getVal();
76 cout <<
" [2] int_dx landau(x) = " << val2 << endl;
82 landau.setIntegratorConfig(customConfig);
85 RooAbsReal *intLandau3 = landau.createIntegral(x);
86 Double_t val3 = intLandau3->getVal();
87 cout <<
" [3] int_dx landau(x) = " << val3 << endl;
90 #ifdef R__HAS_MATHMORE
91 RooAbsReal::defaultIntegratorConfig()->method1D().setLabel(
"RooAdaptiveGaussKronrodIntegrator1D");
97 RooAbsReal::defaultIntegratorConfig()->getConfigSection(
"RooIntegrator1D").setRealValue(
"maxSteps", 30);
102 customConfig.getConfigSection(
"RooAdaptiveGaussKronrodIntegrator1D").setRealValue(
"maxSeg", 50);
103 customConfig.getConfigSection(
"RooAdaptiveGaussKronrodIntegrator1D").setCatLabel(
"method",
"15Points");
106 customConfig.getConfigSection(
"RooAdaptiveGaussKronrodIntegrator1D").find(
"method")->Print(
"v");