# Rf 7 0 9_ Barlow Beeston¶

Implementing the Barlow-Beeston method for taking into account the statistical uncertainty of a Monte-Carlo fit template.

Based on a demo by Wouter Verkerke

Author:
This notebook tutorial was automatically generated with ROOTBOOK-izer from the macro found in the ROOT repository on Monday, January 17, 2022 at 10:17 AM.

/ \date June 2019 / \author Stephan Hageboeck, CERN

In [1]:
%%cpp -d
#include "RooRealVar.h"
#include "RooGaussian.h"
#include "RooUniform.h"
#include "RooDataSet.h"
#include "RooDataHist.h"
#include "RooHistFunc.h"
#include "RooRealSumPdf.h"
#include "RooParamHistFunc.h"
#include "RooHistConstraint.h"
#include "RooProdPdf.h"
#include "RooPlot.h"

#include "TCanvas.h"
#include "TPaveText.h"

#include <iostream>
#include <memory>

In [2]:
%%cpp -d
// This is a workaround to make sure the namespace is used inside functions
using namespace RooFit;

In [3]:
// First, construct a likelihood model with a Gaussian signal on top of a uniform background
RooRealVar x("x", "x", -20, 20);
x.setBins(25);

RooRealVar meanG("meanG", "meanG", 1, -10, 10);
RooRealVar sigG("sigG", "sigG", 1.5, -10, 10);
RooGaussian g("g", "Gauss", x, meanG, sigG);
RooUniform u("u", "Uniform", x);

// Generate the data to be fitted
std::unique_ptr<RooDataSet> sigData(g.generate(x, 50));
std::unique_ptr<RooDataSet> bkgData(u.generate(x, 1000));

RooDataSet sumData("sumData", "Gauss + Uniform", x);
sumData.append(*sigData);
sumData.append(*bkgData);

// Make histogram templates for signal and background.
// Let's take a signal distribution with low statistics and a more accurate
// background distribution.
// Normally, these come from Monte Carlo simulations, but we will just generate them.
std::unique_ptr<RooDataHist> dh_sig( g.generateBinned(x, 50) );
std::unique_ptr<RooDataHist> dh_bkg( u.generateBinned(x, 10000) );

// ***** Case 0 - 'Rigid templates' *****

// Construct histogram shapes for signal and background
RooHistFunc p_h_sig("p_h_sig","p_h_sig",x,*dh_sig);
RooHistFunc p_h_bkg("p_h_bkg","p_h_bkg",x,*dh_bkg);

// Construct scale factors for adding the two distributions
RooRealVar Asig0("Asig","Asig",1,0.01,5000);
RooRealVar Abkg0("Abkg","Abkg",1,0.01,5000);

// Construct the sum model
RooRealSumPdf model0("model0","model0",
RooArgList(p_h_sig,p_h_bkg),
RooArgList(Asig0,Abkg0),
true);

// ***** Case 1 - 'Barlow Beeston' *****

// Construct parameterized histogram shapes for signal and background
RooParamHistFunc p_ph_sig1("p_ph_sig","p_ph_sig",*dh_sig);
RooParamHistFunc p_ph_bkg1("p_ph_bkg","p_ph_bkg",*dh_bkg);

RooRealVar Asig1("Asig","Asig",1,0.01,5000);
RooRealVar Abkg1("Abkg","Abkg",1,0.01,5000);

// Construct the sum of these
RooRealSumPdf model_tmp("sp_ph", "sp_ph",
RooArgList(p_ph_sig1,p_ph_bkg1),
RooArgList(Asig1,Abkg1),
true);

// Construct the subsidiary poisson measurements constraining the histogram parameters
// These ensure that the bin contents of the histograms are only allowed to vary within
// the statistical uncertainty of the Monte Carlo.
RooHistConstraint hc_sig("hc_sig","hc_sig",p_ph_sig1);
RooHistConstraint hc_bkg("hc_bkg","hc_bkg",p_ph_bkg1);

// Construct the joint model with template PDFs and constraints
RooProdPdf model1("model1","model1",RooArgSet(hc_sig,hc_bkg),Conditional(model_tmp,x));

// ***** Case 2 - 'Barlow Beeston' light (one parameter per bin for all samples) *****

// Construct the histogram shapes, using the same parameters for signal and background
// This requires passing the first histogram to the second, so that their common parameters
// can be re-used.
// The first ParamHistFunc will create one parameter per bin, such as p_ph_sig2_gamma_bin_0.
// This allows bin 0 to fluctuate up and down.
// Then, the SAME parameters are connected to the background histogram, so the bins flucutate
// synchronously. This reduces the number of parameters.
RooParamHistFunc p_ph_sig2("p_ph_sig2", "p_ph_sig2", *dh_sig);
RooParamHistFunc p_ph_bkg2("p_ph_bkg2", "p_ph_bkg2", *dh_bkg, p_ph_sig2, true);

RooRealVar Asig2("Asig","Asig",1,0.01,5000);
RooRealVar Abkg2("Abkg","Abkg",1,0.01,5000);

// As before, construct the sum of signal2 and background2
RooRealSumPdf model2_tmp("sp_ph","sp_ph",
RooArgList(p_ph_sig2,p_ph_bkg2),
RooArgList(Asig2,Abkg2),
true);

// Construct the subsidiary poisson measurements constraining the statistical fluctuations
RooHistConstraint hc_sigbkg("hc_sigbkg","hc_sigbkg",RooArgSet(p_ph_sig2,p_ph_bkg2));

// Construct the joint model
RooProdPdf model2("model2","model2",hc_sigbkg, RooFit::Conditional(model2_tmp,x));

// ************ Fit all models to data and plot *********************

auto result0 = model0.fitTo(sumData, PrintLevel(0), Save());
auto result1 = model1.fitTo(sumData, PrintLevel(0), Save());
auto result2 = model2.fitTo(sumData, PrintLevel(0), Save());

TCanvas* can = new TCanvas("can", "", 1500, 600);
can->Divide(3,1);

TPaveText pt(-19.5, 1, -2, 25);
pt.SetFillStyle(0);
pt.SetBorderSize(0);

