55 landau.forceNumInt(
true);
61 std::unique_ptr<RooAbsReal> intLandau{landau.createIntegral(
x)};
62 double val = intLandau->getVal();
63 cout <<
" [1] int_dx landau(x) = " << setprecision(15) << val << endl;
72 customConfig.method1D().setLabel(
"RooAdaptiveGaussKronrodIntegrator1D");
74 Warning(
"rf901_numintconfig",
"ROOT is built without Mathmore (GSL) support. Cannot use RooAdaptiveGaussKronrodIntegrator1D");
78 std::unique_ptr<RooAbsReal> intLandau2{landau.createIntegral(
x,
NumIntConfig(customConfig))};
79 double val2 = intLandau2->getVal();
80 cout <<
" [2] int_dx landau(x) = " << val2 << endl;
86 landau.setIntegratorConfig(customConfig);
89 std::unique_ptr<RooAbsReal> intLandau3{landau.createIntegral(
x)};
90 double val3 = intLandau3->getVal();
91 cout <<
" [3] int_dx landau(x) = " << val3 << endl;
106 customConfig.getConfigSection(
"RooAdaptiveGaussKronrodIntegrator1D").setRealValue(
"maxSeg", 50);
107 customConfig.getConfigSection(
"RooAdaptiveGaussKronrodIntegrator1D").setCatLabel(
"method",
"15Points");
110 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 RooAbsRealLValye 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=RooCmdArg(), const RooCmdArg &arg2=RooCmdArg(), const RooCmdArg &arg3=RooCmdArg(), const RooCmdArg &arg4=RooCmdArg(), const RooCmdArg &arg5=RooCmdArg(), const RooCmdArg &arg6=RooCmdArg())
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)
RooConstVar & RooConst(double val)
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...