51 RooLandau landau(
"landau",
"landau",
x, 0.0, 0.1);
54 landau.forceNumInt(
true);
60 std::unique_ptr<RooAbsReal> intLandau{landau.createIntegral(
x)};
61 double val = intLandau->getVal();
62 cout <<
" [1] int_dx landau(x) = " << setprecision(15) << val << endl;
71 customConfig.method1D().setLabel(
"RooAdaptiveGaussKronrodIntegrator1D");
73 Warning(
"rf901_numintconfig",
"ROOT is built without Mathmore (GSL) support. Cannot use RooAdaptiveGaussKronrodIntegrator1D");
77 std::unique_ptr<RooAbsReal> intLandau2{landau.createIntegral(
x,
NumIntConfig(customConfig))};
78 double val2 = intLandau2->getVal();
79 cout <<
" [2] int_dx landau(x) = " << val2 << endl;
85 landau.setIntegratorConfig(customConfig);
88 std::unique_ptr<RooAbsReal> intLandau3{landau.createIntegral(
x)};
89 double val3 = intLandau3->getVal();
90 cout <<
" [3] int_dx landau(x) = " << val3 << endl;
105 customConfig.getConfigSection(
"RooAdaptiveGaussKronrodIntegrator1D").setRealValue(
"maxSeg", 50);
106 customConfig.getConfigSection(
"RooAdaptiveGaussKronrodIntegrator1D").setCatLabel(
"method",
"15Points");
109 customConfig.getConfigSection(
"RooAdaptiveGaussKronrodIntegrator1D").find(
"method")->Print(
"v");
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
bool setRealValue(const char *name, double newVal=0.0, bool verbose=false)
Set value of a RooAbsRealLValue stored in set with given name to newVal No error messages are printed...
static RooNumIntConfig * defaultIntegratorConfig()
Returns the default numeric integration configuration for all RooAbsReals.
bool setLabel(const char *label, bool printError=true) override
Set value by specifying the name of the desired state.
Landau distribution p.d.f.
static RooMsgService & instance()
Return reference to singleton instance.
Int_t addStream(RooFit::MsgLevel level, const RooCmdArg &arg1={}, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={})
Add a message logging stream for message with given RooFit::MsgLevel or higher.
RooNumIntConfig holds the configuration parameters of the various numeric integrators used by RooReal...
void Print(Option_t *options=nullptr) const override
This method must be overridden when a class wants to print itself.
void setEpsRel(double newEpsRel)
Set relative convergence criteria (convergence if std::abs(Err)/abs(Int)<newEpsRel)
const RooArgSet & getConfigSection(const char *name) const
Retrieve configuration information specific to integrator with given name.
void setEpsAbs(double newEpsAbs)
Set absolute convergence criteria (convergence if std::abs(Err)<newEpsAbs)
RooRealVar represents a variable that can be changed from the outside.
RooCmdArg Topic(Int_t topic)
RooCmdArg NumIntConfig(const RooNumIntConfig &cfg)
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...