can->cd(1);
auto frame = x.frame(Title("No template uncertainties"));
// Plot data to enable automatic determination of model0 normalisation:
sumData.plotOn(frame);
model0.plotOn(frame, LineColor(kBlue), VisualizeError(*result0));
// Plot data again to show it on top of model0 error bands:
sumData.plotOn(frame);
// Plot model components
model0.plotOn(frame, LineColor(kBlue));
model0.plotOn(frame, Components(p_h_sig), LineColor(kAzure));
model0.plotOn(frame, Components(p_h_bkg), LineColor(kRed));
model0.paramOn(frame);

sigData->plotOn(frame, MarkerColor(kBlue));
frame->Draw();

for (auto text : {
"No template uncertainties",
"are taken into account.",
"This leads to low errors",
"for the parameters A, since",
"the only source of errors",
"are the data statistics."}) {
}
pt.DrawClone();

can->cd(2);
frame = x.frame(Title("Barlow Beeston for Sig & Bkg separately"));
sumData.plotOn(frame);
model1.plotOn(frame, LineColor(kBlue), VisualizeError(*result1));
// Plot data again to show it on top of error bands:
sumData.plotOn(frame);
model1.plotOn(frame, LineColor(kBlue));
model1.plotOn(frame, Components(p_ph_sig1), LineColor(kAzure));
model1.plotOn(frame, Components(p_ph_bkg1), LineColor(kRed));
model1.paramOn(frame, Parameters(RooArgSet(Asig1, Abkg1)));

sigData->plotOn(frame, MarkerColor(kBlue));
frame->Draw();

pt.Clear();
for (auto text : {
"With gamma parameters, the",
"signal & background templates",
"can adapt to the data.",
"Note how the blue signal",
"template changes its shape.",
"This leads to higher errors",
"of the scale parameters A."}) {
}
pt.DrawClone();

can->cd(3);
frame = x.frame(Title("Barlow Beeston light for (Sig+Bkg)"));
sumData.plotOn(frame);
model2.plotOn(frame, LineColor(kBlue), VisualizeError(*result2));
// Plot data again to show it on top of model0 error bands:
sumData.plotOn(frame);
model2.plotOn(frame, LineColor(kBlue));
model2.plotOn(frame, Components(p_ph_sig2), LineColor(kAzure));
model2.plotOn(frame, Components(p_ph_bkg2), LineColor(kRed));
model2.paramOn(frame, Parameters(RooArgSet(Asig2, Abkg2)));

sigData->plotOn(frame, MarkerColor(kBlue));
frame->Draw();

pt.Clear();
for (auto text : {
"When signal and background",
"template share one gamma para-",
"meter per bin, they adapt less.",
"The errors of the A parameters",
"also shrink slightly."}) {
}
pt.DrawClone();

std::cout << "Asig [normal ] = " << Asig0.getVal() << " +/- " << Asig0.getError() << std::endl;
std::cout << "Asig [BB     ] = " << Asig1.getVal() << " +/- " << Asig1.getError() << std::endl;
std::cout << "Asig [BBlight] = " << Asig2.getVal() << " +/- " << Asig2.getError() << std::endl;

RooFit v3.60 -- Developed by Wouter Verkerke and David Kirkby
Copyright (C) 2000-2013 NIKHEF, University of California & Stanford University

