'ADDITION AND CONVOLUTION' RooFit tutorial macro #211 Working a with a p.d.f. with a convolution operator in terms of a parameter
(require ROOT to be compiled with --enable-fftw3)
Author: Clemens Lange, Wouter Verkerke (C version)
This notebook tutorial was automatically generated with ROOTBOOK-izer from the macro found in the ROOT repository on Wednesday, April 17, 2024 at 11:17 AM.
import ROOT
Gaussian g(x ; mean,sigma)
x = ROOT.RooRealVar("x", "x", -10, 10)
mean = ROOT.RooRealVar("mean", "mean", -3, 3)
sigma = ROOT.RooRealVar("sigma", "sigma", 0.5, 0.1, 10)
modelx = ROOT.RooGaussian("gx", "gx", x, mean, sigma)
Block function in mean
a = ROOT.RooRealVar("a", "a", 2, 1, 10)
model_mean = ROOT.RooGenericPdf("model_mean", "abs(mean)<a", [mean, a])
Convolution in mean model = g(x,mean,sigma) (x) block(mean)
x.setBins(1000, "cache")
mean.setBins(50, "cache")
model = ROOT.RooFFTConvPdf("model", "model", mean, modelx, model_mean)
Configure convolution to construct a 2-D cache in (x,mean) rather than a 1-d cache in mean that needs to be recalculated for each value of x
model.setCacheObservables({x})
model.setBufferFraction(1.0)
Integrate model over projModel = Int model dmean
projModel = model.createProjection({mean})
[#1] INFO:Eval -- RooRealVar::setRange(mean) new range named 'refrange_fft_model' created with bounds [-3,3] [#0] WARNING:Eval -- The FFT convolution 'model' will run with 50 bins. A decent accuracy for difficult convolutions is typically only reached with n >= 1000. Suggest to increase the number of bins of the observable 'mean'. [#1] INFO:NumericIntegration -- RooRealIntegral::init(gx_Int[mean,x]) using numeric integrator RooIntegrator1D to calculate Int(mean) [#1] INFO:NumericIntegration -- RooRealIntegral::init(model_mean_Int[mean]) using numeric integrator RooIntegrator1D to calculate Int(mean) [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.015625 , s = 4.5 [5] h = 0.00390625 , s = 3.75 [6] h = 0.000976562 , s = 4.125 [7] h = 0.000244141 , s = 3.9375 [8] h = 6.10352e-05 , s = 4.03125 [9] h = 1.52588e-05 , s = 3.98438 [10] h = 3.8147e-06 , s = 4.00781 [11] h = 9.53674e-07 , s = 3.99609 [12] h = 2.38419e-07 , s = 4.00195 [13] h = 5.96046e-08 , s = 3.99902 [14] h = 1.49012e-08 , s = 4.00049 [15] h = 3.72529e-09 , s = 3.99976 [16] h = 9.31323e-10 , s = 4.00012 [17] h = 2.32831e-10 , s = 3.99994 [18] h = 5.82077e-11 , s = 4.00003 [19] h = 1.45519e-11 , s = 3.99998 [20] h = 3.63798e-12 , s = 4.00001 [#1] INFO:Caching -- RooAbsCachedPdf::getCache(model) creating new cache 0xab262e0 with pdf gx_CONV_model_mean_CACHE_Obs[mean,x]_NORM_mean for nset (mean) with code 0
Generate 1000 toy events
d = projModel.generateBinned({x}, 1000)
[#0] WARNING:Eval -- The FFT convolution 'model' will run with 50 bins. A decent accuracy for difficult convolutions is typically only reached with n >= 1000. Suggest to increase the number of bins of the observable 'mean'. [#1] INFO:NumericIntegration -- RooRealIntegral::init(gx_Int[mean,x]) using numeric integrator RooIntegrator1D to calculate Int(mean) [#1] INFO:NumericIntegration -- RooRealIntegral::init(model_mean_Int[mean]) using numeric integrator RooIntegrator1D to calculate Int(mean) [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.015625 , s = 4.5 [5] h = 0.00390625 , s = 3.75 [6] h = 0.000976562 , s = 4.125 [7] h = 0.000244141 , s = 3.9375 [8] h = 6.10352e-05 , s = 4.03125 [9] h = 1.52588e-05 , s = 3.98438 [10] h = 3.8147e-06 , s = 4.00781 [11] h = 9.53674e-07 , s = 3.99609 [12] h = 2.38419e-07 , s = 4.00195 [13] h = 5.96046e-08 , s = 3.99902 [14] h = 1.49012e-08 , s = 4.00049 [15] h = 3.72529e-09 , s = 3.99976 [16] h = 9.31323e-10 , s = 4.00012 [17] h = 2.32831e-10 , s = 3.99994 [18] h = 5.82077e-11 , s = 4.00003 [19] h = 1.45519e-11 , s = 3.99998 [20] h = 3.63798e-12 , s = 4.00001 [#1] INFO:Caching -- RooAbsCachedPdf::getCache(model) creating new cache 0xae513e0 with pdf gx_CONV_model_mean_CACHE_Obs[x,mean]_NORM_x_mean for nset (x,mean) with code 1
Fit p.d.f. to toy data
projModel.fitTo(d, Verbose=True, PrintLevel=-1)
<cppyy.gbl.RooFitResult object at 0x(nil)>
[#0] WARNING:Eval -- The FFT convolution 'model' will run with 50 bins. A decent accuracy for difficult convolutions is typically only reached with n >= 1000. Suggest to increase the number of bins of the observable 'mean'. [#1] INFO:Caching -- RooAbsCachedPdf::getCache(model) creating new cache 0xb57cae0 with pdf gx_CONV_model_mean_CACHE_Obs[x,mean]_NORM_x_mean for nset (x,mean) with code 1 from preexisting content. [#1] INFO:Fitting -- RooAbsPdf::fitTo(model_Int[mean]_Norm[mean,x]) fixing normalization set for coefficient determination to observables in data [#1] INFO:Fitting -- using CPU computation library compiled with -mavx2 [#1] INFO:Fitting -- RooAddition::defaultErrorLevel(nll_model_Int[mean]_Norm[mean,x]_genData) Summation contains a RooNLLVar, using its error level [#1] INFO:Minimization -- RooAbsMinimizerFcn::setOptimizeConst: activating const optimization [#0] WARNING:Minimization -- RooAbsMinimizerFcn::synchronize: WARNING: no initial error estimate available for a: using 0.5 [#0] WARNING:Minimization -- RooAbsMinimizerFcn::synchronize: WARNING: no initial error estimate available for mean: using 0.6 [#0] WARNING:Minimization -- RooAbsMinimizerFcn::synchronize: WARNING: no initial error estimate available for sigma: using 0.2 sigma=0.5, [#0] WARNING:Eval -- The FFT convolution 'model' will run with 50 bins. A decent accuracy for difficult convolutions is typically only reached with n >= 1000. Suggest to increase the number of bins of the observable 'mean'. [#1] INFO:NumericIntegration -- RooRealIntegral::init(model_mean_Int[mean]) using numeric integrator RooIntegrator1D to calculate Int(mean) [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.015625 , s = 4.5 [5] h = 0.00390625 , s = 3.75 [6] h = 0.000976562 , s = 4.125 [7] h = 0.000244141 , s = 3.9375 [8] h = 6.10352e-05 , s = 4.03125 [9] h = 1.52588e-05 , s = 3.98438 [10] h = 3.8147e-06 , s = 4.00781 [11] h = 9.53674e-07 , s = 3.99609 [12] h = 2.38419e-07 , s = 4.00195 [13] h = 5.96046e-08 , s = 3.99902 [14] h = 1.49012e-08 , s = 4.00049 [15] h = 3.72529e-09 , s = 3.99976 [16] h = 9.31323e-10 , s = 4.00012 [17] h = 2.32831e-10 , s = 3.99994 [18] h = 5.82077e-11 , s = 4.00003 [19] h = 1.45519e-11 , s = 3.99998 [20] h = 3.63798e-12 , s = 4.00001 [#1] INFO:Caching -- RooAbsCachedPdf::getCache(model) creating new cache 0xb960720 with pdf gx_CONV_model_mean_CACHE_Obs[mean] for nset () with code 2 [#1] INFO:NumericIntegration -- RooRealIntegral::init(gx_Int[mean,x]) using numeric integrator RooIntegrator1D to calculate Int(mean) [#1] INFO:NumericIntegration -- RooRealIntegral::init(model_mean_Int[mean]) using numeric integrator RooIntegrator1D to calculate Int(mean) [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.015625 , s = 4.5 [5] h = 0.00390625 , s = 3.75 [6] h = 0.000976562 , s = 4.125 [7] h = 0.000244141 , s = 3.9375 [8] h = 6.10352e-05 , s = 4.03125 [9] h = 1.52588e-05 , s = 3.98438 [10] h = 3.8147e-06 , s = 4.00781 [11] h = 9.53674e-07 , s = 3.99609 [12] h = 2.38419e-07 , s = 4.00195 [13] h = 5.96046e-08 , s = 3.99902 [14] h = 1.49012e-08 , s = 4.00049 [15] h = 3.72529e-09 , s = 3.99976 [16] h = 9.31323e-10 , s = 4.00012 [17] h = 2.32831e-10 , s = 3.99994 [18] h = 5.82077e-11 , s = 4.00003 [19] h = 1.45519e-11 , s = 3.99998 [20] h = 3.63798e-12 , s = 4.00001 prevFCN = 2171.275755 a=2.017, prevFCN = 2171.275755 a=1.983, prevFCN = 2171.275755 a=2.172, prevFCN = 2171.861215 a=1.84, [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 3.375 [7] h = 0.0002441 , s = 3.562 [8] h = 6.104e-05 , s = 3.656 [9] h = 1.526e-05 , s = 3.703 [10] h = 3.815e-06 , s = 3.68 [11] h = 9.537e-07 , s = 3.691 [12] h = 2.384e-07 , s = 3.686 [13] h = 5.96e-08 , s = 3.683 [14] h = 1.49e-08 , s = 3.681 [15] h = 3.725e-09 , s = 3.68 [16] h = 9.313e-10 , s = 3.68 [17] h = 2.328e-10 , s = 3.68 [18] h = 5.821e-11 , s = 3.68 [19] h = 1.455e-11 , s = 3.68 [20] h = 3.638e-12 , s = 3.68 [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 3.375 [7] h = 0.0002441 , s = 3.562 [8] h = 6.104e-05 , s = 3.656 [9] h = 1.526e-05 , s = 3.703 [10] h = 3.815e-06 , s = 3.68 [11] h = 9.537e-07 , s = 3.691 [12] h = 2.384e-07 , s = 3.686 [13] h = 5.96e-08 , s = 3.683 [14] h = 1.49e-08 , s = 3.681 [15] h = 3.725e-09 , s = 3.68 [16] h = 9.313e-10 , s = 3.68 [17] h = 2.328e-10 , s = 3.68 [18] h = 5.821e-11 , s = 3.68 [19] h = 1.455e-11 , s = 3.68 [20] h = 3.638e-12 , s = 3.68 prevFCN = 2174.775121 a=2.017, prevFCN = 2171.275755 a=1.983, prevFCN = 2171.275755 a=2, mean=0.01944, [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 4.125 [7] h = 0.0002441 , s = 3.938 [8] h = 6.104e-05 , s = 4.031 [9] h = 1.526e-05 , s = 3.984 [10] h = 3.815e-06 , s = 4.008 [11] h = 9.537e-07 , s = 3.996 [12] h = 2.384e-07 , s = 4.002 [13] h = 5.96e-08 , s = 3.999 [14] h = 1.49e-08 , s = 4 [15] h = 3.725e-09 , s = 4 [16] h = 9.313e-10 , s = 4 [17] h = 2.328e-10 , s = 4 [18] h = 5.821e-11 , s = 4 [19] h = 1.455e-11 , s = 4 [20] h = 3.638e-12 , s = 4 [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 4.125 [7] h = 0.0002441 , s = 3.938 [8] h = 6.104e-05 , s = 4.031 [9] h = 1.526e-05 , s = 3.984 [10] h = 3.815e-06 , s = 4.008 [11] h = 9.537e-07 , s = 3.996 [12] h = 2.384e-07 , s = 4.002 [13] h = 5.96e-08 , s = 3.999 [14] h = 1.49e-08 , s = 4 [15] h = 3.725e-09 , s = 4 [16] h = 9.313e-10 , s = 4 [17] h = 2.328e-10 , s = 4 [18] h = 5.821e-11 , s = 4 [19] h = 1.455e-11 , s = 4 [20] h = 3.638e-12 , s = 4 prevFCN = 2171.275755 mean=-0.01944, prevFCN = 2171.275755 mean=0.1943, prevFCN = 2171.275755 mean=-0.1943, prevFCN = 2171.275755 mean=0, sigma=0.5067, prevFCN = 2171.291807 sigma=0.4934, prevFCN = 2171.265264 sigma=0.5029, prevFCN = 2171.281998 sigma=0.4971, prevFCN = 2171.270547 sigma=0.4843, prevFCN = 2171.259881 a=2.172, prevFCN = 2171.692149 a=1.84, [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 3.375 [7] h = 0.0002441 , s = 3.562 [8] h = 6.104e-05 , s = 3.656 [9] h = 1.526e-05 , s = 3.703 [10] h = 3.815e-06 , s = 3.68 [11] h = 9.537e-07 , s = 3.691 [12] h = 2.384e-07 , s = 3.686 [13] h = 5.96e-08 , s = 3.683 [14] h = 1.49e-08 , s = 3.681 [15] h = 3.725e-09 , s = 3.68 [16] h = 9.313e-10 , s = 3.68 [17] h = 2.328e-10 , s = 3.68 [18] h = 5.821e-11 , s = 3.68 [19] h = 1.455e-11 , s = 3.68 [20] h = 3.638e-12 , s = 3.68 [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 3.375 [7] h = 0.0002441 , s = 3.562 [8] h = 6.104e-05 , s = 3.656 [9] h = 1.526e-05 , s = 3.703 [10] h = 3.815e-06 , s = 3.68 [11] h = 9.537e-07 , s = 3.691 [12] h = 2.384e-07 , s = 3.686 [13] h = 5.96e-08 , s = 3.683 [14] h = 1.49e-08 , s = 3.681 [15] h = 3.725e-09 , s = 3.68 [16] h = 9.313e-10 , s = 3.68 [17] h = 2.328e-10 , s = 3.68 [18] h = 5.821e-11 , s = 3.68 [19] h = 1.455e-11 , s = 3.68 [20] h = 3.638e-12 , s = 3.68 prevFCN = 2175.249474 a=2.017, prevFCN = 2171.259881 a=1.983, prevFCN = 2171.259881 a=2.172, prevFCN = 2171.692149 a=1.84, [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 3.375 [7] h = 0.0002441 , s = 3.562 [8] h = 6.104e-05 , s = 3.656 [9] h = 1.526e-05 , s = 3.703 [10] h = 3.815e-06 , s = 3.68 [11] h = 9.537e-07 , s = 3.691 [12] h = 2.384e-07 , s = 3.686 [13] h = 5.96e-08 , s = 3.683 [14] h = 1.49e-08 , s = 3.681 [15] h = 3.725e-09 , s = 3.68 [16] h = 9.313e-10 , s = 3.68 [17] h = 2.328e-10 , s = 3.68 [18] h = 5.821e-11 , s = 3.68 [19] h = 1.455e-11 , s = 3.68 [20] h = 3.638e-12 , s = 3.68 [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 3.375 [7] h = 0.0002441 , s = 3.562 [8] h = 6.104e-05 , s = 3.656 [9] h = 1.526e-05 , s = 3.703 [10] h = 3.815e-06 , s = 3.68 [11] h = 9.537e-07 , s = 3.691 [12] h = 2.384e-07 , s = 3.686 [13] h = 5.96e-08 , s = 3.683 [14] h = 1.49e-08 , s = 3.681 [15] h = 3.725e-09 , s = 3.68 [16] h = 9.313e-10 , s = 3.68 [17] h = 2.328e-10 , s = 3.68 [18] h = 5.821e-11 , s = 3.68 [19] h = 1.455e-11 , s = 3.68 [20] h = 3.638e-12 , s = 3.68 prevFCN = 2175.249474 a=2, mean=1.438, [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 4.125 [7] h = 0.0002441 , s = 3.938 [8] h = 6.104e-05 , s = 4.031 [9] h = 1.526e-05 , s = 3.984 [10] h = 3.815e-06 , s = 4.008 [11] h = 9.537e-07 , s = 3.996 [12] h = 2.384e-07 , s = 4.002 [13] h = 5.96e-08 , s = 3.999 [14] h = 1.49e-08 , s = 4 [15] h = 3.725e-09 , s = 4 [16] h = 9.313e-10 , s = 4 [17] h = 2.328e-10 , s = 4 [18] h = 5.821e-11 , s = 4 [19] h = 1.455e-11 , s = 4 [20] h = 3.638e-12 , s = 4 [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 4.125 [7] h = 0.0002441 , s = 3.938 [8] h = 6.104e-05 , s = 4.031 [9] h = 1.526e-05 , s = 3.984 [10] h = 3.815e-06 , s = 4.008 [11] h = 9.537e-07 , s = 3.996 [12] h = 2.384e-07 , s = 4.002 [13] h = 5.96e-08 , s = 3.999 [14] h = 1.49e-08 , s = 4 [15] h = 3.725e-09 , s = 4 [16] h = 9.313e-10 , s = 4 [17] h = 2.328e-10 , s = 4 [18] h = 5.821e-11 , s = 4 [19] h = 1.455e-11 , s = 4 [20] h = 3.638e-12 , s = 4 prevFCN = 2171.259881 mean=-1.438, prevFCN = 2171.259881 mean=0, sigma=0.4871, prevFCN = 2171.26042 sigma=0.4815, prevFCN = 2171.260367 a=2.003, sigma=0.4688, prevFCN = 2171.275519 a=2.001, sigma=0.479, prevFCN = 2171.261603 a=2, sigma=0.482, prevFCN = 2171.260187 a=2, sigma=0.4832, prevFCN = 2171.259943 a=2, sigma=0.4838, prevFCN = 2171.259893 a=2, sigma=0.484, prevFCN = 2171.259883 a=2, sigma=0.4841, prevFCN = 2171.259881 a=2, sigma=0.4842, [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 4.125 [7] h = 0.0002441 , s = 3.938 [8] h = 6.104e-05 , s = 4.031 [9] h = 1.526e-05 , s = 3.984 [10] h = 3.815e-06 , s = 4.008 [11] h = 9.537e-07 , s = 3.996 [12] h = 2.384e-07 , s = 4.002 [13] h = 5.96e-08 , s = 3.999 [14] h = 1.49e-08 , s = 4 [15] h = 3.725e-09 , s = 4 [16] h = 9.313e-10 , s = 4 [17] h = 2.328e-10 , s = 4 [18] h = 5.821e-11 , s = 4 [19] h = 1.455e-11 , s = 4 [20] h = 3.638e-12 , s = 4 [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 4.125 [7] h = 0.0002441 , s = 3.938 [8] h = 6.104e-05 , s = 4.031 [9] h = 1.526e-05 , s = 3.984 [10] h = 3.815e-06 , s = 4.008 [11] h = 9.537e-07 , s = 3.996 [12] h = 2.384e-07 , s = 4.002 [13] h = 5.96e-08 , s = 3.999 [14] h = 1.49e-08 , s = 4 [15] h = 3.725e-09 , s = 4 [16] h = 9.313e-10 , s = 4 [17] h = 2.328e-10 , s = 4 [18] h = 5.821e-11 , s = 4 [19] h = 1.455e-11 , s = 4 [20] h = 3.638e-12 , s = 4 prevFCN = 2171.25988 a=2.017, prevFCN = 2171.25988 a=1.983, prevFCN = 2171.25988 a=2.172, prevFCN = 2171.691427 a=1.84, [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 3.375 [7] h = 0.0002441 , s = 3.562 [8] h = 6.104e-05 , s = 3.656 [9] h = 1.526e-05 , s = 3.703 [10] h = 3.815e-06 , s = 3.68 [11] h = 9.537e-07 , s = 3.691 [12] h = 2.384e-07 , s = 3.686 [13] h = 5.96e-08 , s = 3.683 [14] h = 1.49e-08 , s = 3.681 [15] h = 3.725e-09 , s = 3.68 [16] h = 9.313e-10 , s = 3.68 [17] h = 2.328e-10 , s = 3.68 [18] h = 5.821e-11 , s = 3.68 [19] h = 1.455e-11 , s = 3.68 [20] h = 3.638e-12 , s = 3.68 [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 3.375 [7] h = 0.0002441 , s = 3.562 [8] h = 6.104e-05 , s = 3.656 [9] h = 1.526e-05 , s = 3.703 [10] h = 3.815e-06 , s = 3.68 [11] h = 9.537e-07 , s = 3.691 [12] h = 2.384e-07 , s = 3.686 [13] h = 5.96e-08 , s = 3.683 [14] h = 1.49e-08 , s = 3.681 [15] h = 3.725e-09 , s = 3.68 [16] h = 9.313e-10 , s = 3.68 [17] h = 2.328e-10 , s = 3.68 [18] h = 5.821e-11 , s = 3.68 [19] h = 1.455e-11 , s = 3.68 [20] h = 3.638e-12 , s = 3.68 prevFCN = 2175.251788 a=2.017, prevFCN = 2171.25988 a=1.983, prevFCN = 2171.25988 a=2, mean=1.438, [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 4.125 [7] h = 0.0002441 , s = 3.938 [8] h = 6.104e-05 , s = 4.031 [9] h = 1.526e-05 , s = 3.984 [10] h = 3.815e-06 , s = 4.008 [11] h = 9.537e-07 , s = 3.996 [12] h = 2.384e-07 , s = 4.002 [13] h = 5.96e-08 , s = 3.999 [14] h = 1.49e-08 , s = 4 [15] h = 3.725e-09 , s = 4 [16] h = 9.313e-10 , s = 4 [17] h = 2.328e-10 , s = 4 [18] h = 5.821e-11 , s = 4 [19] h = 1.455e-11 , s = 4 [20] h = 3.638e-12 , s = 4 [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 4.125 [7] h = 0.0002441 , s = 3.938 [8] h = 6.104e-05 , s = 4.031 [9] h = 1.526e-05 , s = 3.984 [10] h = 3.815e-06 , s = 4.008 [11] h = 9.537e-07 , s = 3.996 [12] h = 2.384e-07 , s = 4.002 [13] h = 5.96e-08 , s = 3.999 [14] h = 1.49e-08 , s = 4 [15] h = 3.725e-09 , s = 4 [16] h = 9.313e-10 , s = 4 [17] h = 2.328e-10 , s = 4 [18] h = 5.821e-11 , s = 4 [19] h = 1.455e-11 , s = 4 [20] h = 3.638e-12 , s = 4 prevFCN = 2171.25988 mean=-1.438, prevFCN = 2171.25988 mean=0, sigma=0.487, prevFCN = 2171.260398 sigma=0.4814, prevFCN = 2171.260398 sigma=0.4842, prevFCN = 2171.25988 a=2.017, prevFCN = 2171.25988 a=1.983, prevFCN = 2171.25988 a=2.172, prevFCN = 2171.691427 a=1.84, [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 3.375 [7] h = 0.0002441 , s = 3.562 [8] h = 6.104e-05 , s = 3.656 [9] h = 1.526e-05 , s = 3.703 [10] h = 3.815e-06 , s = 3.68 [11] h = 9.537e-07 , s = 3.691 [12] h = 2.384e-07 , s = 3.686 [13] h = 5.96e-08 , s = 3.683 [14] h = 1.49e-08 , s = 3.681 [15] h = 3.725e-09 , s = 3.68 [16] h = 9.313e-10 , s = 3.68 [17] h = 2.328e-10 , s = 3.68 [18] h = 5.821e-11 , s = 3.68 [19] h = 1.455e-11 , s = 3.68 [20] h = 3.638e-12 , s = 3.68 [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 3.375 [7] h = 0.0002441 , s = 3.562 [8] h = 6.104e-05 , s = 3.656 [9] h = 1.526e-05 , s = 3.703 [10] h = 3.815e-06 , s = 3.68 [11] h = 9.537e-07 , s = 3.691 [12] h = 2.384e-07 , s = 3.686 [13] h = 5.96e-08 , s = 3.683 [14] h = 1.49e-08 , s = 3.681 [15] h = 3.725e-09 , s = 3.68 [16] h = 9.313e-10 , s = 3.68 [17] h = 2.328e-10 , s = 3.68 [18] h = 5.821e-11 , s = 3.68 [19] h = 1.455e-11 , s = 3.68 [20] h = 3.638e-12 , s = 3.68 prevFCN = 2175.251788 a=2.083, prevFCN = 2171.25988 a=1.92, prevFCN = 2172.379556 a=2, mean=1.438, [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 4.125 [7] h = 0.0002441 , s = 3.938 [8] h = 6.104e-05 , s = 4.031 [9] h = 1.526e-05 , s = 3.984 [10] h = 3.815e-06 , s = 4.008 [11] h = 9.537e-07 , s = 3.996 [12] h = 2.384e-07 , s = 4.002 [13] h = 5.96e-08 , s = 3.999 [14] h = 1.49e-08 , s = 4 [15] h = 3.725e-09 , s = 4 [16] h = 9.313e-10 , s = 4 [17] h = 2.328e-10 , s = 4 [18] h = 5.821e-11 , s = 4 [19] h = 1.455e-11 , s = 4 [20] h = 3.638e-12 , s = 4 [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 4.125 [7] h = 0.0002441 , s = 3.938 [8] h = 6.104e-05 , s = 4.031 [9] h = 1.526e-05 , s = 3.984 [10] h = 3.815e-06 , s = 4.008 [11] h = 9.537e-07 , s = 3.996 [12] h = 2.384e-07 , s = 4.002 [13] h = 5.96e-08 , s = 3.999 [14] h = 1.49e-08 , s = 4 [15] h = 3.725e-09 , s = 4 [16] h = 9.313e-10 , s = 4 [17] h = 2.328e-10 , s = 4 [18] h = 5.821e-11 , s = 4 [19] h = 1.455e-11 , s = 4 [20] h = 3.638e-12 , s = 4 prevFCN = 2171.25988 mean=-1.438, prevFCN = 2171.25988 mean=1.465, prevFCN = 2171.25988 mean=-1.465, prevFCN = 2171.25988 mean=0, [#0] WARNING:Minimization -- RooAbsMinimizerFcn::synchronize: WARNING: no initial error estimate available for a: using 0.5 [#1] INFO:Minimization -- RooAbsMinimizerFcn::synchronize: value of parameter a changed from 2 to 2 [#1] INFO:Minimization -- RooAbsMinimizerFcn::synchronize: error/step size of parameter a changed from 0.5 to 0.5 [#0] WARNING:Minimization -- RooAbsMinimizerFcn::synchronize: WARNING: no initial error estimate available for mean: using 0.6 [#0] WARNING:Minimization -- RooAbsMinimizerFcn::synchronize: WARNING: no initial error estimate available for sigma: using 0.1921 [#1] INFO:Minimization -- RooAbsMinimizerFcn::synchronize: value of parameter sigma changed from 0.5 to 0.4842 [#1] INFO:Minimization -- RooAbsMinimizerFcn::synchronize: error/step size of parameter sigma changed from 0.2 to 0.1921 prevFCN = 2171.25988 a=2.017, prevFCN = 2171.25988 a=1.983, prevFCN = 2171.25988 a=2.172, prevFCN = 2171.691427 a=1.84, [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 3.375 [7] h = 0.0002441 , s = 3.562 [8] h = 6.104e-05 , s = 3.656 [9] h = 1.526e-05 , s = 3.703 [10] h = 3.815e-06 , s = 3.68 [11] h = 9.537e-07 , s = 3.691 [12] h = 2.384e-07 , s = 3.686 [13] h = 5.96e-08 , s = 3.683 [14] h = 1.49e-08 , s = 3.681 [15] h = 3.725e-09 , s = 3.68 [16] h = 9.313e-10 , s = 3.68 [17] h = 2.328e-10 , s = 3.68 [18] h = 5.821e-11 , s = 3.68 [19] h = 1.455e-11 , s = 3.68 [20] h = 3.638e-12 , s = 3.68 [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 3.375 [7] h = 0.0002441 , s = 3.562 [8] h = 6.104e-05 , s = 3.656 [9] h = 1.526e-05 , s = 3.703 [10] h = 3.815e-06 , s = 3.68 [11] h = 9.537e-07 , s = 3.691 [12] h = 2.384e-07 , s = 3.686 [13] h = 5.96e-08 , s = 3.683 [14] h = 1.49e-08 , s = 3.681 [15] h = 3.725e-09 , s = 3.68 [16] h = 9.313e-10 , s = 3.68 [17] h = 2.328e-10 , s = 3.68 [18] h = 5.821e-11 , s = 3.68 [19] h = 1.455e-11 , s = 3.68 [20] h = 3.638e-12 , s = 3.68 prevFCN = 2175.251788 a=2.083, prevFCN = 2171.25988 a=1.92, prevFCN = 2172.379556 a=2, mean=1.438, [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 4.125 [7] h = 0.0002441 , s = 3.938 [8] h = 6.104e-05 , s = 4.031 [9] h = 1.526e-05 , s = 3.984 [10] h = 3.815e-06 , s = 4.008 [11] h = 9.537e-07 , s = 3.996 [12] h = 2.384e-07 , s = 4.002 [13] h = 5.96e-08 , s = 3.999 [14] h = 1.49e-08 , s = 4 [15] h = 3.725e-09 , s = 4 [16] h = 9.313e-10 , s = 4 [17] h = 2.328e-10 , s = 4 [18] h = 5.821e-11 , s = 4 [19] h = 1.455e-11 , s = 4 [20] h = 3.638e-12 , s = 4 [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 4.125 [7] h = 0.0002441 , s = 3.938 [8] h = 6.104e-05 , s = 4.031 [9] h = 1.526e-05 , s = 3.984 [10] h = 3.815e-06 , s = 4.008 [11] h = 9.537e-07 , s = 3.996 [12] h = 2.384e-07 , s = 4.002 [13] h = 5.96e-08 , s = 3.999 [14] h = 1.49e-08 , s = 4 [15] h = 3.725e-09 , s = 4 [16] h = 9.313e-10 , s = 4 [17] h = 2.328e-10 , s = 4 [18] h = 5.821e-11 , s = 4 [19] h = 1.455e-11 , s = 4 [20] h = 3.638e-12 , s = 4 prevFCN = 2171.25988 mean=-1.438, prevFCN = 2171.25988 mean=1.465, prevFCN = 2171.25988 mean=-1.465, prevFCN = 2171.25988 mean=0, [#1] INFO:Minimization -- RooAbsMinimizerFcn::setOptimizeConst: deactivating const optimization
Warning in <ROOT::Math::Fitter::CalculateHessErrors>: Error when calculating Hessian
Plot data and fitted p.d.f.
frame = x.frame(Bins=25)
d.plotOn(frame)
projModel.plotOn(frame)
<cppyy.gbl.RooPlot object at 0xb9dc150>
[#0] WARNING:Eval -- The FFT convolution 'model' will run with 50 bins. A decent accuracy for difficult convolutions is typically only reached with n >= 1000. Suggest to increase the number of bins of the observable 'mean'. [#1] INFO:NumericIntegration -- RooRealIntegral::init(gx_Int[mean,x]) using numeric integrator RooIntegrator1D to calculate Int(mean) [#1] INFO:NumericIntegration -- RooRealIntegral::init(model_mean_Int[mean]) using numeric integrator RooIntegrator1D to calculate Int(mean) [#0] WARNING:Integration -- RooRombergIntegrator::integral: integral of model_mean over range (-6,6) did not converge after 20 steps [1] h = 1 , s = 0 [2] h = 0.25 , s = 6 [3] h = 0.0625 , s = 3 [4] h = 0.01562 , s = 4.5 [5] h = 0.003906 , s = 3.75 [6] h = 0.0009766 , s = 4.125 [7] h = 0.0002441 , s = 3.938 [8] h = 6.104e-05 , s = 4.031 [9] h = 1.526e-05 , s = 3.984 [10] h = 3.815e-06 , s = 4.008 [11] h = 9.537e-07 , s = 3.996 [12] h = 2.384e-07 , s = 4.002 [13] h = 5.96e-08 , s = 3.999 [14] h = 1.49e-08 , s = 4 [15] h = 3.725e-09 , s = 4 [16] h = 9.313e-10 , s = 4 [17] h = 2.328e-10 , s = 4 [18] h = 5.821e-11 , s = 4 [19] h = 1.455e-11 , s = 4 [20] h = 3.638e-12 , s = 4 [#1] INFO:Caching -- RooAbsCachedPdf::getCache(model) creating new cache 0xbb3bb60 with pdf gx_CONV_model_mean_CACHE_Obs[x,mean]_NORM_x_mean for nset (x,mean) with code 1
Make 2d histogram of model(x;mean)
hh = model.createHistogram(
"hh",
x,
Binning=50,
YVar=dict(var=mean, Binning=50),
ConditionalObservables={mean},
)
hh.SetTitle("histogram of model(x|mean)")
hh.SetLineColor(ROOT.kBlue)
[#0] WARNING:Eval -- The FFT convolution 'model' will run with 50 bins. A decent accuracy for difficult convolutions is typically only reached with n >= 1000. Suggest to increase the number of bins of the observable 'mean'. [#1] INFO:Caching -- RooAbsCachedPdf::getCache(model) creating new cache 0xbd37110 with pdf gx_CONV_model_mean_CACHE_Obs[x,mean]_NORM_x for nset (x) with code 3 from preexisting content.
Draw frame on canvas
c = ROOT.TCanvas("rf211_paramconv", "rf211_paramconv", 800, 400)
c.Divide(2)
c.cd(1)
ROOT.gPad.SetLeftMargin(0.15)
frame.GetYaxis().SetTitleOffset(1.4)
frame.Draw()
c.cd(2)
ROOT.gPad.SetLeftMargin(0.20)
hh.GetZaxis().SetTitleOffset(2.5)
hh.Draw("surf")
c.SaveAs("rf211_paramconv.png")
Info in <TCanvas::Print>: png file rf211_paramconv.png has been created
Draw all canvases
from ROOT import gROOT
gROOT.GetListOfCanvases().Draw()