Organization and simultaneous fits: tuning and customizing the ROOT.RooFit message logging facility
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 Tuesday, March 19, 2024 at 07:16 PM.
import ROOT
Construct gauss(x,m,s)
x = ROOT.RooRealVar("x", "x", -10, 10)
m = ROOT.RooRealVar("m", "m", 0, -10, 10)
s = ROOT.RooRealVar("s", "s", 1, -10, 10)
gauss = ROOT.RooGaussian("g", "g", x, m, s)
[#0] WARNING:InputArguments -- The parameter 's' with range [-10, 10] of the RooGaussian 'g' exceeds the safe range of (0, inf). Advise to limit its range.
Construct poly(x,p0)
p0 = ROOT.RooRealVar("p0", "p0", 0.01, 0.0, 1.0)
poly = ROOT.RooPolynomial("p", "p", x, [p0])
model = fgauss(x) + (1-f)poly(x)
f = ROOT.RooRealVar("f", "f", 0.5, 0.0, 1.0)
model = ROOT.RooAddPdf("model", "model", [gauss, poly], [f])
data = model.generate({x}, 10)
Print streams configuration
ROOT.RooMsgService.instance().Print()
Active Message streams [0] MinLevel = PROGRESS Topic = Generation Minimization Plotting Fitting Integration LinkStateMgmt Eval Caching Optimization ObjectHandling InputArguments Tracing Contents DataHandling NumericIntegration FastEvaluations [1] MinLevel = INFO Topic = Minimization Plotting Fitting Eval Caching ObjectHandling InputArguments DataHandling NumericIntegration [2] MinLevel = INFO Topic = HistFactory
Print streams configuration
ROOT.RooMsgService.instance().Print()
Active Message streams [0] MinLevel = PROGRESS Topic = Generation Minimization Plotting Fitting Integration LinkStateMgmt Eval Caching Optimization ObjectHandling InputArguments Tracing Contents DataHandling NumericIntegration FastEvaluations [1] MinLevel = INFO Topic = Minimization Plotting Fitting Eval Caching ObjectHandling InputArguments DataHandling NumericIntegration [2] MinLevel = INFO Topic = HistFactory
Add Integration topic to existing INFO stream
ROOT.RooMsgService.instance().getStream(1).addTopic(ROOT.RooFit.Integration)
Construct integral over gauss to demonstrate message stream
igauss = gauss.createIntegral({x})
igauss.Print()
[#1] INFO:Integration -- RooRealIntegral::ctor(g_Int[x]) Constructing integral of function g over observables(x) with normalization () with range identifier <none> [#1] INFO:Integration -- g: Observable x is suitable for analytical integration (if supported by p.d.f) [#1] INFO:Integration -- g: Function integrated observables (x) internally with code 1 [#1] INFO:Integration -- g: Observables (x) are analytically integrated with code 1 RooRealIntegral::g_Int[x][ Int gd[Ana](x) ] = 2.50663
Print streams configuration in verbose, also shows inactive streams
ROOT.RooMsgService.instance().Print()
Active Message streams [0] MinLevel = PROGRESS Topic = Generation Minimization Plotting Fitting Integration LinkStateMgmt Eval Caching Optimization ObjectHandling InputArguments Tracing Contents DataHandling NumericIntegration FastEvaluations [1] MinLevel = INFO Topic = Minimization Plotting Fitting Integration Eval Caching ObjectHandling InputArguments DataHandling NumericIntegration [2] MinLevel = INFO Topic = HistFactory
Remove stream
ROOT.RooMsgService.instance().getStream(1).removeTopic(ROOT.RooFit.Integration)
Show DEBUG level message on function tracing, ROOT.RooGaussian only
ROOT.RooMsgService.instance().addStream(ROOT.RooFit.DEBUG, Topic=ROOT.RooFit.Tracing, ClassName="RooGaussian")
3
Perform a fit to generate some tracing messages
model.fitTo(data, Verbose=True)
<cppyy.gbl.RooFitResult object at 0x(nil)>
[#1] INFO:Fitting -- RooAbsPdf::fitTo(model) 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_modelData) 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 f: using 0.1 [#0] WARNING:Minimization -- RooAbsMinimizerFcn::synchronize: WARNING: no initial error estimate available for m: using 2 [#0] WARNING:Minimization -- RooAbsMinimizerFcn::synchronize: WARNING: no initial error estimate available for p0: using 0.005 [#0] WARNING:Minimization -- RooAbsMinimizerFcn::synchronize: WARNING: no initial error estimate available for s: using 2 Minuit2Minimizer: Minimize with max-calls 2000 convergence for edm < 1 strategy 1 p0=0.01, prevFCN = 31.75882326 f=0.501, prevFCN = 31.76758673 f=0.499, prevFCN = 31.75008506 f=0.5, m=0.02014, prevFCN = 31.72980141 m=-0.02014, prevFCN = 31.78749743 m=0.004235, prevFCN = 31.75274724 m=-0.004235, prevFCN = 31.76488389 m=0, p0=0.01005, prevFCN = 31.75954549 p0=0.009948, prevFCN = 31.75810351 p0=0.01013, prevFCN = 31.76062402 p0=0.009872, prevFCN = 31.75703788 p0=0.01, s=1.02, prevFCN = 31.67915486 s=0.9799, prevFCN = 31.84068856 s=1.002, prevFCN = 31.75075447 s=0.998, prevFCN = 31.76691405 m=0.004235, s=1, prevFCN = 31.75274724 m=0.02118, prevFCN = 31.72829189 m=0.06353, prevFCN = 31.66614321 m=0.1906, prevFCN = 31.47244051 m=0.5715, prevFCN = 30.87227361 m=1.707, prevFCN = 29.88047134 m=2.064, prevFCN = 29.97604268 f=0.5008, m=1.707, prevFCN = 29.88564172 f=0.4992, prevFCN = 29.87531802 f=0.5, m=1.711, prevFCN = 29.8803659 m=1.703, prevFCN = 29.88060433 m=1.71, prevFCN = 29.88039214 m=1.704, prevFCN = 29.88056503 m=1.707, p0=0.01013, prevFCN = 29.88274199 p0=0.009875, prevFCN = 29.87821833 p0=0.01, s=1.002, prevFCN = 29.87987611 s=0.9984, prevFCN = 29.88107011 s=1.003, prevFCN = 29.87926952 s=0.9967, prevFCN = 29.88168765 f=0.2774, m=1.724, p0=0.000388, s=1.276, prevFCN = 28.97288883 f=0.2912, m=1.723, p0=0.0006269, s=1.257, prevFCN = 28.97893369 f=0.278, m=1.724, p0=0.000388, s=1.276, prevFCN = 28.97325909 f=0.2768, prevFCN = 28.97252778 f=0.2774, m=1.727, prevFCN = 28.97321652 m=1.722, prevFCN = 28.97256819 m=1.724, p0=0.0004103, prevFCN = 28.97321664 p0=0.0003662, prevFCN = 28.97257031 p0=0.000388, s=1.279, prevFCN = 28.97432524 s=1.273, prevFCN = 28.97145596 s=1.282, prevFCN = 28.97575564 s=1.269, prevFCN = 28.97003607 f=0.2452, m=1.663, p0=5.498e-07, s=0.9876, prevFCN = 28.8608997 f=0.2274, m=1.628, p0=0.0001029, s=0.8218, prevFCN = 28.87647974 f=0.241, m=1.655, p0=3.204e-06, s=0.9491, prevFCN = 28.85685477 f=0.2418, prevFCN = 28.85692699 f=0.2403, prevFCN = 28.85679737 f=0.241, m=1.659, prevFCN = 28.85436009 m=1.651, prevFCN = 28.8593705 m=1.655, p0=1.215e-06, prevFCN = 28.85682558 p0=6.138e-06, prevFCN = 28.85689784 p0=3.204e-06, s=0.9556, prevFCN = 28.85804684 s=0.9426, prevFCN = 28.85571545 s=0.9524, prevFCN = 28.85746237 s=0.9458, prevFCN = 28.85626117 f=0.2171, m=1.753, p0=0.0002379, s=0.6877, prevFCN = 28.6750677 f=0.1311, m=2.143, p0=0.004887, s=-0.3611, RooAbsMinimizerFcn: Minimized function has error status. Returning maximum FCN so far (31.8407) to force MIGRAD to back out of this region. Error log follows. Parameter values: f=0.131146 m=2.14309 p0=0.00488743 s=-0.361096 RooAbsPdf::g_over_g_Int[x][ numerator=g denominator=g_Int[x] ] p.d.f normalization integral is zero or negative @ numerator=g=2.2451e-08, denominator=g_Int[x]=-0.905133 p.d.f normalization integral is zero or negative @ numerator=g=2.2451e-08, denominator=g_Int[x]=-0.905133 p.d.f normalization integral is zero or negative @ numerator=g=2.2451e-08, denominator=g_Int[x]=-0.905133 p.d.f normalization integral is zero or negative @ numerator=g=2.2451e-08, denominator=g_Int[x]=-0.905133 p.d.f normalization integral is zero or negative @ numerator=g=2.2451e-08, denominator=g_Int[x]=-0.905133 p.d.f normalization integral is zero or negative @ numerator=g=2.2451e-08, denominator=g_Int[x]=-0.905133 p.d.f normalization integral is zero or negative @ numerator=g=2.2451e-08, denominator=g_Int[x]=-0.905133 p.d.f normalization integral is zero or negative @ numerator=g=2.2451e-08, denominator=g_Int[x]=-0.905133 p.d.f normalization integral is zero or negative @ numerator=g=2.2451e-08, denominator=g_Int[x]=-0.905133 p.d.f normalization integral is zero or negative @ numerator=g=2.2451e-08, denominator=g_Int[x]=-0.905133 RooAddPdf::model[ f * g_over_g_Int[x] + [%] * p_over_p_Int[x] ] getLogVal() top-level p.d.f evaluates to NaN @ !refCoefNorm=(x = 0), !pdfs=(g_over_g_Int[x] = nan,p_over_p_Int[x] = 0.05), !coefficients=(f = 0.131146) getLogVal() top-level p.d.f evaluates to NaN @ !refCoefNorm=(x = 0), !pdfs=(g_over_g_Int[x] = nan,p_over_p_Int[x] = 0.05), !coefficients=(f = 0.131146) getLogVal() top-level p.d.f evaluates to NaN @ !refCoefNorm=(x = 0), !pdfs=(g_over_g_Int[x] = nan,p_over_p_Int[x] = 0.05), !coefficients=(f = 0.131146) getLogVal() top-level p.d.f evaluates to NaN @ !refCoefNorm=(x = 0), !pdfs=(g_over_g_Int[x] = nan,p_over_p_Int[x] = 0.05), !coefficients=(f = 0.131146) getLogVal() top-level p.d.f evaluates to NaN @ !refCoefNorm=(x = 0), !pdfs=(g_over_g_Int[x] = nan,p_over_p_Int[x] = 0.05), !coefficients=(f = 0.131146) getLogVal() top-level p.d.f evaluates to NaN @ !refCoefNorm=(x = 0), !pdfs=(g_over_g_Int[x] = nan,p_over_p_Int[x] = 0.05), !coefficients=(f = 0.131146) getLogVal() top-level p.d.f evaluates to NaN @ !refCoefNorm=(x = 0), !pdfs=(g_over_g_Int[x] = nan,p_over_p_Int[x] = 0.05), !coefficients=(f = 0.131146) getLogVal() top-level p.d.f evaluates to NaN @ !refCoefNorm=(x = 0), !pdfs=(g_over_g_Int[x] = nan,p_over_p_Int[x] = 0.05), !coefficients=(f = 0.131146) getLogVal() top-level p.d.f evaluates to NaN @ !refCoefNorm=(x = 0), !pdfs=(g_over_g_Int[x] = nan,p_over_p_Int[x] = 0.05), !coefficients=(f = 0.131146) getLogVal() top-level p.d.f evaluates to NaN @ !refCoefNorm=(x = 0), !pdfs=(g_over_g_Int[x] = nan,p_over_p_Int[x] = 0.05), !coefficients=(f = 0.131146) prevFCN = 122.3539561 f=0.2285, m=1.706, p0=7.868e-05, s=0.8134, prevFCN = 28.78647388 f=0.1125, m=2.24, p0=0.006973, s=-0.6231, RooAbsMinimizerFcn: Minimized function has error status. Returning maximum FCN so far (31.8407) to force MIGRAD to back out of this region. Error log follows. Parameter values: f=0.112499 m=2.24008 p0=0.00697315 s=-0.623113 RooAbsPdf::g_over_g_Int[x][ numerator=g denominator=g_Int[x] ] p.d.f normalization integral is zero or negative @ numerator=g=0.00156176, denominator=g_Int[x]=-1.56191 p.d.f normalization integral is zero or negative @ numerator=g=0.00156176, denominator=g_Int[x]=-1.56191 p.d.f normalization integral is zero or negative @ numerator=g=0.00156176, denominator=g_Int[x]=-1.56191 p.d.f normalization integral is zero or negative @ numerator=g=0.00156176, denominator=g_Int[x]=-1.56191 p.d.f normalization integral is zero or negative @ numerator=g=0.00156176, denominator=g_Int[x]=-1.56191 p.d.f normalization integral is zero or negative @ numerator=g=0.00156176, denominator=g_Int[x]=-1.56191 p.d.f normalization integral is zero or negative @ numerator=g=0.00156176, denominator=g_Int[x]=-1.56191 p.d.f normalization integral is zero or negative @ numerator=g=0.00156176, denominator=g_Int[x]=-1.56191 p.d.f normalization integral is zero or negative @ numerator=g=0.00156176, denominator=g_Int[x]=-1.56191 p.d.f normalization integral is zero or negative @ numerator=g=0.00156176, denominator=g_Int[x]=-1.56191 RooAddPdf::model[ f * g_over_g_Int[x] + [%] * p_over_p_Int[x] ] getLogVal() top-level p.d.f evaluates to NaN @ !refCoefNorm=(x = 0), !pdfs=(g_over_g_Int[x] = nan,p_over_p_Int[x] = 0.05), !coefficients=(f = 0.112499) getLogVal() top-level p.d.f evaluates to NaN @ !refCoefNorm=(x = 0), !pdfs=(g_over_g_Int[x] = nan,p_over_p_Int[x] = 0.05), !coefficients=(f = 0.112499) getLogVal() top-level p.d.f evaluates to NaN @ !refCoefNorm=(x = 0), !pdfs=(g_over_g_Int[x] = nan,p_over_p_Int[x] = 0.05), !coefficients=(f = 0.112499) getLogVal() top-level p.d.f evaluates to NaN @ !refCoefNorm=(x = 0), !pdfs=(g_over_g_Int[x] = nan,p_over_p_Int[x] = 0.05), !coefficients=(f = 0.112499) getLogVal() top-level p.d.f evaluates to NaN @ !refCoefNorm=(x = 0), !pdfs=(g_over_g_Int[x] = nan,p_over_p_Int[x] = 0.05), !coefficients=(f = 0.112499) getLogVal() top-level p.d.f evaluates to NaN @ !refCoefNorm=(x = 0), !pdfs=(g_over_g_Int[x] = nan,p_over_p_Int[x] = 0.05), !coefficients=(f = 0.112499) getLogVal() top-level p.d.f evaluates to NaN @ !refCoefNorm=(x = 0), !pdfs=(g_over_g_Int[x] = nan,p_over_p_Int[x] = 0.05), !coefficients=(f = 0.112499) getLogVal() top-level p.d.f evaluates to NaN @ !refCoefNorm=(x = 0), !pdfs=(g_over_g_Int[x] = nan,p_over_p_Int[x] = 0.05), !coefficients=(f = 0.112499) getLogVal() top-level p.d.f evaluates to NaN @ !refCoefNorm=(x = 0), !pdfs=(g_over_g_Int[x] = nan,p_over_p_Int[x] = 0.05), !coefficients=(f = 0.112499) getLogVal() top-level p.d.f evaluates to NaN @ !refCoefNorm=(x = 0), !pdfs=(g_over_g_Int[x] = nan,p_over_p_Int[x] = 0.05), !coefficients=(f = 0.112499) prevFCN = 188.0319232 f=0.1613, m=1.997, p0=0.00245, s=0.03234, prevFCN = 28.83468497 f=0.1957, m=1.844, p0=0.0007883, s=0.4446, prevFCN = 28.29265399 f=0.1624, m=1.992, p0=0.002383, s=0.04546, prevFCN = 28.59402561 f=0.1875, m=1.879, p0=0.001091, s=0.3493, prevFCN = 28.21262286 f=0.1848, m=1.891, p0=0.001205, s=0.317, prevFCN = 28.2291378 f=0.1881, m=1.879, p0=0.001091, s=0.3493, prevFCN = 28.2116799 f=0.1869, prevFCN = 28.21358342 f=0.1875, m=1.883, prevFCN = 28.19355103 m=1.876, prevFCN = 28.23178919 m=1.881, prevFCN = 28.20535193 m=1.878, prevFCN = 28.21990748 m=1.879, p0=0.001046, prevFCN = 28.21195078 p0=0.001136, prevFCN = 28.21330942 p0=0.001091, s=0.3526, prevFCN = 28.20611526 s=0.346, prevFCN = 28.21961937 s=0.3499, prevFCN = 28.21150023 s=0.3488, prevFCN = 28.21375918 f=0.1722, m=1.965, p0=0.001851, s=0.1732, prevFCN = 28.74341302 f=0.1862, m=1.887, p0=0.001148, s=0.3343, prevFCN = 28.20584218 f=0.1867, prevFCN = 28.2049983 f=0.1856, prevFCN = 28.20669972 f=0.1862, m=1.888, prevFCN = 28.1981678 m=1.885, prevFCN = 28.21353035 m=1.887, p0=0.001103, prevFCN = 28.205172 p0=0.001193, prevFCN = 28.20652605 p0=0.001148, s=0.3349, prevFCN = 28.20444386 s=0.3338, prevFCN = 28.207256 f=0.1818, m=1.915, p0=0.001339, s=0.308, prevFCN = 28.10982092 f=0.1645, m=2.028, p0=0.002253, s=0.2025, prevFCN = 27.87419674 f=0.1563, m=2.083, p0=0.00279, s=0.1506, prevFCN = 28.120134 f=0.1689, m=1.998, p0=0.001992, s=0.23, prevFCN = 27.88982194 f=0.165, m=2.028, p0=0.002253, s=0.2025, prevFCN = 27.87267254 f=0.164, prevFCN = 27.87573501 f=0.1645, m=2.029, prevFCN = 27.86358331 m=2.027, prevFCN = 27.8848256 m=2.028, p0=0.002191, prevFCN = 27.8732548 p0=0.002317, prevFCN = 27.87515272 p0=0.002253, s=0.203, prevFCN = 27.86944003 s=0.202, prevFCN = 27.87899564 s=0.2028, prevFCN = 27.87149737 s=0.2022, prevFCN = 27.87690965 f=0.1678, m=2.025, p0=0.002114, s=0.2145, prevFCN = 27.78335096 f=0.1813, m=2.015, p0=0.001599, s=0.2625, prevFCN = 27.57269415 f=0.1863, m=2.011, p0=0.00143, s=0.2798, prevFCN = 27.54157239 f=0.1904, m=2.008, p0=0.001303, s=0.2937, prevFCN = 27.52903783 f=0.193, m=2.006, p0=0.001223, s=0.3027, prevFCN = 27.52579739 f=0.1935, prevFCN = 27.52443883 f=0.1924, prevFCN = 27.52717062 f=0.193, m=2.008, prevFCN = 27.51931944 m=2.005, prevFCN = 27.53229881 m=2.007, prevFCN = 27.52090749 m=2.006, prevFCN = 27.53070065 m=2.006, p0=0.001178, prevFCN = 27.52510167 p0=0.001268, prevFCN = 27.52650648 p0=0.001223, s=0.303, prevFCN = 27.52565028 s=0.3024, prevFCN = 27.52594887 s=0.3032, prevFCN = 27.52554316 s=0.3022, prevFCN = 27.52606498 f=0.1972, m=2.021, p0=0.001181, s=0.2995, prevFCN = 27.43559462 f=0.2143, m=2.078, p0=0.001023, s=0.2869, prevFCN = 27.09103887 f=0.2593, m=2.222, p0=0.0006776, s=0.2553, prevFCN = 26.4930668 f=0.3114, m=2.377, p0=0.0003819, s=0.2208, prevFCN = 26.77366262 f=0.2701, m=2.254, p0=0.0006081, s=0.248, prevFCN = 26.44761776 f=0.2707, prevFCN = 26.4477329 f=0.2695, prevFCN = 26.44751719 f=0.2701, m=2.255, prevFCN = 26.44758877 m=2.254, prevFCN = 26.44767461 m=2.255, prevFCN = 26.44759504 m=2.254, prevFCN = 26.44765333 m=2.254, p0=0.0005774, prevFCN = 26.44711639 p0=0.0006397, prevFCN = 26.44813234 p0=0.0006081, s=0.2485, prevFCN = 26.44908167 s=0.2475, prevFCN = 26.44616632 f=0.259, m=2.32, p0=9.98e-05, s=0.1948, prevFCN = 26.48282841 f=0.2655, m=2.282, p0=0.0003449, s=0.2259, prevFCN = 26.40615815 f=0.266, prevFCN = 26.40618966 f=0.2649, prevFCN = 26.40613942 f=0.2655, m=2.282, prevFCN = 26.40679026 m=2.281, prevFCN = 26.40554061 m=2.282, p0=0.0003222, prevFCN = 26.4057895 p0=0.0003684, prevFCN = 26.40653948 p0=0.0003449, s=0.2264, prevFCN = 26.4069314 s=0.2254, prevFCN = 26.40540512 f=0.2619, m=2.269, p0=1.166e-05, s=0.2128, prevFCN = 26.37812649 f=0.2604, m=2.263, p0=9.718e-06, s=0.2071, prevFCN = 26.37647825 f=0.2607, m=2.265, p0=2.448e-06, s=0.2085, prevFCN = 26.37623563 f=0.2613, prevFCN = 26.37614616 f=0.2602, prevFCN = 26.37633795 f=0.2607, m=2.265, prevFCN = 26.37638096 m=2.264, prevFCN = 26.37610505 m=2.265, p0=4.799e-06, prevFCN = 26.37627356 p0=8.816e-07, prevFCN = 26.37621035 p0=2.448e-06, s=0.2089, prevFCN = 26.37617463 s=0.208, prevFCN = 26.37631583 f=0.266, m=2.258, p0=2.888e-06, s=0.2111, prevFCN = 26.375028 f=0.2652, m=2.259, p0=2.82e-06, s=0.2107, prevFCN = 26.37498908 f=0.2657, prevFCN = 26.37499406 f=0.2646, prevFCN = 26.37499693 f=0.2652, m=2.26, prevFCN = 26.3750055 m=2.259, prevFCN = 26.37498542 m=2.259, p0=5.333e-06, prevFCN = 26.37502968 p0=1.1e-06, prevFCN = 26.3749613 p0=2.82e-06, s=0.211, prevFCN = 26.37501086 s=0.2104, prevFCN = 26.37497968 s=0.2107, prevFCN = 26.37498908 f=0.2657, prevFCN = 26.37499406 f=0.2646, prevFCN = 26.37499693 f=0.2652, m=2.26, prevFCN = 26.3750055 m=2.259, prevFCN = 26.37498542 m=2.259, p0=5.333e-06, prevFCN = 26.37502968 p0=1.1e-06, prevFCN = 26.3749613 p0=2.82e-06, s=0.211, prevFCN = 26.37501086 s=0.2104, prevFCN = 26.37497968 f=0.2653, s=0.2107, prevFCN = 26.37498905 f=0.2651, prevFCN = 26.37498962 f=0.2652, m=2.259, prevFCN = 26.37499134 m=2.259, prevFCN = 26.37498732 m=2.259, p0=3.259e-06, prevFCN = 26.37499617 p0=2.412e-06, prevFCN = 26.3749825 p0=2.82e-06, s=0.2108, prevFCN = 26.37499245 s=0.2107, prevFCN = 26.37498621 f=0.2657, m=2.26, s=0.2107, prevFCN = 26.37501118 m=2.259, p0=5.333e-06, prevFCN = 26.37503467 p0=2.82e-06, s=0.211, prevFCN = 26.37501545 f=0.2652, m=2.26, p0=5.333e-06, s=0.2107, prevFCN = 26.37504611 p0=2.82e-06, s=0.211, prevFCN = 26.37502828 m=2.259, p0=5.333e-06, prevFCN = 26.37505147 Minuit2Minimizer : Valid minimum - status = 0 FVAL = 26.3749890776351101 Edm = 5.84995089799618593e-05 Nfcn = 190 f = 0.2652 +/- 0.1492 (limited) m = 2.259 +/- 0.1408 (limited) p0 = 2.82e-06 +/- 0.03063 (limited) s = 0.2107 +/- 0.09423 (limited) p0=2.82e-06, s=0.2107, prevFCN = 26.37498908 f=0.2653, prevFCN = 26.37498905 f=0.2651, prevFCN = 26.37498962 f=0.2652, m=2.259, prevFCN = 26.37499134 m=2.259, prevFCN = 26.37498732 m=2.259, p0=3.259e-06, prevFCN = 26.37499617 p0=2.412e-06, prevFCN = 26.3749825 p0=2.82e-06, s=0.2108, prevFCN = 26.37499245 s=0.2107, prevFCN = 26.37498621 f=0.2652, s=0.2107, prevFCN = 26.37498903 f=0.2652, prevFCN = 26.37498915 f=0.2652, m=2.259, prevFCN = 26.37498949 m=2.259, prevFCN = 26.37498869 m=2.259, p0=2.905e-06, prevFCN = 26.37499046 p0=2.736e-06, prevFCN = 26.37498772 p0=2.82e-06, s=0.2107, prevFCN = 26.37498971 s=0.2107, prevFCN = 26.37498846 f=0.2653, m=2.259, s=0.2107, prevFCN = 26.37499134 m=2.259, p0=3.259e-06, prevFCN = 26.37499614 p0=2.82e-06, s=0.2108, prevFCN = 26.3749924 f=0.2652, m=2.259, p0=3.259e-06, s=0.2107, prevFCN = 26.37499844 p0=2.82e-06, s=0.2108, prevFCN = 26.37499475 m=2.259, p0=3.259e-06, prevFCN = 26.37499954 p0=2.82e-06, s=0.2107, [#1] INFO:Minimization -- RooAbsMinimizerFcn::setOptimizeConst: deactivating const optimization
Info in <Minuit2>: MnSeedGenerator Computing seed using NumericalGradient calculator Info in <Minuit2>: MnSeedGenerator Initial state: FCN = 31.75882326 Edm = 1.905473855 NCalls = 15 Info in <Minuit2>: NegativeG2LineSearch Doing a NegativeG2LineSearch since one of the G2 component is negative Info in <Minuit2>: MnSeedGenerator Negative G2 found - new state: Minimum value : 29.88047134 Edm : 0.9770510488 Internal parameters: [ 0 0.171531608 -1.370461484 0.1001674212] Internal gradient : [ 3.386411878 -0.2900861807 1.801816673 -3.635226112] Internal covariance matrix: [[ 0.27253744 0 0 0] [ 0 0.012260718 0 0] [ 0 0 0.17864007 0] [ 0 0 0 0.015271346]]] Info in <Minuit2>: MnSeedGenerator Initial state Minimum value : 29.88047134 Edm : 0.9770510488 Internal parameters: [ 0 0.171531608 -1.370461484 0.1001674212] Internal gradient : [ 3.386411878 -0.2900861807 1.801816673 -3.635226112] Internal covariance matrix: [[ 0.27253744 0 0 0] [ 0 0.012260718 0 0] [ 0 0 0.17864007 0] [ 0 0 0 0.015271346]]] Info in <Minuit2>: VariableMetricBuilder Start iterating until Edm is < 0.001 with call limit = 2000 Info in <Minuit2>: VariableMetricBuilder 0 - FCN = 29.88047134 Edm = 0.9770510488 NCalls = 34 Info in <Minuit2>: VariableMetricBuilder 1 - FCN = 28.97288883 Edm = 0.08543708166 NCalls = 46 Info in <Minuit2>: VariableMetricBuilder 2 - FCN = 28.85685477 Edm = 0.1244371212 NCalls = 59 Info in <Minuit2>: VariableMetricBuilder 3 - FCN = 28.21262286 Edm = 4.183704166 NCalls = 80 Info in <Minuit2>: VariableMetricBuilder 4 - FCN = 28.20584218 Edm = 0.1212466033 NCalls = 90 Info in <Minuit2>: VariableMetricBuilder 5 - FCN = 27.87419674 Edm = 0.6700901467 NCalls = 104 Info in <Minuit2>: VariableMetricBuilder 6 - FCN = 27.52579739 Edm = 0.4526109095 NCalls = 121 Info in <Minuit2>: VariableMetricBuilder 7 - FCN = 26.44761776 Edm = 0.06161593762 NCalls = 136 Info in <Minuit2>: VariableMetricBuilder 8 - FCN = 26.40615815 Edm = 0.02342269747 NCalls = 146 Info in <Minuit2>: VariableMetricBuilder 9 - FCN = 26.37623563 Edm = 0.001494167444 NCalls = 157 Info in <Minuit2>: VariableMetricBuilder 10 - FCN = 26.37498908 Edm = 4.659572515e-05 NCalls = 167 Info in <Minuit2>: VariableMetricBuilder After Hessian Info in <Minuit2>: VariableMetricBuilder 11 - FCN = 26.37498908 Edm = 5.849950898e-05 NCalls = 190 Info in <Minuit2>: Minuit2Minimizer::Hesse Using max-calls 2000 Info in <Minuit2>: Minuit2Minimizer::Hesse Hesse is valid - matrix is accurate
Reset message service to default stream configuration
ROOT.RooMsgService.instance().reset()
Show DEBUG level message on function tracing on all objects, output to file
ROOT.RooMsgService.instance().addStream(ROOT.RooFit.DEBUG, Topic=ROOT.RooFit.Tracing, OutputFile="rf506_debug.log")
3
Perform a fit to generate some tracing messages
model.fitTo(data, Verbose=True)
<cppyy.gbl.RooFitResult object at 0x(nil)>
[#1] INFO:Fitting -- RooAbsPdf::fitTo(model) fixing normalization set for coefficient determination to observables in data [#1] INFO:Fitting -- RooAddition::defaultErrorLevel(nll_model_modelData) Summation contains a RooNLLVar, using its error level [#1] INFO:Minimization -- RooAbsMinimizerFcn::setOptimizeConst: activating const optimization Minuit2Minimizer: Minimize with max-calls 2000 convergence for edm < 1 strategy 1 prevFCN = 26.37498908 f=0.2667, prevFCN = 26.37503727 f=0.2636, prevFCN = 26.37504545 f=0.2657, prevFCN = 26.37499405 f=0.2646, prevFCN = 26.37499692 f=0.2652, m=2.261, prevFCN = 26.37506777 m=2.258, prevFCN = 26.37501136 m=2.26, prevFCN = 26.37500554 m=2.259, prevFCN = 26.37498543 m=2.259, p0=6.522e-06, prevFCN = 26.3750489 p0=6.471e-07, prevFCN = 26.37495398 p0=5.331e-06, prevFCN = 26.37502965 p0=1.101e-06, prevFCN = 26.37496132 p0=2.82e-06, s=0.2117, prevFCN = 26.37508362 s=0.2098, prevFCN = 26.37499532 s=0.2111, prevFCN = 26.37501134 s=0.2104, prevFCN = 26.37497963 f=0.2652, m=2.259, p0=1.367e-14, s=0.2103, prevFCN = 26.37493072 f=0.2658, prevFCN = 26.37493708 f=0.2647, prevFCN = 26.37493718 f=0.2652, m=2.259, prevFCN = 26.37493591 m=2.258, prevFCN = 26.3749384 m=2.259, p0=3.967e-07, prevFCN = 26.37493713 p0=3.964e-07, prevFCN = 26.37493713 p0=1.367e-14, s=0.2106, prevFCN = 26.37493624 s=0.21, prevFCN = 26.37493815 s=0.2103, prevFCN = 26.37493072 f=0.2658, prevFCN = 26.37493708 f=0.2647, prevFCN = 26.37493718 f=0.2652, m=2.259, prevFCN = 26.37493591 m=2.258, prevFCN = 26.3749384 m=2.259, p0=3.967e-07, prevFCN = 26.37493713 p0=3.964e-07, prevFCN = 26.37493713 p0=1.367e-14, s=0.2106, prevFCN = 26.37493624 s=0.21, prevFCN = 26.37493815 f=0.2654, s=0.2103, prevFCN = 26.37493097 f=0.2651, prevFCN = 26.37493099 f=0.2652, m=2.259, prevFCN = 26.37493073 m=2.259, prevFCN = 26.37493123 m=2.259, p0=1.589e-08, prevFCN = 26.37493098 p0=1.583e-08, prevFCN = 26.37493098 p0=1.367e-14, s=0.2104, prevFCN = 26.3749308 s=0.2102, prevFCN = 26.37493117 f=0.2658, m=2.259, s=0.2103, prevFCN = 26.37494296 m=2.259, p0=3.967e-07, prevFCN = 26.37494349 p0=1.367e-14, s=0.2106, prevFCN = 26.3749422 f=0.2652, m=2.259, p0=3.967e-07, s=0.2103, prevFCN = 26.37494232 p0=1.367e-14, s=0.2106, prevFCN = 26.37494248 m=2.259, p0=3.967e-07, prevFCN = 26.37494265 Minuit2Minimizer : Valid minimum - status = 0 FVAL = 26.3749307248998583 Edm = 8.78576678862669853e-08 Nfcn = 49 f = 0.2652 +/- 0.1492 (limited) m = 2.259 +/- 0.1406 (limited) p0 = 1.367e-14 +/- 0.03063 (limited) s = 0.2103 +/- 0.09377 (limited) p0=1.367e-14, s=0.2103, prevFCN = 26.37493072 f=0.2654, prevFCN = 26.37493097 f=0.2651, prevFCN = 26.37493099 f=0.2652, m=2.259, prevFCN = 26.37493073 m=2.259, prevFCN = 26.37493123 m=2.259, p0=1.589e-08, prevFCN = 26.37493098 p0=1.583e-08, prevFCN = 26.37493098 p0=1.367e-14, s=0.2104, prevFCN = 26.3749308 s=0.2102, prevFCN = 26.37493117 f=0.2653, s=0.2103, prevFCN = 26.37493073 f=0.2652, prevFCN = 26.37493074 f=0.2652, m=2.259, prevFCN = 26.37493069 m=2.259, prevFCN = 26.37493079 m=2.259, p0=6.404e-10, prevFCN = 26.37493074 p0=6.286e-10, prevFCN = 26.37493074 p0=1.367e-14, s=0.2103, prevFCN = 26.3749307 s=0.2103, prevFCN = 26.37493077 f=0.2654, m=2.259, s=0.2103, prevFCN = 26.37493101 m=2.259, p0=1.589e-08, prevFCN = 26.37493123 p0=1.367e-14, s=0.2104, prevFCN = 26.37493103 f=0.2652, m=2.259, p0=1.589e-08, s=0.2103, prevFCN = 26.37493099 p0=1.367e-14, s=0.2104, prevFCN = 26.37493085 m=2.259, p0=1.589e-08, prevFCN = 26.37493105 p0=1.367e-14, s=0.2103, [#1] INFO:Minimization -- RooAbsMinimizerFcn::setOptimizeConst: deactivating const optimization
Info in <Minuit2>: MnSeedGenerator Computing seed using NumericalGradient calculator Info in <Minuit2>: MnSeedGenerator Initial state: FCN = 26.37498908 Edm = 5.93824479e-05 NCalls = 17 Info in <Minuit2>: MnSeedGenerator Initial state Minimum value : 26.37498908 Edm : 5.93824479e-05 Internal parameters: [ -0.4888788247 0.2279058433 -1.567438006 0.0210732128] Internal gradient : [ -0.001163072756 0.1952966321 0.02712900138 0.4716314037] Internal covariance matrix: [[ 0.23663072 0 0 0] [ 0 0.00041386516 0 0] [ 0 0 0.24756437 0] [ 0 0 0 0.00017632678]]] Info in <Minuit2>: VariableMetricBuilder Start iterating until Edm is < 0.001 with call limit = 2000 Info in <Minuit2>: VariableMetricBuilder 0 - FCN = 26.37498908 Edm = 5.93824479e-05 NCalls = 17 Info in <Minuit2>: VariableMetricBuilder 1 - FCN = 26.37493072 Edm = 9.664079951e-08 NCalls = 26 Info in <Minuit2>: VariableMetricBuilder After Hessian Info in <Minuit2>: VariableMetricBuilder 2 - FCN = 26.37493072 Edm = 8.785766789e-08 NCalls = 49 Info in <Minuit2>: Minuit2Minimizer::Hesse Using max-calls 2000 Info in <Minuit2>: Minuit2Minimizer::Hesse Hesse is valid - matrix is accurate
Reset message service to default stream configuration
ROOT.RooMsgService.instance().reset()
Show DEBUG level messages on client/server link state management
ROOT.RooMsgService.instance().addStream(ROOT.RooFit.DEBUG, Topic=ROOT.RooFit.LinkStateMgmt)
ROOT.RooMsgService.instance().Print("v")
All Message streams [0] MinLevel = PROGRESS Topic = Generation Minimization Plotting Fitting Integration LinkStateMgmt Eval Caching Optimization ObjectHandling InputArguments Tracing Contents DataHandling NumericIntegration FastEvaluations [1] MinLevel = INFO Topic = Minimization Plotting Fitting Eval Caching ObjectHandling InputArguments DataHandling NumericIntegration [2] MinLevel = INFO Topic = HistFactory [3] MinLevel = DEBUG Topic = LinkStateMgmt
Clone composite pdf g to trigger some link state management activity
gprime = gauss.cloneTree()
gprime.Print()
[#3] DEBUG:LinkStateMgmt -- RooAbsArg::addServer(0xa997ae0,g): adding server x(0x9a75b20) for value [#3] DEBUG:LinkStateMgmt -- RooAbsArg::addServer(0xa997ae0,g): adding server m(0x978b760) for value [#3] DEBUG:LinkStateMgmt -- RooAbsArg::addServer(0xa997ae0,g): adding server s(0x96c56c0) for value [#3] DEBUG:LinkStateMgmt -- RooAbsArg::addServer(0xa997ae0,g): adding server x(0x9a75b20) for value [#3] DEBUG:LinkStateMgmt -- RooAbsArg::addServer(0xa997ae0,g): adding server m(0x978b760) for value [#3] DEBUG:LinkStateMgmt -- RooAbsArg::addServer(0xa997ae0,g): adding server s(0x96c56c0) for value RooGaussian::g[ x=x mean=m sigma=s ] = 8.804e-26
Reset message service to default stream configuration
ROOT.RooMsgService.instance().reset()