␛[1mRooFit v3.60 -- Developed by Wouter Verkerke and David Kirkby␛[0m
Copyright (C) 2000-2013 NIKHEF, University of California & Stanford University
All rights reserved, please read http://roofit.sourceforge.net/license.txt
Requested precision: 1e-07 absolute, 1e-07 relative
1-D integration method: RooIntegrator1D (RooImproperIntegrator1D if open-ended)
2-D integration method: RooAdaptiveIntegratorND (N/A if open-ended)
N-D integration method: RooAdaptiveIntegratorND (N/A if open-ended)
Available integration methods:
*** RooBinIntegrator ***
Capabilities: [1-D] [2-D] [N-D]
Configuration:
1) numBins = 100
*** RooIntegrator1D ***
Capabilities: [1-D]
Configuration:
1) sumRule = Trapezoid(idx = 0)
2) extrapolation = Wynn-Epsilon(idx = 1)
3) maxSteps = 20
4) minSteps = 999
5) fixSteps = 0
*** RooIntegrator2D ***
Capabilities: [2-D]
Configuration:
(Depends on 'RooIntegrator1D')
*** RooSegmentedIntegrator1D ***
Capabilities: [1-D]
Configuration:
1) numSeg = 3
(Depends on 'RooIntegrator1D')
*** RooSegmentedIntegrator2D ***
Capabilities: [2-D]
Configuration:
(Depends on 'RooSegmentedIntegrator1D')
*** RooImproperIntegrator1D ***
Capabilities: [1-D] [OpenEnded]
Configuration:
(Depends on 'RooIntegrator1D')
*** RooMCIntegrator ***
Capabilities: [1-D] [2-D] [N-D]
Configuration:
1) samplingMode = Importance(idx = 0)
2) genType = QuasiRandom(idx = 0)
3) verbose = false(idx = 0)
4) alpha = 1.5
5) nRefineIter = 5
6) nRefinePerDim = 1000
7) nIntPerDim = 5000
*** RooAdaptiveIntegratorND ***
Capabilities: [2-D] [N-D]
Configuration:
1) maxEval2D = 100000
2) maxEval3D = 1e+06
3) maxEvalND = 1e+07
4) maxWarn = 5
*** RooAdaptiveGaussKronrodIntegrator1D ***
Capabilities: [1-D] [OpenEnded]
Configuration:
1) maxSeg = 100
2) method = 21Points(idx = 2)
*** RooGaussKronrodIntegrator1D ***
Capabilities: [1-D] [OpenEnded]
Configuration:
[#2] INFO:Integration -- RooRealIntegral::ctor(landau_Int[x]) Constructing integral of function landau over observables(x) with normalization () with range identifier <none>
[#2] DEBUG:Integration -- landau: Adding observable x of server x as shape dependent
[#2] INFO:Integration -- landau: Observable x is suitable for analytical integration (if supported by p.d.f)
[#2] INFO:Integration -- landau: Observables (x) are numerically integrated
[#1] INFO:NumericIntegration -- RooRealIntegral::init(landau_Int[x]) using numeric integrator RooIntegrator1D to calculate Int(x)
[1] int_dx landau(x) = 0.0989653362054419
[#2] INFO:Integration -- RooRealIntegral::ctor(landau_Int[x]) Constructing integral of function landau over observables(x) with normalization () with range identifier <none>
[#2] DEBUG:Integration -- landau: Adding observable x of server x as shape dependent
[#2] INFO:Integration -- landau: Observable x is suitable for analytical integration (if supported by p.d.f)
[#2] INFO:Integration -- landau: Observables (x) are numerically integrated
[#1] INFO:NumericIntegration -- RooRealIntegral::init(landau_Int[x]) using numeric integrator RooAdaptiveGaussKronrodIntegrator1D to calculate Int(x)
[2] int_dx landau(x) = 0.098957102921895
[#2] INFO:Integration -- RooRealIntegral::ctor(landau_Int[x]) Constructing integral of function landau over observables(x) with normalization () with range identifier <none>
[#2] DEBUG:Integration -- landau: Adding observable x of server x as shape dependent
[#2] INFO:Integration -- landau: Observable x is suitable for analytical integration (if supported by p.d.f)
[#2] INFO:Integration -- landau: Observables (x) are numerically integrated
[#1] INFO:NumericIntegration -- RooRealIntegral::init(landau_Int[x]) using numeric integrator RooAdaptiveGaussKronrodIntegrator1D to calculate Int(x)
[3] int_dx landau(x) = 0.098957102921895
--- RooAbsArg ---
Value State: clean
Shape State: clean
Attributes:
Address: 0x56050fed2eb0
Clients:
Servers:
Proxies:
--- RooAbsCategory ---
Value is "15Points" (1)
Has the following possible values:
WynnEpsilon = 0
15Points = 1
21Points = 2
31Points = 3
41Points = 4
51Points = 5
61Points = 6
#include <iomanip>
{
cout << " [1] int_dx landau(x) = " << setprecision(15) << val << endl;
#ifdef R__HAS_MATHMORE
customConfig.method1D().setLabel("RooAdaptiveGaussKronrodIntegrator1D");
#else
Warning(
"rf901_numintconfig",
"ROOT is built without Mathmore (GSL) support. Cannot use RooAdaptiveGaussKronrodIntegrator1D");
#endif
cout << " [2] int_dx landau(x) = " << val2 << endl;
landau.setIntegratorConfig(customConfig);
cout << " [3] int_dx landau(x) = " << val3 << endl;
#ifdef R__HAS_MATHMORE
customConfig.getConfigSection("RooAdaptiveGaussKronrodIntegrator1D").setRealValue("maxSeg", 50);
customConfig.getConfigSection("RooAdaptiveGaussKronrodIntegrator1D").setCatLabel("method", "15Points");
customConfig.getConfigSection("RooAdaptiveGaussKronrodIntegrator1D").find("method")->Print("v");
#endif
}
void Warning(const char *location, const char *msgfmt,...)
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
static RooNumIntConfig * defaultIntegratorConfig()
Returns the default numeric integration configuration for all RooAbsReals.
Double_t getVal(const RooArgSet *normalisationSet=nullptr) const
Evaluate object.
RooAbsReal * createIntegral(const RooArgSet &iset, const RooCmdArg &arg1, const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) const
Create an object that represents the integral of the function over one or more observables listed in ...
Bool_t setRealValue(const char *name, Double_t newVal=0, Bool_t verbose=kFALSE)
Set value of a RooAbsRealLValye stored in set with given name to newVal No error messages are printed...
virtual Bool_t setLabel(const char *label, Bool_t printError=kTRUE)
Set value by specifying the name of the desired state If printError is set, a message will be printed...
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 (i....
RooNumIntConfig holds the configuration parameters of the various numeric integrators used by RooReal...
virtual void Print(Option_t *options=0) const
This method must be overridden when a class wants to print itself.
void setEpsAbs(Double_t newEpsAbs)
Set absolute convergence criteria (convergence if abs(Err)<newEpsAbs)
const RooArgSet & getConfigSection(const char *name) const
Retrieve configuration information specific to integrator with given name.
void setEpsRel(Double_t newEpsRel)
Set relative convergence criteria (convergence if abs(Err)/abs(Int)<newEpsRel)
RooRealVar represents a variable that can be changed from the outside.
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
RooCmdArg Topic(Int_t topic)
RooCmdArg NumIntConfig(const RooNumIntConfig &cfg)
RooConstVar & RooConst(Double_t val)