[#0] WARNING:InputArguments -- The parameter 'sigG' with range [-10, 10] of the RooGaussian 'g' exceeds the safe range of (0, inf). Advise to limit its range.
[#1] INFO:Minimization -- p.d.f. provides expected number of events, including extended term in likelihood.
[#1] INFO:Minimization -- RooAbsMinimizerFcn::setOptimizeConst: activating const optimization
[#1] INFO:Minimization --  The following expressions have been identified as constant and will be precalculated and cached: (p_h_sig,p_h_bkg)
**********
**    1 **SET PRINT           0
**********
**********
**    2 **SET NOGRAD
**********
PARAMETER DEFINITIONS:
NO.   NAME         VALUE      STEP SIZE      LIMITS
1 Abkg         1.00000e+00  4.95000e-01    1.00000e-02  5.00000e+03
2 Asig         1.00000e+00  4.95000e-01    1.00000e-02  5.00000e+03
**********
**    3 **SET ERR         0.5
**********
**********
**    4 **SET PRINT           0
**********
**********
**    5 **SET STR           1
**********
**********
**    6 **MIGRAD        1000           1
**********
MIGRAD MINIMIZATION HAS CONVERGED.
MIGRAD WILL VERIFY CONVERGENCE AND ERROR MATRIX.
FCN=-2388.31 FROM MIGRAD    STATUS=CONVERGED      59 CALLS          60 TOTAL
EDM=6.50963e-06    STRATEGY= 1      ERROR MATRIX ACCURATE
EXT PARAMETER                                   STEP         FIRST
NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE
1  Abkg         6.14547e-02   2.11669e-03   4.23105e-06  -2.89246e+00
2  Asig         8.33778e-01   1.89800e-01   9.38840e-05  -8.95027e-01
ERR DEF= 0.5
**********
**    7 **SET ERR         0.5
**********
**********
**    8 **SET PRINT           0
**********
**********
**    9 **HESSE        1000
**********
FCN=-2388.31 FROM HESSE     STATUS=OK             10 CALLS          70 TOTAL
EDM=6.51699e-06    STRATEGY= 1      ERROR MATRIX ACCURATE
EXT PARAMETER                                INTERNAL      INTERNAL
NO.   NAME      VALUE            ERROR       STEP SIZE       VALUE
1  Abkg         6.14547e-02   2.11685e-03   8.46210e-07  -1.56438e+00
2  Asig         8.33778e-01   1.89814e-01   1.87768e-05  -1.54512e+00
ERR DEF= 0.5
[#1] INFO:Minimization -- RooAbsMinimizerFcn::setOptimizeConst: deactivating const optimization
[#1] INFO:Minimization -- p.d.f. provides expected number of events, including extended term in likelihood.
[#1] INFO:Minimization --  Including the following constraint terms in minimization: (hc_sig,hc_bkg)
[#1] INFO:Minimization -- The global observables are not defined , normalize constraints with respect to the parameters (Abkg,Asig,p_ph_bkg_gamma_bin_0,p_ph_bkg_gamma_bin_1,p_ph_bkg_gamma_bin_10,p_ph_bkg_gamma_bin_11,p_ph_bkg_gamma_bin_12,p_ph_bkg_gamma_bin_13,p_ph_bkg_gamma_bin_14,p_ph_bkg_gamma_bin_15,p_ph_bkg_gamma_bin_16,p_ph_bkg_gamma_bin_17,p_ph_bkg_gamma_bin_18,p_ph_bkg_gamma_bin_19,p_ph_bkg_gamma_bin_2,p_ph_bkg_gamma_bin_20,p_ph_bkg_gamma_bin_21,p_ph_bkg_gamma_bin_22,p_ph_bkg_gamma_bin_23,p_ph_bkg_gamma_bin_24,p_ph_bkg_gamma_bin_3,p_ph_bkg_gamma_bin_4,p_ph_bkg_gamma_bin_5,p_ph_bkg_gamma_bin_6,p_ph_bkg_gamma_bin_7,p_ph_bkg_gamma_bin_8,p_ph_bkg_gamma_bin_9,p_ph_sig_gamma_bin_0,p_ph_sig_gamma_bin_1,p_ph_sig_gamma_bin_10,p_ph_sig_gamma_bin_11,p_ph_sig_gamma_bin_12,p_ph_sig_gamma_bin_13,p_ph_sig_gamma_bin_14,p_ph_sig_gamma_bin_15,p_ph_sig_gamma_bin_16,p_ph_sig_gamma_bin_17,p_ph_sig_gamma_bin_18,p_ph_sig_gamma_bin_19,p_ph_sig_gamma_bin_2,p_ph_sig_gamma_bin_20,p_ph_sig_gamma_bin_21,p_ph_sig_gamma_bin_22,p_ph_sig_gamma_bin_23,p_ph_sig_gamma_bin_24,p_ph_sig_gamma_bin_3,p_ph_sig_gamma_bin_4,p_ph_sig_gamma_bin_5,p_ph_sig_gamma_bin_6,p_ph_sig_gamma_bin_7,p_ph_sig_gamma_bin_8,p_ph_sig_gamma_bin_9)
[#1] INFO:Fitting -- RooAddition::defaultErrorLevel(nll_model1_sumData_with_constr) Summation contains a RooNLLVar, using its error level
[#1] INFO:Minimization -- RooAbsMinimizerFcn::setOptimizeConst: activating const optimization
[#1] INFO:Minimization --  The following expressions will be evaluated in cache-and-track mode: (p_ph_sig,p_ph_bkg)
**********
**    1 **SET PRINT           0
**********
**********
**    2 **SET NOGRAD
**********
PARAMETER DEFINITIONS:
NO.   NAME         VALUE      STEP SIZE      LIMITS
1 Abkg         1.00000e+00  4.95000e-01    1.00000e-02  5.00000e+03
2 Asig         1.00000e+00  4.95000e-01    1.00000e-02  5.00000e+03
3 p_ph_bkg_gamma_bin_0   1.00000e+00  4.96292e-02    0.00000e+00  1.00000e+03
4 p_ph_bkg_gamma_bin_1   1.00000e+00  4.96292e-02    0.00000e+00  1.00000e+03
5 p_ph_bkg_gamma_bin_10   1.00000e+00  4.81683e-02    0.00000e+00  1.00000e+03
6 p_ph_bkg_gamma_bin_11   1.00000e+00  5.17088e-02    0.00000e+00  1.00000e+03
7 p_ph_bkg_gamma_bin_12   1.00000e+00  5.11645e-02    0.00000e+00  1.00000e+03
8 p_ph_bkg_gamma_bin_13   1.00000e+00  5.01255e-02    0.00000e+00  1.00000e+03
9 p_ph_bkg_gamma_bin_14   1.00000e+00  5.13665e-02    0.00000e+00  1.00000e+03
10 p_ph_bkg_gamma_bin_15   1.00000e+00  4.93865e-02    0.00000e+00  1.00000e+03
11 p_ph_bkg_gamma_bin_16   1.00000e+00  5.07020e-02    0.00000e+00  1.00000e+03
12 p_ph_bkg_gamma_bin_17   1.00000e+00  4.86792e-02    0.00000e+00  1.00000e+03
13 p_ph_bkg_gamma_bin_18   1.00000e+00  5.27780e-02    0.00000e+00  1.00000e+03
14 p_ph_bkg_gamma_bin_19   1.00000e+00  4.85643e-02    0.00000e+00  1.00000e+03
15 p_ph_bkg_gamma_bin_2   1.00000e+00  4.90881e-02    0.00000e+00  1.00000e+03
16 p_ph_bkg_gamma_bin_20   1.00000e+00  4.95074e-02    0.00000e+00  1.00000e+03
17 p_ph_bkg_gamma_bin_21   1.00000e+00  4.96904e-02    0.00000e+00  1.00000e+03
18 p_ph_bkg_gamma_bin_22   1.00000e+00  5.10310e-02    0.00000e+00  1.00000e+03
19 p_ph_bkg_gamma_bin_23   1.00000e+00  4.86792e-02    0.00000e+00  1.00000e+03
20 p_ph_bkg_gamma_bin_24   1.00000e+00  4.95074e-02    0.00000e+00  1.00000e+03
21 p_ph_bkg_gamma_bin_3   1.00000e+00  5.17088e-02    0.00000e+00  1.00000e+03
22 p_ph_bkg_gamma_bin_4   1.00000e+00  5.08329e-02    0.00000e+00  1.00000e+03
23 p_ph_bkg_gamma_bin_5   1.00000e+00  5.06370e-02    0.00000e+00  1.00000e+03
24 p_ph_bkg_gamma_bin_6   1.00000e+00  5.17088e-02    0.00000e+00  1.00000e+03
25 p_ph_bkg_gamma_bin_7   1.00000e+00  4.81683e-02    0.00000e+00  1.00000e+03
26 p_ph_bkg_gamma_bin_8   1.00000e+00  4.89116e-02    0.00000e+00  1.00000e+03
27 p_ph_bkg_gamma_bin_9   1.00000e+00  4.97519e-02    0.00000e+00  1.00000e+03
28 p_ph_sig_gamma_bin_11   1.00000e+00  3.53553e-01    0.00000e+00  1.00000e+03
29 p_ph_sig_gamma_bin_12   1.00000e+00  2.35702e-01    0.00000e+00  1.00000e+03
30 p_ph_sig_gamma_bin_13   1.00000e+00  2.42536e-01    0.00000e+00  1.00000e+03
31 p_ph_sig_gamma_bin_14   1.00000e+00  4.08248e-01    0.00000e+00  1.00000e+03
32 p_ph_sig_gamma_bin_15   1.00000e+00  1.00000e+00    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE32 IS AT ITS LOWER ALLOWED LIMIT.
**********
**    3 **SET ERR         0.5
**********
**********
**    4 **SET PRINT           0
**********
**********
**    5 **SET STR           1
**********
**********
**    6 **MIGRAD     1.6e+04           1
**********
MIGRAD MINIMIZATION HAS CONVERGED.
FCN=-2282.23 FROM MIGRAD    STATUS=CONVERGED     678 CALLS         679 TOTAL
EDM=3.22904e-05    STRATEGY= 1  ERROR MATRIX UNCERTAINTY   4.0 per cent
EXT PARAMETER                                   STEP         FIRST
NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE
1  Abkg         6.13800e-02   2.20007e-03   1.23597e-06   2.83314e+01
2  Asig         8.50507e-01   2.30325e-01   6.38421e-05   5.87286e-01
3  p_ph_bkg_gamma_bin_0   9.98047e-01   3.71725e-02  -7.16183e-06   5.44794e-02
4  p_ph_bkg_gamma_bin_1   1.00029e+00   3.72063e-02  -6.99607e-06   6.61256e-02
5  p_ph_bkg_gamma_bin_10   9.80291e-01   3.58648e-02  -8.43676e-06  -4.39623e-02
6  p_ph_bkg_gamma_bin_11   1.00612e+00   3.95761e-02  -1.30946e-05  -2.40671e+00
7  p_ph_bkg_gamma_bin_12   1.00453e+00   4.49136e-02   2.72725e-05  -2.74507e+00
8  p_ph_bkg_gamma_bin_13   9.91157e-01   4.00819e-02   1.95392e-05  -5.92968e-01
9  p_ph_bkg_gamma_bin_14   9.95972e-01   3.84117e-02  -7.35477e-06  -9.64110e-01
10  p_ph_bkg_gamma_bin_15   1.00900e+00   3.73278e-02  -1.24049e-05   2.95046e-01
11  p_ph_bkg_gamma_bin_16   1.02997e+00   3.84551e-02  -4.71081e-06   2.00609e-01
12  p_ph_bkg_gamma_bin_17   1.00768e+00   3.66321e-02  -6.44293e-06   1.07790e-01
13  p_ph_bkg_gamma_bin_18   1.01965e+00   3.97945e-02  -5.52428e-06   1.43183e-01
14  p_ph_bkg_gamma_bin_19   9.74997e-01   3.60743e-02  -8.80379e-06  -7.43750e-02
15  p_ph_bkg_gamma_bin_2   9.96150e-01   3.67541e-02  -7.30122e-06   4.55320e-02
16  p_ph_bkg_gamma_bin_20   9.99851e-01   3.71118e-02  -7.02865e-06   6.41653e-02
17  p_ph_bkg_gamma_bin_21   9.98263e-01   3.72199e-02  -7.14591e-06   5.54687e-02
18  p_ph_bkg_gamma_bin_22   9.98316e-01   3.81884e-02  -7.14203e-06   5.28519e-02
19  p_ph_bkg_gamma_bin_23   9.83937e-01   3.62827e-02  -8.18043e-06  -2.20353e-02
20  p_ph_bkg_gamma_bin_24   1.02664e+00   3.75311e-02  -4.97535e-06   1.95313e-01
21  p_ph_bkg_gamma_bin_3   1.00553e+00   3.87905e-02  -6.60476e-06   8.55876e-02
22  p_ph_bkg_gamma_bin_4   9.90574e-01   3.79282e-02  -7.70648e-06   1.42148e-02
23  p_ph_bkg_gamma_bin_5   9.92294e-01   3.78128e-02  -7.58214e-06   2.31734e-02
24  p_ph_bkg_gamma_bin_6   1.01041e+00   3.88677e-02  -6.23632e-06   1.08003e-01
25  p_ph_bkg_gamma_bin_7   9.97199e-01   3.61069e-02  -7.22424e-06   5.31287e-02
26  p_ph_bkg_gamma_bin_8   9.80281e-01   3.63974e-02  -8.43747e-06  -4.26945e-02
27  p_ph_bkg_gamma_bin_9   1.00975e+00   3.74398e-02  -6.28583e-06   1.13462e-01
28  p_ph_sig_gamma_bin_11   1.09459e+00   2.95086e-01  -2.14193e-04  -1.90672e-01
29  p_ph_sig_gamma_bin_12   1.07095e+00   2.09961e-01  -8.87826e-05   3.71203e-01
30  p_ph_sig_gamma_bin_13   8.91495e-01   1.94710e-01  -4.27837e-05   6.41259e-01
31  p_ph_sig_gamma_bin_14   9.47683e-01   3.09459e-01  -1.41412e-04  -5.27753e-02
32  p_ph_sig_gamma_bin_15   1.14095e+00   8.19493e-01   1.63221e-04   8.16586e-03
ERR DEF= 0.5
**********
**    7 **SET ERR         0.5
**********
**********
**    8 **SET PRINT           0
**********
**********
**    9 **HESSE     1.6e+04
**********
FCN=-2282.23 FROM HESSE     STATUS=OK            639 CALLS        1318 TOTAL
EDM=7.72255e-05    STRATEGY= 1      ERROR MATRIX ACCURATE
EXT PARAMETER                                INTERNAL      INTERNAL
NO.   NAME      VALUE            ERROR       STEP SIZE       VALUE
1  Abkg         6.13800e-02   2.22709e-03   4.12889e-06  -1.56439e+00
2  Asig         8.50507e-01   2.35778e-01   9.17056e-05  -1.54486e+00
3  p_ph_bkg_gamma_bin_0   9.98047e-01   4.74228e-02   4.94370e-05  -1.50760e+00
4  p_ph_bkg_gamma_bin_1   1.00029e+00   4.74763e-02   4.94370e-05  -1.50753e+00
5  p_ph_bkg_gamma_bin_10   9.80291e-01   4.56200e-02   4.79818e-05  -1.50817e+00
6  p_ph_bkg_gamma_bin_11   1.00612e+00   5.08524e-02   5.21176e-05  -1.50735e+00
7  p_ph_bkg_gamma_bin_12   1.00453e+00   5.09701e-02   5.19588e-05  -1.50740e+00
8  p_ph_bkg_gamma_bin_13   9.91157e-01   4.89292e-02   5.06394e-05  -1.50782e+00
9  p_ph_bkg_gamma_bin_14   9.95972e-01   4.97163e-02   5.15499e-05  -1.50767e+00
10  p_ph_bkg_gamma_bin_15   1.00900e+00   4.76423e-02   4.92850e-05  -1.50726e+00
11  p_ph_bkg_gamma_bin_16   1.02997e+00   4.92155e-02   5.05056e-05  -1.50660e+00
12  p_ph_bkg_gamma_bin_17   1.00768e+00   4.67445e-02   4.84907e-05  -1.50730e+00
13  p_ph_bkg_gamma_bin_18   1.01965e+00   5.09631e-02   5.25736e-05  -1.50692e+00
14  p_ph_bkg_gamma_bin_19   9.74997e-01   4.58683e-02   4.83762e-05  -1.50834e+00
15  p_ph_bkg_gamma_bin_2   9.96150e-01   4.68633e-02   4.88980e-05  -1.50766e+00
16  p_ph_bkg_gamma_bin_20   9.99851e-01   4.73499e-02   4.93157e-05  -1.50754e+00
17  p_ph_bkg_gamma_bin_21   9.98263e-01   4.74862e-02   4.94980e-05  -1.50760e+00
18  p_ph_bkg_gamma_bin_22   9.98316e-01   4.87627e-02   5.08334e-05  -1.50759e+00
19  p_ph_bkg_gamma_bin_23   9.83937e-01   4.61877e-02   4.84907e-05  -1.50805e+00
20  p_ph_bkg_gamma_bin_24   1.02664e+00   4.79832e-02   4.93156e-05  -1.50670e+00
21  p_ph_bkg_gamma_bin_3   1.00553e+00   4.95866e-02   5.15085e-05  -1.50737e+00
22  p_ph_bkg_gamma_bin_4   9.90574e-01   4.83846e-02   5.06360e-05  -1.50784e+00
23  p_ph_bkg_gamma_bin_5   9.92294e-01   4.82410e-02   5.04409e-05  -1.50778e+00
24  p_ph_bkg_gamma_bin_6   1.01041e+00   4.97071e-02   5.15085e-05  -1.50721e+00
25  p_ph_bkg_gamma_bin_7   9.97199e-01   4.60138e-02   4.79818e-05  -1.50763e+00
26  p_ph_bkg_gamma_bin_8   9.80281e-01   4.63204e-02   4.87222e-05  -1.50817e+00
27  p_ph_bkg_gamma_bin_9   1.00975e+00   4.78188e-02   4.95592e-05  -1.50723e+00
28  p_ph_sig_gamma_bin_11   1.09459e+00   3.37438e-01   3.28479e-04  -1.50462e+00
29  p_ph_sig_gamma_bin_12   1.07095e+00   2.21326e-01   1.99896e-04  -1.50533e+00
30  p_ph_sig_gamma_bin_13   8.91495e-01   2.03106e-01   2.03458e-04  -1.51107e+00
31  p_ph_sig_gamma_bin_14   9.47683e-01   3.57655e-01   3.77115e-04  -1.50922e+00
32  p_ph_sig_gamma_bin_15   1.14095e+00   1.11196e+00   1.08088e-03  -1.50323e+00
ERR DEF= 0.5
[#1] INFO:Minimization -- RooAbsMinimizerFcn::setOptimizeConst: deactivating const optimization
[#1] INFO:Minimization -- p.d.f. provides expected number of events, including extended term in likelihood.
[#1] INFO:Minimization --  Including the following constraint terms in minimization: (hc_sigbkg)
[#1] INFO:Minimization -- The global observables are not defined , normalize constraints with respect to the parameters (Abkg,Asig,p_ph_sig2_gamma_bin_0,p_ph_sig2_gamma_bin_1,p_ph_sig2_gamma_bin_10,p_ph_sig2_gamma_bin_11,p_ph_sig2_gamma_bin_12,p_ph_sig2_gamma_bin_13,p_ph_sig2_gamma_bin_14,p_ph_sig2_gamma_bin_15,p_ph_sig2_gamma_bin_16,p_ph_sig2_gamma_bin_17,p_ph_sig2_gamma_bin_18,p_ph_sig2_gamma_bin_19,p_ph_sig2_gamma_bin_2,p_ph_sig2_gamma_bin_20,p_ph_sig2_gamma_bin_21,p_ph_sig2_gamma_bin_22,p_ph_sig2_gamma_bin_23,p_ph_sig2_gamma_bin_24,p_ph_sig2_gamma_bin_3,p_ph_sig2_gamma_bin_4,p_ph_sig2_gamma_bin_5,p_ph_sig2_gamma_bin_6,p_ph_sig2_gamma_bin_7,p_ph_sig2_gamma_bin_8,p_ph_sig2_gamma_bin_9)
[#1] INFO:Fitting -- RooAddition::defaultErrorLevel(nll_model2_sumData_with_constr) Summation contains a RooNLLVar, using its error level
[#1] INFO:Minimization -- RooAbsMinimizerFcn::setOptimizeConst: activating const optimization
[#1] INFO:Minimization --  The following expressions will be evaluated in cache-and-track mode: (p_ph_sig2,p_ph_bkg2)
**********
**    1 **SET PRINT           0
**********
**********
**    2 **SET NOGRAD
**********
PARAMETER DEFINITIONS:
NO.   NAME         VALUE      STEP SIZE      LIMITS
1 Abkg         1.00000e+00  4.95000e-01    1.00000e-02  5.00000e+03
2 Asig         1.00000e+00  4.95000e-01    1.00000e-02  5.00000e+03
3 p_ph_sig2_gamma_bin_0   1.00000e+00          inf    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE3 BROUGHT BACK INSIDE LIMITS.
MINUIT WARNING IN PARAMETR
============== VARIABLE3 BROUGHT BACK INSIDE LIMITS.
4 p_ph_sig2_gamma_bin_1   1.00000e+00          inf    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE4 BROUGHT BACK INSIDE LIMITS.
MINUIT WARNING IN PARAMETR
============== VARIABLE4 BROUGHT BACK INSIDE LIMITS.
5 p_ph_sig2_gamma_bin_10   1.00000e+00          inf    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE5 BROUGHT BACK INSIDE LIMITS.
MINUIT WARNING IN PARAMETR
============== VARIABLE5 BROUGHT BACK INSIDE LIMITS.
6 p_ph_sig2_gamma_bin_11   1.00000e+00  3.53553e-01    0.00000e+00  1.00000e+03
7 p_ph_sig2_gamma_bin_12   1.00000e+00  2.35702e-01    0.00000e+00  1.00000e+03
8 p_ph_sig2_gamma_bin_13   1.00000e+00  2.42536e-01    0.00000e+00  1.00000e+03
9 p_ph_sig2_gamma_bin_14   1.00000e+00  4.08248e-01    0.00000e+00  1.00000e+03
10 p_ph_sig2_gamma_bin_15   1.00000e+00  1.00000e+00    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE10 IS AT ITS LOWER ALLOWED LIMIT.
11 p_ph_sig2_gamma_bin_16   1.00000e+00          inf    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE11 BROUGHT BACK INSIDE LIMITS.
MINUIT WARNING IN PARAMETR
============== VARIABLE11 BROUGHT BACK INSIDE LIMITS.
12 p_ph_sig2_gamma_bin_17   1.00000e+00          inf    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE12 BROUGHT BACK INSIDE LIMITS.
MINUIT WARNING IN PARAMETR
============== VARIABLE12 BROUGHT BACK INSIDE LIMITS.
13 p_ph_sig2_gamma_bin_18   1.00000e+00          inf    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE13 BROUGHT BACK INSIDE LIMITS.
MINUIT WARNING IN PARAMETR
============== VARIABLE13 BROUGHT BACK INSIDE LIMITS.
14 p_ph_sig2_gamma_bin_19   1.00000e+00          inf    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE14 BROUGHT BACK INSIDE LIMITS.
MINUIT WARNING IN PARAMETR
============== VARIABLE14 BROUGHT BACK INSIDE LIMITS.
15 p_ph_sig2_gamma_bin_2   1.00000e+00          inf    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE15 BROUGHT BACK INSIDE LIMITS.
MINUIT WARNING IN PARAMETR
============== VARIABLE15 BROUGHT BACK INSIDE LIMITS.
16 p_ph_sig2_gamma_bin_20   1.00000e+00          inf    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE16 BROUGHT BACK INSIDE LIMITS.
MINUIT WARNING IN PARAMETR
============== VARIABLE16 BROUGHT BACK INSIDE LIMITS.
17 p_ph_sig2_gamma_bin_21   1.00000e+00          inf    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE17 BROUGHT BACK INSIDE LIMITS.
MINUIT WARNING IN PARAMETR
============== VARIABLE17 BROUGHT BACK INSIDE LIMITS.
18 p_ph_sig2_gamma_bin_22   1.00000e+00          inf    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE18 BROUGHT BACK INSIDE LIMITS.
MINUIT WARNING IN PARAMETR
============== VARIABLE18 BROUGHT BACK INSIDE LIMITS.
19 p_ph_sig2_gamma_bin_23   1.00000e+00          inf    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE19 BROUGHT BACK INSIDE LIMITS.
MINUIT WARNING IN PARAMETR
============== VARIABLE19 BROUGHT BACK INSIDE LIMITS.
20 p_ph_sig2_gamma_bin_24   1.00000e+00          inf    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE20 BROUGHT BACK INSIDE LIMITS.
MINUIT WARNING IN PARAMETR
============== VARIABLE20 BROUGHT BACK INSIDE LIMITS.
21 p_ph_sig2_gamma_bin_3   1.00000e+00          inf    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE21 BROUGHT BACK INSIDE LIMITS.
MINUIT WARNING IN PARAMETR
============== VARIABLE21 BROUGHT BACK INSIDE LIMITS.
22 p_ph_sig2_gamma_bin_4   1.00000e+00          inf    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE22 BROUGHT BACK INSIDE LIMITS.
MINUIT WARNING IN PARAMETR
============== VARIABLE22 BROUGHT BACK INSIDE LIMITS.
23 p_ph_sig2_gamma_bin_5   1.00000e+00          inf    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE23 BROUGHT BACK INSIDE LIMITS.
MINUIT WARNING IN PARAMETR
============== VARIABLE23 BROUGHT BACK INSIDE LIMITS.
24 p_ph_sig2_gamma_bin_6   1.00000e+00          inf    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE24 BROUGHT BACK INSIDE LIMITS.
MINUIT WARNING IN PARAMETR
============== VARIABLE24 BROUGHT BACK INSIDE LIMITS.
25 p_ph_sig2_gamma_bin_7   1.00000e+00          inf    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE25 BROUGHT BACK INSIDE LIMITS.
MINUIT WARNING IN PARAMETR
============== VARIABLE25 BROUGHT BACK INSIDE LIMITS.
26 p_ph_sig2_gamma_bin_8   1.00000e+00          inf    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE26 BROUGHT BACK INSIDE LIMITS.
MINUIT WARNING IN PARAMETR
============== VARIABLE26 BROUGHT BACK INSIDE LIMITS.
27 p_ph_sig2_gamma_bin_9   1.00000e+00          inf    0.00000e+00  1.00000e+03
MINUIT WARNING IN PARAMETR
============== VARIABLE27 BROUGHT BACK INSIDE LIMITS.
MINUIT WARNING IN PARAMETR
============== VARIABLE27 BROUGHT BACK INSIDE LIMITS.
**********
**    3 **SET ERR         0.5
**********
**********
**    4 **SET PRINT           0
**********
**********
**    5 **SET STR           1
**********
**********
**    6 **MIGRAD    1.35e+04           1
**********
MIGRAD MINIMIZATION HAS CONVERGED.
MIGRAD WILL VERIFY CONVERGENCE AND ERROR MATRIX.
FCN=-2291.45 FROM MIGRAD    STATUS=CONVERGED    1074 CALLS        1075 TOTAL
EDM=5.33608e-05    STRATEGY= 1      ERROR MATRIX ACCURATE
EXT PARAMETER                                   STEP         FIRST
NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE
1  Abkg         6.14396e-02   2.21881e-03   4.13559e-06  -4.41296e+01
2  Asig         8.34408e-01   2.03008e-01   9.30538e-05  -8.65120e-01
3  p_ph_sig2_gamma_bin_0   9.97977e-01   4.74184e-02   4.95146e-05   2.82438e-01
4  p_ph_sig2_gamma_bin_1   1.00022e+00   4.74717e-02   4.95144e-05   2.30502e-01
5  p_ph_sig2_gamma_bin_10   9.80256e-01   4.56170e-02   4.80590e-05   7.14152e-01
6  p_ph_sig2_gamma_bin_11   1.01066e+00   4.88753e-02   5.04866e-05   8.12095e-01
7  p_ph_sig2_gamma_bin_12   1.01175e+00   4.83913e-02   4.87304e-05   1.45863e-01
8  p_ph_sig2_gamma_bin_13   9.83606e-01   4.66986e-02   4.79414e-05   1.21197e-01
9  p_ph_sig2_gamma_bin_14   9.94795e-01   4.83050e-02   5.04315e-05   8.78700e-01
10  p_ph_sig2_gamma_bin_15   1.00964e+00   4.73305e-02   4.91474e-05   1.06952e-01
11  p_ph_sig2_gamma_bin_16   1.02983e+00   4.92085e-02   5.05815e-05  -4.88517e-01
12  p_ph_sig2_gamma_bin_17   1.00759e+00   4.67394e-02   4.85659e-05   5.74385e-02
13  p_ph_sig2_gamma_bin_18   1.01953e+00   5.09568e-02   5.26537e-05  -2.13148e-01
14  p_ph_sig2_gamma_bin_19   9.74972e-01   4.58656e-02   4.84546e-05   8.16686e-01
15  p_ph_sig2_gamma_bin_2   9.96083e-01   4.68591e-02   4.89750e-05   3.33076e-01
16  p_ph_sig2_gamma_bin_20   9.99777e-01   4.73454e-02   4.93929e-05   2.41903e-01
17  p_ph_sig2_gamma_bin_21   9.98192e-01   4.74818e-02   4.95757e-05   2.76785e-01
18  p_ph_sig2_gamma_bin_22   9.98245e-01   4.87583e-02   5.09132e-05   2.61429e-01
19  p_ph_sig2_gamma_bin_23   9.83895e-01   4.61844e-02   4.85684e-05   6.19089e-01
20  p_ph_sig2_gamma_bin_24   1.02651e+00   4.79766e-02   4.93901e-05  -4.24164e-01
21  p_ph_sig2_gamma_bin_3   1.00545e+00   4.95815e-02   5.15886e-05   9.86817e-02
22  p_ph_sig2_gamma_bin_4   9.90519e-01   4.83807e-02   5.07164e-05   4.30253e-01
23  p_ph_sig2_gamma_bin_5   9.92236e-01   4.82370e-02   5.05207e-05   3.96794e-01
24  p_ph_sig2_gamma_bin_6   1.01031e+00   4.97016e-02   5.15880e-05  -9.57945e-03
25  p_ph_sig2_gamma_bin_7   9.97130e-01   4.60096e-02   4.80572e-05   3.20349e-01
26  p_ph_sig2_gamma_bin_8   9.80246e-01   4.63173e-02   4.88006e-05   6.92914e-01
27  p_ph_sig2_gamma_bin_9   1.00966e+00   4.78135e-02   4.96358e-05   5.22262e-03
ERR DEF= 0.5
**********
**    7 **SET ERR         0.5
**********
**********
**    8 **SET PRINT           0
**********
**********
**    9 **HESSE    1.35e+04
**********
FCN=-2291.45 FROM HESSE     STATUS=OK            460 CALLS        1535 TOTAL
EDM=5.33547e-05    STRATEGY= 1      ERROR MATRIX ACCURATE
EXT PARAMETER                                INTERNAL      INTERNAL
NO.   NAME      VALUE            ERROR       STEP SIZE       VALUE
1  Abkg         6.14396e-02   2.21887e-03   8.27117e-07  -1.56438e+00
2  Asig         8.34408e-01   2.02972e-01   1.86108e-05  -1.54511e+00
3  p_ph_sig2_gamma_bin_0   9.97977e-01   4.74183e-02   9.90292e-06  -1.50760e+00
4  p_ph_sig2_gamma_bin_1   1.00022e+00   4.74716e-02   9.90288e-06  -1.50753e+00
5  p_ph_sig2_gamma_bin_10   9.80256e-01   4.56169e-02   9.61180e-06  -1.50817e+00
6  p_ph_sig2_gamma_bin_11   1.01066e+00   4.88739e-02   1.00973e-05  -1.50720e+00
7  p_ph_sig2_gamma_bin_12   1.01175e+00   4.83851e-02   9.74607e-06  -1.50717e+00
8  p_ph_sig2_gamma_bin_13   9.83606e-01   4.66936e-02   9.58827e-06  -1.50806e+00
9  p_ph_sig2_gamma_bin_14   9.94795e-01   4.83042e-02   1.00863e-05  -1.50771e+00
10  p_ph_sig2_gamma_bin_15   1.00964e+00   4.73303e-02   9.82949e-06  -1.50724e+00
11  p_ph_sig2_gamma_bin_16   1.02983e+00   4.92084e-02   1.01163e-05  -1.50660e+00
12  p_ph_sig2_gamma_bin_17   1.00759e+00   4.67393e-02   9.71318e-06  -1.50730e+00
13  p_ph_sig2_gamma_bin_18   1.01953e+00   5.09567e-02   1.05307e-05  -1.50693e+00
14  p_ph_sig2_gamma_bin_19   9.74972e-01   4.58655e-02   9.69093e-06  -1.50834e+00
15  p_ph_sig2_gamma_bin_2   9.96083e-01   4.68590e-02   9.79499e-06  -1.50766e+00
16  p_ph_sig2_gamma_bin_20   9.99777e-01   4.73452e-02   9.87858e-06  -1.50755e+00
17  p_ph_sig2_gamma_bin_21   9.98192e-01   4.74817e-02   9.91514e-06  -1.50760e+00
18  p_ph_sig2_gamma_bin_22   9.98245e-01   4.87581e-02   1.01826e-05  -1.50760e+00
19  p_ph_sig2_gamma_bin_23   9.83895e-01   4.61843e-02   9.71367e-06  -1.50805e+00
20  p_ph_sig2_gamma_bin_24   1.02651e+00   4.79765e-02   9.87802e-06  -1.50671e+00
21  p_ph_sig2_gamma_bin_3   1.00545e+00   4.95814e-02   1.03177e-05  -1.50737e+00
22  p_ph_sig2_gamma_bin_4   9.90519e-01   4.83806e-02   1.01433e-05  -1.50784e+00
23  p_ph_sig2_gamma_bin_5   9.92236e-01   4.82369e-02   1.01041e-05  -1.50779e+00
24  p_ph_sig2_gamma_bin_6   1.01031e+00   4.97015e-02   2.06352e-06  -1.50721e+00
25  p_ph_sig2_gamma_bin_7   9.97130e-01   4.60094e-02   9.61144e-06  -1.50763e+00
26  p_ph_sig2_gamma_bin_8   9.80246e-01   4.63172e-02   9.76012e-06  -1.50817e+00
27  p_ph_sig2_gamma_bin_9   1.00966e+00   4.78134e-02   1.98543e-06  -1.50724e+00
ERR DEF= 0.5
[#1] INFO:Minimization -- RooAbsMinimizerFcn::setOptimizeConst: deactivating const optimization
[#0] WARNING:Plotting -- Cannot apply a bin width correction and use Poisson errors. Not correcting for bin width.
[#0] WARNING:Plotting -- Cannot apply a bin width correction and use Poisson errors. Not correcting for bin width.
[#1] INFO:Plotting -- RooAbsPdf::plotOn(model0) directly selected PDF components: (p_h_sig)
[#1] INFO:Plotting -- RooAbsPdf::plotOn(model0) indirectly selected PDF components: ()
[#1] INFO:Plotting -- RooAbsPdf::plotOn(model0) directly selected PDF components: (p_h_bkg)
[#1] INFO:Plotting -- RooAbsPdf::plotOn(model0) indirectly selected PDF components: ()
[#0] WARNING:Plotting -- Cannot apply a bin width correction and use Poisson errors. Not correcting for bin width.
[#1] INFO:Plotting -- RooPlot::updateFitRangeNorm: New event count of 50 will supercede previous event count of 1050 for normalization of PDF projections
[#0] WARNING:Plotting -- Cannot apply a bin width correction and use Poisson errors. Not correcting for bin width.
[#0] WARNING:Plotting -- Cannot apply a bin width correction and use Poisson errors. Not correcting for bin width.
[#1] INFO:Plotting -- RooAbsPdf::plotOn(model1) directly selected PDF components: (p_ph_sig)
[#1] INFO:Plotting -- RooAbsPdf::plotOn(model1) indirectly selected PDF components: (sp_ph)
[#1] INFO:Plotting -- RooAbsPdf::plotOn(model1) directly selected PDF components: (p_ph_bkg)
[#1] INFO:Plotting -- RooAbsPdf::plotOn(model1) indirectly selected PDF components: (sp_ph)
[#0] WARNING:Plotting -- Cannot apply a bin width correction and use Poisson errors. Not correcting for bin width.
[#1] INFO:Plotting -- RooPlot::updateFitRangeNorm: New event count of 50 will supercede previous event count of 1050 for normalization of PDF projections
[#0] WARNING:Plotting -- Cannot apply a bin width correction and use Poisson errors. Not correcting for bin width.
[#0] WARNING:Plotting -- Cannot apply a bin width correction and use Poisson errors. Not correcting for bin width.
[#1] INFO:Plotting -- RooAbsPdf::plotOn(model2) directly selected PDF components: (p_ph_sig2)
[#1] INFO:Plotting -- RooAbsPdf::plotOn(model2) indirectly selected PDF components: (sp_ph)
[#1] INFO:Plotting -- RooAbsPdf::plotOn(model2) directly selected PDF components: (p_ph_bkg2)
[#1] INFO:Plotting -- RooAbsPdf::plotOn(model2) indirectly selected PDF components: (sp_ph)
[#0] WARNING:Plotting -- Cannot apply a bin width correction and use Poisson errors. Not correcting for bin width.
[#1] INFO:Plotting -- RooPlot::updateFitRangeNorm: New event count of 50 will supercede previous event count of 1050 for normalization of PDF projections
Asig [normal ] = 0.833778 +/- 0.189814
Asig [BB     ] = 0.850507 +/- 0.235778
Asig [BBlight] = 0.834408 +/- 0.202972


Draw all canvases

In [4]:
%jsroot on
gROOT->GetListOfCanvases()->Draw()