A RooFit Tutorial

This tutorial will teach you the basics of using RooFit.

To start with we have to generate some data for use during the tutorial:


In [1]:
%%bash
root.exe -b -l -q roofit_tutorial_generate_data.C


Processing roofit_tutorial_generate_data.C...

RooFit v3.60 -- Developed by Wouter Verkerke and David Kirkby 
                Copyright (C) 2000-2013 NIKHEF, University of California & Stanford University
                All rights reserved, please read http://roofit.sourceforge.net/license.txt

--- RooAddGenContext ---
Using PDF RooAddPdf::model[ Nsig * signal + Nbkg * bkg ]
List of component generators
    --- RooProdGenContext ---
    Using PDF     RooProdPdf::signal[ signal_mass * signal_time ]
    List of component generators
         --- RooGenContext --- 
        Using PDF         RooGaussian::signal_mass[ x=mass mean=signal_mass_mean sigma=signal_mass_sigma ]
        Use PDF generator for (mass)
        Use MC sampling generator <none> for ()
         --- RooGenContext --- 
        Using PDF         RooExponential::signal_time[ x=time c=signal_exponent ]
        Use PDF generator for ()
        Use MC sampling generator RooFoamGenerator for (time)
    --- RooProdGenContext ---
    Using PDF     RooProdPdf::bkg[ bkg_mass * bkg_time ]
    List of component generators
         --- RooGenContext --- 
        Using PDF         RooPolynomial::bkg_mass[ x=mass coefList=(bkg_mass_p0,bkg_mass_p1) ]
        Use PDF generator for ()
        Use MC sampling generator RooFoamGenerator for (mass)
         --- RooGenContext --- 
        Using PDF         RooExponential::bkg_time[ x=time c=bkg_exponent ]
        Use PDF generator for ()
        Use MC sampling generator RooFoamGenerator for (time)
Done generating

Besides printing a lot of text it also created a dataset for us in:


In [2]:
!ls *.root


dataset.root

The first few bits of code in this tutorial will load the dataset from the ntuple and plot them in the manner of RooFit. This is to get you started.

The first_plots.C script will load the data and make some basic plots to check everything is fine. We will display the images directly in the notebook here.


In [3]:
%%bash
root.exe -b -l -q first_plots.C


Processing first_plots.C...

RooFit v3.60 -- Developed by Wouter Verkerke and David Kirkby 
                Copyright (C) 2000-2013 NIKHEF, University of California & Stanford University
                All rights reserved, please read http://roofit.sourceforge.net/license.txt

Info in <TCanvas::Print>: png file dataplot.png has been created

In [4]:
from IPython.display import Image
Image(filename='dataplot.png')


Out[4]:

With these preliminary plots and sanity checks out of the way. Let's get going.

The tutorial is written in such a way that you can run cells one at a time and modify them as you go along. This way the code can be re-run at each step to see what happens. Each of the steps is coded up in its own root macro. You can edit them by going to the overview page of the webinterface. There simply click on the file you want to edit, make your changes and re-run the step here.

Your Mission

Your task is to try and fit to this dataset to extract the signal yield and lifetime. We'll start with the signal yield, fitting to the mass distribution. Then we'll try to extract the signal lifetime from the time distribution Finally, we'll simultaneously fit to both time and mass to see if it improves the errors.


In [5]:
!root -l -b -q mass_fits.C


root [0] 
Processing mass_fits.C...

RooFit v3.60 -- Developed by Wouter Verkerke and David Kirkby 
                Copyright (C) 2000-2013 NIKHEF, University of California & Stanford University
                All rights reserved, please read http://roofit.sourceforge.net/license.txt

[#1] INFO:Minization -- RooMinuit::optimizeConst: activating const optimization
[#1] INFO:Minization --  The following expressions will be evaluated in cache-and-track mode: (signal_mass,bkg_mass)
 **********
 **   13 **MIGRAD        2500           1
 **********
 FIRST CALL TO USER FUNCTION AT NEW START POINT, WITH IFLAG=4.
 START MIGRAD MINIMIZATION.  STRATEGY  1.  CONVERGENCE WHEN EDM .LT. 1.00e-03
[#0] WARNING:Minization -- RooFitGlue: Minimized function has error status.
Returning maximum FCN so far (-10151.8) to force MIGRAD to back out of this region. Error log follows
Parameter values: Nbkg=2000, Nsig=2000, bkg_mass_p1=-1.03175, signal_mass_mean=5364.92, signal_mass_sigma=10
RooPolynomial::bkg_mass[ x=mass coefList=(bkg_mass_p0,bkg_mass_p1) ]
     p.d.f normalization integral is zero or negative @ x=mass=5322.74, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f normalization integral is zero or negative @ x=mass=5314.08, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f value is less than zero (-144707.312350), forcing value to zero @ x=mass=5356.92, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f normalization integral is zero or negative @ x=mass=5356.92, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f normalization integral is zero or negative @ x=mass=5307.06, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f value is less than zero (-209810.818428), forcing value to zero @ x=mass=5368.62, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f normalization integral is zero or negative @ x=mass=5368.62, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f value is less than zero (-239761.982153), forcing value to zero @ x=mass=5373.98, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f normalization integral is zero or negative @ x=mass=5373.98, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f value is less than zero (-187665.454974), forcing value to zero @ x=mass=5364.64, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f normalization integral is zero or negative @ x=mass=5364.64, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f normalization integral is zero or negative @ x=mass=5305.59, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
    ... (remaining 6837 messages suppressed)

[#0] WARNING:Minization -- RooFitGlue: Minimized function has error status.
Returning maximum FCN so far (-10151.8) to force MIGRAD to back out of this region. Error log follows
Parameter values: Nbkg=2000, Nsig=2000, bkg_mass_p1=-1.02117, signal_mass_mean=5364.92, signal_mass_sigma=10
RooPolynomial::bkg_mass[ x=mass coefList=(bkg_mass_p0,bkg_mass_p1) ]
     p.d.f value is less than zero (-75460.362489), forcing value to zero @ x=mass=5399.66, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-30602.779808), forcing value to zero @ x=mass=5391.54, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-38241.505322), forcing value to zero @ x=mass=5392.92, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-1777.669625), forcing value to zero @ x=mass=5386.3, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-31721.279182), forcing value to zero @ x=mass=5391.74, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-7563.944633), forcing value to zero @ x=mass=5387.35, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-76999.531697), forcing value to zero @ x=mass=5399.94, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-49060.198513), forcing value to zero @ x=mass=5394.88, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-55798.583774), forcing value to zero @ x=mass=5396.1, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-55286.253852), forcing value to zero @ x=mass=5396.01, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-74629.991494), forcing value to zero @ x=mass=5399.51, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-32241.426084), forcing value to zero @ x=mass=5391.83, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
    ... (remaining 288 messages suppressed)

 FCN=-11016.6 FROM MIGRAD    STATUS=INITIATE       68 CALLS          69 TOTAL
                     EDM= unknown      STRATEGY= 1      NO ERROR MATRIX       
  EXT PARAMETER               CURRENT GUESS       STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  Nbkg         2.00000e+03   4.00000e+02   0.00000e+00  -3.17193e+02
   2  Nsig         2.00000e+03   4.00000e+02   0.00000e+00   3.17190e+02
   3  bkg_mass_p1  -1.01224e+00   2.00000e-01  -1.22398e-02   1.07101e+02
   4  signal_mass_mean   5.36492e+03   1.00000e+01   0.00000e+00  -2.97720e+02
   5  signal_mass_sigma   1.00000e+01   2.00000e+00   0.00000e+00  -5.29992e+00
                               ERR DEF= 0.5
 MIGRAD MINIMIZATION HAS CONVERGED.
 FCN=-11222.7 FROM MIGRAD    STATUS=CONVERGED     187 CALLS         188 TOTAL
                     EDM=3.91099e-06    STRATEGY= 1  ERROR MATRIX UNCERTAINTY   4.6 per cent
  EXT PARAMETER                                   STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  Nbkg         2.96712e+03   6.11940e+01   3.83659e-04  -5.38178e-02
   2  Nsig         1.03281e+03   4.52619e+01   1.07745e-05   3.46976e-02
   3  bkg_mass_p1  -1.00301e+00   2.09094e-03   2.81287e-05  -5.65740e-01
   4  signal_mass_mean   5.36574e+03   2.30577e-01  -4.50758e-05  -2.42039e-01
   5  signal_mass_sigma   5.06069e+00   2.11823e-01  -1.45317e-04  -5.62435e-02
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  5    ERR DEF=0.5
  3.746e+03 -9.802e+02  2.332e-02 -2.476e-01 -4.287e+00 
 -9.802e+02  2.049e+03 -2.250e-02 -1.416e-01  3.928e+00 
  2.332e-02 -2.250e-02  4.372e-06 -4.587e-05 -8.364e-05 
 -2.476e-01 -1.416e-01 -4.587e-05  5.317e-02 -3.996e-03 
 -4.287e+00  3.928e+00 -8.364e-05 -3.996e-03  4.488e-02 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4      5
        1  0.41715   1.000 -0.354  0.182 -0.018 -0.331
        2  0.48931  -0.354  1.000 -0.238 -0.014  0.410
        3  0.29074   0.182 -0.238  1.000 -0.095 -0.189
        4  0.14318  -0.018 -0.014 -0.095  1.000 -0.082
        5  0.46946  -0.331  0.410 -0.189 -0.082  1.000
 **********
 **   18 **HESSE        2500
 **********
 COVARIANCE MATRIX CALCULATED SUCCESSFULLY
 FCN=-11222.7 FROM HESSE     STATUS=OK             35 CALLS         223 TOTAL
                     EDM=7.19694e-06    STRATEGY= 1      ERROR MATRIX ACCURATE 
  EXT PARAMETER                                INTERNAL      INTERNAL  
  NO.   NAME      VALUE            ERROR       STEP SIZE       VALUE   
   1  Nbkg         2.96712e+03   6.36920e+01   2.42793e-03   5.04718e-01
   2  Nsig         1.03281e+03   4.61099e+01   1.66615e-03  -5.04756e-01
   3  bkg_mass_p1  -1.00301e+00   2.10649e-03   1.47331e-04  -3.01040e-03
   4  signal_mass_mean   5.36574e+03   2.37467e-01   3.62725e-04   3.20342e-01
   5  signal_mass_sigma   5.06069e+00   2.20552e-01   1.66105e-03  -5.16605e-01
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  5    ERR DEF=0.5
  4.058e+03 -1.092e+03  2.295e-02  5.065e-01 -4.113e+00 
 -1.092e+03  2.127e+03 -2.298e-02 -5.078e-01  4.121e+00 
  2.295e-02 -2.298e-02  4.437e-06 -3.847e-05 -8.478e-05 
  5.065e-01 -5.078e-01 -3.847e-05  5.639e-02 -4.783e-03 
 -4.113e+00  4.121e+00 -8.478e-05 -4.783e-03  4.865e-02 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4      5
        1  0.40915   1.000 -0.372  0.171  0.033 -0.293
        2  0.50236  -0.372  1.000 -0.237 -0.046  0.405
        3  0.28239   0.171 -0.237  1.000 -0.077 -0.182
        4  0.13534   0.033 -0.046 -0.077  1.000 -0.091
        5  0.44636  -0.293  0.405 -0.182 -0.091  1.000
[#1] INFO:Minization -- RooMinuit::optimizeConst: deactivating const optimization

  RooFitResult: minimized FCN value: -11222.7, estimated distance to minimum: 7.19694e-06
                covariance matrix quality: Full, accurate covariance matrix
                Status : MIGRAD=0 HESSE=0 

    Floating Parameter    FinalValue +/-  Error   
  --------------------  --------------------------
                  Nbkg    2.9671e+03 +/-  6.37e+01
                  Nsig    1.0328e+03 +/-  4.61e+01
           bkg_mass_p1   -1.0030e+00 +/-  2.11e-03
      signal_mass_mean    5.3657e+03 +/-  2.37e-01
     signal_mass_sigma    5.0607e+00 +/-  2.21e-01

[#1] INFO:Plotting -- RooAbsPdf::plotOn(mass_pdf) directly selected PDF components: (signal_mass)
[#1] INFO:Plotting -- RooAbsPdf::plotOn(mass_pdf) indirectly selected PDF components: ()
[#1] INFO:Plotting -- RooAbsPdf::plotOn(mass_pdf) directly selected PDF components: (bkg_mass)
[#1] INFO:Plotting -- RooAbsPdf::plotOn(mass_pdf) indirectly selected PDF components: ()
Info in <TCanvas::Print>: png file masspdfplot.png has been created

In [6]:
Image(filename='masspdfplot.png')


Out[6]:

This prints a lot of text output. Can you find the number of signal events from your fit in the output?

Lifetime fit

Now we'll try to fit the lifetime of the signal distribution RooFit comes with a few pre-built "B-decay specific" PDFs that include CP violation, resolution modelling, mistag rates, etc. These are a little too overkill for a basic tutorial, so we'll concern ourselves with a simple exponential decay model here.

Part of the power of RooFit is the way in which PDFs can be modified using formulae. The RooExponential PDF is of the form $f = e^{c\cdot x}$ but we want $f = e^{-\frac{x}{c}}$. We can do this with a RooFormulaVar


In [7]:
!root -b -q -l lifetime_fit.C


root [0] 
Processing lifetime_fit.C...

RooFit v3.60 -- Developed by Wouter Verkerke and David Kirkby 
                Copyright (C) 2000-2013 NIKHEF, University of California & Stanford University
                All rights reserved, please read http://roofit.sourceforge.net/license.txt

[#1] INFO:Minization -- RooMinuit::optimizeConst: activating const optimization
[#1] INFO:Minization --  The following expressions will be evaluated in cache-and-track mode: (signal_time,bkg_time)
 **********
 **   13 **MIGRAD        2000           1
 **********
 FIRST CALL TO USER FUNCTION AT NEW START POINT, WITH IFLAG=4.
 START MIGRAD MINIMIZATION.  STRATEGY  1.  CONVERGENCE WHEN EDM .LT. 1.00e-03
 FCN=-28737.6 FROM MIGRAD    STATUS=INITIATE       57 CALLS          58 TOTAL
                     EDM= unknown      STRATEGY= 1      NO ERROR MATRIX       
  EXT PARAMETER               CURRENT GUESS       STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  Nbkg         2.00000e+03   4.00000e+02   0.00000e+00  -4.12420e+02
   2  Nsig         2.00000e+03   4.00000e+02   0.00000e+00   4.12412e+02
   3  bkg_lifetime   2.23183e-01   3.00000e-01   0.00000e+00   2.65220e+03
   4  signal_lifetime   1.03865e+00   5.00000e-01  -6.24311e-01   3.05079e+01
                               ERR DEF= 0.5
 MIGRAD MINIMIZATION HAS CONVERGED.
 MIGRAD WILL VERIFY CONVERGENCE AND ERROR MATRIX.
 COVARIANCE MATRIX CALCULATED SUCCESSFULLY
 FCN=-29168.8 FROM MIGRAD    STATUS=CONVERGED     169 CALLS         170 TOTAL
                     EDM=1.25067e-05    STRATEGY= 1      ERROR MATRIX ACCURATE 
  EXT PARAMETER                                   STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  Nbkg         3.01271e+03   6.51519e+01   3.95578e-03  -6.76760e-02
   2  Nsig         9.87099e+02   4.71592e+01   2.58144e-03  -1.25902e-01
   3  bkg_lifetime   1.55638e-01   4.21784e-03   6.42875e-04  -3.71194e-02
   4  signal_lifetime   1.55954e+00   6.63662e-02   2.86066e-03  -7.25126e-02
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  4    ERR DEF=0.5
  4.247e+03 -1.235e+03  9.218e-02  1.507e+00 
 -1.235e+03  2.225e+03 -9.230e-02 -1.510e+00 
  9.218e-02 -9.230e-02  1.779e-05  1.038e-04 
  1.507e+00 -1.510e+00  1.038e-04  4.406e-03 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4
        1  0.45980   1.000 -0.402  0.335  0.348
        2  0.60003  -0.402  1.000 -0.464 -0.482
        3  0.51092   0.335 -0.464  1.000  0.371
        4  0.52928   0.348 -0.482  0.371  1.000
 **********
 **   18 **HESSE        2000
 **********
 COVARIANCE MATRIX CALCULATED SUCCESSFULLY
 FCN=-29168.8 FROM HESSE     STATUS=OK             23 CALLS         193 TOTAL
                     EDM=1.24926e-05    STRATEGY= 1      ERROR MATRIX ACCURATE 
  EXT PARAMETER                                INTERNAL      INTERNAL  
  NO.   NAME      VALUE            ERROR       STEP SIZE       VALUE   
   1  Nbkg         3.01271e+03   6.52487e+01   1.58231e-04   5.30953e-01
   2  Nsig         9.87099e+02   4.72605e+01   5.16287e-04  -5.31063e-01
   3  bkg_lifetime   1.55638e-01   4.22516e-03   2.57150e-05  -1.11122e+00
   4  signal_lifetime   1.55954e+00   6.64803e-02   1.14426e-04  -3.85673e-01
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  4    ERR DEF=0.5
  4.259e+03 -1.247e+03  9.316e-02  1.523e+00 
 -1.247e+03  2.234e+03 -9.315e-02 -1.523e+00 
  9.316e-02 -9.315e-02  1.785e-05  1.049e-04 
  1.523e+00 -1.523e+00  1.049e-04  4.421e-03 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4
        1  0.46234   1.000 -0.404  0.338  0.351
        2  0.60231  -0.404  1.000 -0.466 -0.485
        3  0.51342   0.338 -0.466  1.000  0.373
        4  0.53160   0.351 -0.485  0.373  1.000
[#1] INFO:Minization -- RooMinuit::optimizeConst: deactivating const optimization

  RooFitResult: minimized FCN value: -29168.8, estimated distance to minimum: 1.24926e-05
                covariance matrix quality: Full, accurate covariance matrix
                Status : MIGRAD=0 HESSE=0 

    Floating Parameter    FinalValue +/-  Error   
  --------------------  --------------------------
                  Nbkg    3.0127e+03 +/-  6.52e+01
                  Nsig    9.8710e+02 +/-  4.73e+01
          bkg_lifetime    1.5564e-01 +/-  4.23e-03
       signal_lifetime    1.5595e+00 +/-  6.65e-02

[#1] INFO:Plotting -- RooAbsPdf::plotOn(time_pdf) directly selected PDF components: (signal_time)
[#1] INFO:Plotting -- RooAbsPdf::plotOn(time_pdf) indirectly selected PDF components: (signal_exponent)
[#1] INFO:Plotting -- RooAbsPdf::plotOn(time_pdf) directly selected PDF components: (bkg_time)
[#1] INFO:Plotting -- RooAbsPdf::plotOn(time_pdf) indirectly selected PDF components: (bkg_exponent)
Info in <TCanvas::Print>: png file timepdfplot.png has been created

In [8]:
Image(filename='timepdfplot.png')


Out[8]:

In [19]:
!root -l -b -q combined_fits.C


root [0] 
Processing combined_fits.C...

RooFit v3.60 -- Developed by Wouter Verkerke and David Kirkby 
                Copyright (C) 2000-2013 NIKHEF, University of California & Stanford University
                All rights reserved, please read http://roofit.sourceforge.net/license.txt

[#1] INFO:Minization -- RooMinuit::optimizeConst: activating const optimization
[#1] INFO:Minization --  The following expressions will be evaluated in cache-and-track mode: (signal_mass,bkg_mass)
 **********
 **   13 **MIGRAD        2500           1
 **********
 FIRST CALL TO USER FUNCTION AT NEW START POINT, WITH IFLAG=4.
 START MIGRAD MINIMIZATION.  STRATEGY  1.  CONVERGENCE WHEN EDM .LT. 1.00e-03
[#0] WARNING:Minization -- RooFitGlue: Minimized function has error status.
Returning maximum FCN so far (-10151.8) to force MIGRAD to back out of this region. Error log follows
Parameter values: Nbkg=2000, Nsig=2000, bkg_mass_p1=-1.03175, signal_mass_mean=5364.92, signal_mass_sigma=10
RooPolynomial::bkg_mass[ x=mass coefList=(bkg_mass_p0,bkg_mass_p1) ]
     p.d.f normalization integral is zero or negative @ x=mass=5322.74, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f normalization integral is zero or negative @ x=mass=5314.08, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f value is less than zero (-144707.312350), forcing value to zero @ x=mass=5356.92, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f normalization integral is zero or negative @ x=mass=5356.92, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f normalization integral is zero or negative @ x=mass=5307.06, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f value is less than zero (-209810.818428), forcing value to zero @ x=mass=5368.62, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f normalization integral is zero or negative @ x=mass=5368.62, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f value is less than zero (-239761.982153), forcing value to zero @ x=mass=5373.98, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f normalization integral is zero or negative @ x=mass=5373.98, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f value is less than zero (-187665.454974), forcing value to zero @ x=mass=5364.64, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f normalization integral is zero or negative @ x=mass=5364.64, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
     p.d.f normalization integral is zero or negative @ x=mass=5305.59, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.03175)
    ... (remaining 6837 messages suppressed)

[#0] WARNING:Minization -- RooFitGlue: Minimized function has error status.
Returning maximum FCN so far (-10151.8) to force MIGRAD to back out of this region. Error log follows
Parameter values: Nbkg=2000, Nsig=2000, bkg_mass_p1=-1.02117, signal_mass_mean=5364.92, signal_mass_sigma=10
RooPolynomial::bkg_mass[ x=mass coefList=(bkg_mass_p0,bkg_mass_p1) ]
     p.d.f value is less than zero (-75460.362489), forcing value to zero @ x=mass=5399.66, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-30602.779808), forcing value to zero @ x=mass=5391.54, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-38241.505322), forcing value to zero @ x=mass=5392.92, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-1777.669625), forcing value to zero @ x=mass=5386.3, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-31721.279182), forcing value to zero @ x=mass=5391.74, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-7563.944633), forcing value to zero @ x=mass=5387.35, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-76999.531697), forcing value to zero @ x=mass=5399.94, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-49060.198513), forcing value to zero @ x=mass=5394.88, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-55798.583774), forcing value to zero @ x=mass=5396.1, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-55286.253852), forcing value to zero @ x=mass=5396.01, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-74629.991494), forcing value to zero @ x=mass=5399.51, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
     p.d.f value is less than zero (-32241.426084), forcing value to zero @ x=mass=5391.83, coefList=(bkg_mass_p0 = 5500,bkg_mass_p1 = -1.02117)
    ... (remaining 288 messages suppressed)

 FCN=-11016.6 FROM MIGRAD    STATUS=INITIATE       68 CALLS          69 TOTAL
                     EDM= unknown      STRATEGY= 1      NO ERROR MATRIX       
  EXT PARAMETER               CURRENT GUESS       STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  Nbkg         2.00000e+03   4.00000e+02   0.00000e+00  -3.17193e+02
   2  Nsig         2.00000e+03   4.00000e+02   0.00000e+00   3.17190e+02
   3  bkg_mass_p1  -1.01224e+00   2.00000e-01  -1.22398e-02   1.07101e+02
   4  signal_mass_mean   5.36492e+03   1.00000e+01   0.00000e+00  -2.97720e+02
   5  signal_mass_sigma   1.00000e+01   2.00000e+00   0.00000e+00  -5.29992e+00
                               ERR DEF= 0.5
 MIGRAD MINIMIZATION HAS CONVERGED.
 FCN=-11222.7 FROM MIGRAD    STATUS=CONVERGED     187 CALLS         188 TOTAL
                     EDM=3.91099e-06    STRATEGY= 1  ERROR MATRIX UNCERTAINTY   4.6 per cent
  EXT PARAMETER                                   STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  Nbkg         2.96712e+03   6.11940e+01   3.83659e-04  -5.38178e-02
   2  Nsig         1.03281e+03   4.52619e+01   1.07745e-05   3.46976e-02
   3  bkg_mass_p1  -1.00301e+00   2.09094e-03   2.81287e-05  -5.65740e-01
   4  signal_mass_mean   5.36574e+03   2.30577e-01  -4.50758e-05  -2.42039e-01
   5  signal_mass_sigma   5.06069e+00   2.11823e-01  -1.45317e-04  -5.62435e-02
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  5    ERR DEF=0.5
  3.746e+03 -9.802e+02  2.332e-02 -2.476e-01 -4.287e+00 
 -9.802e+02  2.049e+03 -2.250e-02 -1.416e-01  3.928e+00 
  2.332e-02 -2.250e-02  4.372e-06 -4.587e-05 -8.364e-05 
 -2.476e-01 -1.416e-01 -4.587e-05  5.317e-02 -3.996e-03 
 -4.287e+00  3.928e+00 -8.364e-05 -3.996e-03  4.488e-02 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4      5
        1  0.41715   1.000 -0.354  0.182 -0.018 -0.331
        2  0.48931  -0.354  1.000 -0.238 -0.014  0.410
        3  0.29074   0.182 -0.238  1.000 -0.095 -0.189
        4  0.14318  -0.018 -0.014 -0.095  1.000 -0.082
        5  0.46946  -0.331  0.410 -0.189 -0.082  1.000
 **********
 **   18 **HESSE        2500
 **********
 COVARIANCE MATRIX CALCULATED SUCCESSFULLY
 FCN=-11222.7 FROM HESSE     STATUS=OK             35 CALLS         223 TOTAL
                     EDM=7.19694e-06    STRATEGY= 1      ERROR MATRIX ACCURATE 
  EXT PARAMETER                                INTERNAL      INTERNAL  
  NO.   NAME      VALUE            ERROR       STEP SIZE       VALUE   
   1  Nbkg         2.96712e+03   6.36920e+01   2.42793e-03   5.04718e-01
   2  Nsig         1.03281e+03   4.61099e+01   1.66615e-03  -5.04756e-01
   3  bkg_mass_p1  -1.00301e+00   2.10649e-03   1.47331e-04  -3.01040e-03
   4  signal_mass_mean   5.36574e+03   2.37467e-01   3.62725e-04   3.20342e-01
   5  signal_mass_sigma   5.06069e+00   2.20552e-01   1.66105e-03  -5.16605e-01
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  5    ERR DEF=0.5
  4.058e+03 -1.092e+03  2.295e-02  5.065e-01 -4.113e+00 
 -1.092e+03  2.127e+03 -2.298e-02 -5.078e-01  4.121e+00 
  2.295e-02 -2.298e-02  4.437e-06 -3.847e-05 -8.478e-05 
  5.065e-01 -5.078e-01 -3.847e-05  5.639e-02 -4.783e-03 
 -4.113e+00  4.121e+00 -8.478e-05 -4.783e-03  4.865e-02 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4      5
        1  0.40915   1.000 -0.372  0.171  0.033 -0.293
        2  0.50236  -0.372  1.000 -0.237 -0.046  0.405
        3  0.28239   0.171 -0.237  1.000 -0.077 -0.182
        4  0.13534   0.033 -0.046 -0.077  1.000 -0.091
        5  0.44636  -0.293  0.405 -0.182 -0.091  1.000
[#1] INFO:Minization -- RooMinuit::optimizeConst: deactivating const optimization
[#1] INFO:Minization -- RooMinuit::optimizeConst: activating const optimization
[#1] INFO:Minization --  The following expressions will be evaluated in cache-and-track mode: (signal_time,bkg_time)
 **********
 **   13 **MIGRAD        2000           1
 **********
 FIRST CALL TO USER FUNCTION AT NEW START POINT, WITH IFLAG=4.
 START MIGRAD MINIMIZATION.  STRATEGY  1.  CONVERGENCE WHEN EDM .LT. 1.00e-03
 FCN=-28997.3 FROM MIGRAD    STATUS=INITIATE       37 CALLS          38 TOTAL
                     EDM= unknown      STRATEGY= 1      NO ERROR MATRIX       
  EXT PARAMETER               CURRENT GUESS       STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  Nbkg         2.96712e+03   6.36920e+01   0.00000e+00  -1.41973e+02
   2  Nsig         1.03281e+03   4.61099e+01   0.00000e+00   4.07721e+02
   3  bkg_lifetime   2.24708e-01   3.00000e-01  -1.01636e+00   2.07251e+03
   4  signal_lifetime   2.50000e+00   5.00000e-01   0.00000e+00   1.94725e+02
                               ERR DEF= 0.5
 MIGRAD MINIMIZATION HAS CONVERGED.
 MIGRAD WILL VERIFY CONVERGENCE AND ERROR MATRIX.
 COVARIANCE MATRIX CALCULATED SUCCESSFULLY
 FCN=-29168.8 FROM MIGRAD    STATUS=CONVERGED     163 CALLS         164 TOTAL
                     EDM=8.79362e-07    STRATEGY= 1      ERROR MATRIX ACCURATE 
  EXT PARAMETER                                   STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  Nbkg         3.01289e+03   6.51579e+01   3.95623e-03   2.58639e-02
   2  Nsig         9.87157e+02   4.71616e+01   2.58029e-03  -2.68757e-03
   3  bkg_lifetime   1.55639e-01   4.21785e-03   6.42863e-04  -7.26654e-02
   4  signal_lifetime   1.55962e+00   6.63745e-02   2.87064e-03  -1.25918e-02
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  4    ERR DEF=0.5
  4.248e+03 -1.235e+03  9.219e-02  1.508e+00 
 -1.235e+03  2.225e+03 -9.231e-02 -1.511e+00 
  9.219e-02 -9.231e-02  1.779e-05  1.038e-04 
  1.508e+00 -1.511e+00  1.038e-04  4.407e-03 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4
        1  0.45981   1.000 -0.402  0.335  0.349
        2  0.60004  -0.402  1.000 -0.464 -0.482
        3  0.51093   0.335 -0.464  1.000  0.371
        4  0.52930   0.349 -0.482  0.371  1.000
 **********
 **   18 **HESSE        2000
 **********
 COVARIANCE MATRIX CALCULATED SUCCESSFULLY
 FCN=-29168.8 FROM HESSE     STATUS=OK             23 CALLS         187 TOTAL
                     EDM=8.79187e-07    STRATEGY= 1      ERROR MATRIX ACCURATE 
  EXT PARAMETER                                INTERNAL      INTERNAL  
  NO.   NAME      VALUE            ERROR       STEP SIZE       VALUE   
   1  Nbkg         3.01289e+03   6.52566e+01   1.58249e-04   5.31055e-01
   2  Nsig         9.87157e+02   4.72665e+01   1.03212e-04  -5.31030e-01
   3  bkg_lifetime   1.55639e-01   4.22545e-03   2.57145e-05  -1.11122e+00
   4  signal_lifetime   1.55962e+00   6.64909e-02   1.14825e-04  -3.85638e-01
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  4    ERR DEF=0.5
  4.260e+03 -1.247e+03  9.319e-02  1.524e+00 
 -1.247e+03  2.235e+03 -9.319e-02 -1.524e+00 
  9.319e-02 -9.319e-02  1.785e-05  1.049e-04 
  1.524e+00 -1.524e+00  1.049e-04  4.422e-03 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4
        1  0.46240   1.000 -0.404  0.338  0.351
        2  0.60240  -0.404  1.000 -0.467 -0.485
        3  0.51352   0.338 -0.467  1.000  0.373
        4  0.53166   0.351 -0.485  0.373  1.000
[#1] INFO:Minization -- RooMinuit::optimizeConst: deactivating const optimization
[#1] INFO:Minization -- RooMinuit::optimizeConst: activating const optimization
[#1] INFO:Minization --  The following expressions will be evaluated in cache-and-track mode: (signal_mass,signal_time,bkg_mass,bkg_time)
 **********
 **   13 **MIGRAD        3500           1
 **********
 FIRST CALL TO USER FUNCTION AT NEW START POINT, WITH IFLAG=4.
 START MIGRAD MINIMIZATION.  STRATEGY  1.  CONVERGENCE WHEN EDM .LT. 1.00e-03
 FCN=-11870.6 FROM MIGRAD    STATUS=INITIATE       20 CALLS          21 TOTAL
                     EDM= unknown      STRATEGY= 1      NO ERROR MATRIX       
  EXT PARAMETER               CURRENT GUESS       STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  Nbkg         3.01289e+03   6.52566e+01   3.78583e-02   1.11411e+01
   2  Nsig         9.87157e+02   4.72665e+01   2.74146e-02  -3.39401e+01
   3  bkg_lifetime   1.55639e-01   4.22545e-03   6.35126e-03   1.88242e+02
   4  bkg_mass_p1  -1.00301e+00   2.10649e-03   2.10650e-03  -7.18428e+01
   5  signal_lifetime   1.55962e+00   6.64909e-02   2.87103e-02   1.93213e+01
   6  signal_mass_mean   5.36574e+03   2.37467e-01   5.00393e-03  -3.23836e+02
   7  signal_mass_sigma   5.06069e+00   2.20552e-01   2.53707e-02  -7.01740e+01
                               ERR DEF= 0.5
 MIGRAD MINIMIZATION HAS CONVERGED.
 MIGRAD WILL VERIFY CONVERGENCE AND ERROR MATRIX.
 COVARIANCE MATRIX CALCULATED SUCCESSFULLY
 FCN=-11873.1 FROM MIGRAD    STATUS=CONVERGED     128 CALLS         129 TOTAL
                     EDM=7.24946e-06    STRATEGY= 1      ERROR MATRIX ACCURATE 
  EXT PARAMETER                                   STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  Nbkg         2.97578e+03   5.74606e+01   2.42701e-03   2.23892e-03
   2  Nsig         1.02427e+03   3.67631e+01   1.52368e-03   7.64105e-02
   3  bkg_lifetime   1.52278e-01   3.04753e-03   3.44533e-04  -5.08199e-03
   4  bkg_mass_p1  -1.00319e+00   1.98342e-03   1.47772e-04  -2.09149e-02
   5  signal_lifetime   1.51780e+00   5.31778e-02   1.68525e-03   5.22886e-02
   6  signal_mass_mean   5.36596e+03   1.87947e-01   2.98161e-04   4.13106e-01
   7  signal_mass_sigma   5.22087e+00   1.38429e-01   1.17618e-03   7.32376e-02
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  7    ERR DEF=0.5
  3.303e+03 -3.269e+02  1.148e-02  6.868e-03  4.104e-01  1.079e-01 -4.295e-01 
 -3.269e+02  1.352e+03 -1.148e-02 -6.874e-03 -4.108e-01 -1.081e-01  4.303e-01 
  1.148e-02 -1.148e-02  9.287e-06  2.373e-07  1.119e-05  8.139e-06 -3.455e-05 
  6.868e-03 -6.874e-03  2.373e-07  3.934e-06  8.642e-06 -1.113e-05 -8.793e-06 
  4.104e-01 -4.108e-01  1.119e-05  8.642e-06  2.828e-03  1.227e-04 -4.818e-04 
  1.079e-01 -1.081e-01  8.139e-06 -1.113e-05  1.227e-04  3.532e-02 -7.302e-04 
 -4.295e-01  4.303e-01 -3.455e-05 -8.793e-06 -4.818e-04 -7.302e-04  1.916e-02 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4      5      6      7
        1  0.19827   1.000 -0.155  0.066  0.060  0.134  0.010 -0.054
        2  0.27416  -0.155  1.000 -0.102 -0.094 -0.210 -0.016  0.085
        3  0.14295   0.066 -0.102  1.000  0.039  0.069  0.014 -0.082
        4  0.12857   0.060 -0.094  0.039  1.000  0.082 -0.030 -0.032
        5  0.24777   0.134 -0.210  0.069  0.082  1.000  0.012 -0.065
        6  0.04758   0.010 -0.016  0.014 -0.030  0.012  1.000 -0.028
        7  0.12925  -0.054  0.085 -0.082 -0.032 -0.065 -0.028  1.000
 **********
 **   18 **HESSE        3500
 **********
 COVARIANCE MATRIX CALCULATED SUCCESSFULLY
 FCN=-11873.1 FROM HESSE     STATUS=OK             50 CALLS         179 TOTAL
                     EDM=7.24829e-06    STRATEGY= 1      ERROR MATRIX ACCURATE 
  EXT PARAMETER                                INTERNAL      INTERNAL  
  NO.   NAME      VALUE            ERROR       STEP SIZE       VALUE   
   1  Nbkg         2.97578e+03   5.74681e+01   9.70803e-05   5.09672e-01
   2  Nsig         1.02427e+03   3.67710e+01   3.04736e-04  -5.09644e-01
   3  bkg_lifetime   1.52278e-01   3.04776e-03   1.37813e-05  -1.11630e+00
   4  bkg_mass_p1  -1.00319e+00   1.98381e-03   5.91088e-06  -3.19372e-03
   5  signal_lifetime   1.51780e+00   5.31872e-02   6.74101e-05  -4.03761e-01
   6  signal_mass_mean   5.36596e+03   1.87956e-01   5.96323e-05   3.24955e-01
   7  signal_mass_sigma   5.22087e+00   1.38446e-01   4.70473e-05  -4.98277e-01
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  7    ERR DEF=0.5
  3.304e+03 -3.280e+02  1.152e-02  6.930e-03  4.119e-01  1.078e-01 -4.323e-01 
 -3.280e+02  1.352e+03 -1.152e-02 -6.930e-03 -4.119e-01 -1.078e-01  4.324e-01 
  1.152e-02 -1.152e-02  9.289e-06  2.395e-07  1.123e-05  8.130e-06 -3.475e-05 
  6.930e-03 -6.930e-03  2.395e-07  3.935e-06  8.716e-06 -1.121e-05 -8.883e-06 
  4.119e-01 -4.119e-01  1.123e-05  8.716e-06  2.829e-03  1.224e-04 -4.848e-04 
  1.078e-01 -1.078e-01  8.130e-06 -1.121e-05  1.224e-04  3.533e-02 -7.692e-04 
 -4.323e-01  4.324e-01 -3.475e-05 -8.883e-06 -4.848e-04 -7.692e-04  1.917e-02 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4      5      6      7
        1  0.19890   1.000 -0.155  0.066  0.061  0.135  0.010 -0.054
        2  0.27488  -0.155  1.000 -0.103 -0.095 -0.211 -0.016  0.085
        3  0.14347   0.066 -0.103  1.000  0.040  0.069  0.014 -0.082
        4  0.12957   0.061 -0.095  0.040  1.000  0.083 -0.030 -0.032
        5  0.24843   0.135 -0.211  0.069  0.083  1.000  0.012 -0.066
        6  0.04856   0.010 -0.016  0.014 -0.030  0.012  1.000 -0.030
        7  0.13019  -0.054  0.085 -0.082 -0.032 -0.066 -0.030  1.000
[#1] INFO:Minization -- RooMinuit::optimizeConst: deactivating const optimization
------------------ FIT RESULT FOR MASS ONLY --------------

  RooFitResult: minimized FCN value: -11222.7, estimated distance to minimum: 7.19694e-06
                covariance matrix quality: Full, accurate covariance matrix
                Status : MIGRAD=0 HESSE=0 

    Floating Parameter    FinalValue +/-  Error   
  --------------------  --------------------------
                  Nbkg    2.9671e+03 +/-  6.37e+01
                  Nsig    1.0328e+03 +/-  4.61e+01
           bkg_mass_p1   -1.0030e+00 +/-  2.11e-03
      signal_mass_mean    5.3657e+03 +/-  2.37e-01
     signal_mass_sigma    5.0607e+00 +/-  2.21e-01

------------------ FIT RESULT FOR TIME ONLY --------------

  RooFitResult: minimized FCN value: -29168.8, estimated distance to minimum: 8.79187e-07
                covariance matrix quality: Full, accurate covariance matrix
                Status : MIGRAD=0 HESSE=0 

    Floating Parameter    FinalValue +/-  Error   
  --------------------  --------------------------
                  Nbkg    3.0129e+03 +/-  6.53e+01
                  Nsig    9.8716e+02 +/-  4.73e+01
          bkg_lifetime    1.5564e-01 +/-  4.23e-03
       signal_lifetime    1.5596e+00 +/-  6.65e-02

----------------- FIT RESULT FOR THE 2D MODEL ------------

  RooFitResult: minimized FCN value: -11873.1, estimated distance to minimum: 7.24829e-06
                covariance matrix quality: Full, accurate covariance matrix
                Status : MIGRAD=0 HESSE=0 

    Floating Parameter    FinalValue +/-  Error   
  --------------------  --------------------------
                  Nbkg    2.9758e+03 +/-  5.75e+01
                  Nsig    1.0243e+03 +/-  3.68e+01
          bkg_lifetime    1.5228e-01 +/-  3.05e-03
           bkg_mass_p1   -1.0032e+00 +/-  1.98e-03
       signal_lifetime    1.5178e+00 +/-  5.32e-02
      signal_mass_mean    5.3660e+03 +/-  1.88e-01
     signal_mass_sigma    5.2209e+00 +/-  1.38e-01

Lastly, we do a short toy study based on the result of our fit: What is the expected sensitivity of our model to the lifetime assuming the result we measured? In my opinion this is the coolest feature of RooFit: The models you build can be fit to data, can generate toy data or can run big toy studies only with a couple of extra lines of code.


In [9]:
!root -l -b -q toystudies.C


root [0] 
Processing toystudies.C...

RooFit v3.60 -- Developed by Wouter Verkerke and David Kirkby 
                Copyright (C) 2000-2013 NIKHEF, University of California & Stanford University
                All rights reserved, please read http://roofit.sourceforge.net/license.txt

[#1] INFO:Minization -- RooMinuit::optimizeConst: activating const optimization
[#1] INFO:Minization --  The following expressions will be evaluated in cache-and-track mode: (signal_mass,signal_time,bkg_mass,bkg_time)
 **********
 **   13 **MIGRAD        3500           1
 **********
 FIRST CALL TO USER FUNCTION AT NEW START POINT, WITH IFLAG=4.
 START MIGRAD MINIMIZATION.  STRATEGY  1.  CONVERGENCE WHEN EDM .LT. 1.00e-03
 FCN=-10269.4 FROM MIGRAD    STATUS=INITIATE       82 CALLS          83 TOTAL
                     EDM= unknown      STRATEGY= 1      NO ERROR MATRIX       
  EXT PARAMETER               CURRENT GUESS       STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  Nbkg         2.00000e+03   4.00000e+02   0.00000e+00  -6.39502e+02
   2  Nsig         2.00000e+03   4.00000e+02   0.00000e+00   6.39499e+02
   3  bkg_lifetime   1.85261e-01   3.00000e-01   0.00000e+00   1.71667e+03
   4  bkg_mass_p1  -1.00000e+00   2.00000e-01   0.00000e+00  -4.58069e+02
   5  signal_lifetime   1.03428e+00   5.00000e-01  -6.26470e-01  -3.57330e+02
   6  signal_mass_mean   5.35000e+03   1.00000e+01   0.00000e+00  -6.10409e+03
   7  signal_mass_sigma   1.00000e+01   2.00000e+00   0.00000e+00  -1.58195e+03
                               ERR DEF= 0.5
 MIGRAD MINIMIZATION HAS CONVERGED.
 MIGRAD WILL VERIFY CONVERGENCE AND ERROR MATRIX.
 COVARIANCE MATRIX CALCULATED SUCCESSFULLY
 FCN=-11873.1 FROM MIGRAD    STATUS=CONVERGED     391 CALLS         392 TOTAL
                     EDM=8.11755e-05    STRATEGY= 1      ERROR MATRIX ACCURATE 
  EXT PARAMETER                                   STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  Nbkg         2.97611e+03   5.74700e+01   2.43066e-03   1.87243e-01
   2  Nsig         1.02426e+03   3.67630e+01   1.52432e-03   7.82167e-02
   3  bkg_lifetime   1.52280e-01   3.04759e-03   3.44576e-04   1.27641e-01
   4  bkg_mass_p1  -1.00320e+00   1.98163e-03   1.49699e-04  -1.87565e+00
   5  signal_lifetime   1.51781e+00   5.31784e-02   1.68148e-03   4.68081e-02
   6  signal_mass_mean   5.36596e+03   1.87963e-01   2.98124e-04   7.20335e-01
   7  signal_mass_sigma   5.22133e+00   1.38456e-01   1.17591e-03   3.02719e-01
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  7    ERR DEF=0.5
  3.304e+03 -3.270e+02  1.148e-02  6.860e-03  4.105e-01  1.080e-01 -4.296e-01 
 -3.270e+02  1.352e+03 -1.148e-02 -6.865e-03 -4.108e-01 -1.081e-01  4.303e-01 
  1.148e-02 -1.148e-02  9.288e-06  2.371e-07  1.119e-05  8.141e-06 -3.455e-05 
  6.860e-03 -6.865e-03  2.371e-07  3.927e-06  8.631e-06 -1.111e-05 -8.782e-06 
  4.105e-01 -4.108e-01  1.119e-05  8.631e-06  2.828e-03  1.227e-04 -4.818e-04 
  1.080e-01 -1.081e-01  8.141e-06 -1.111e-05  1.227e-04  3.533e-02 -7.288e-04 
 -4.296e-01  4.303e-01 -3.455e-05 -8.782e-06 -4.818e-04 -7.288e-04  1.917e-02 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4      5      6      7
        1  0.19828   1.000 -0.155  0.066  0.060  0.134  0.010 -0.054
        2  0.27416  -0.155  1.000 -0.102 -0.094 -0.210 -0.016  0.085
        3  0.14294   0.066 -0.102  1.000  0.039  0.069  0.014 -0.082
        4  0.12852   0.060 -0.094  0.039  1.000  0.082 -0.030 -0.032
        5  0.24776   0.134 -0.210  0.069  0.082  1.000  0.012 -0.065
        6  0.04754   0.010 -0.016  0.014 -0.030  0.012  1.000 -0.028
        7  0.12921  -0.054  0.085 -0.082 -0.032 -0.065 -0.028  1.000
 **********
 **   18 **HESSE        3500
 **********
 COVARIANCE MATRIX CALCULATED SUCCESSFULLY
 FCN=-11873.1 FROM HESSE     STATUS=OK             50 CALLS         442 TOTAL
                     EDM=8.11949e-05    STRATEGY= 1      ERROR MATRIX ACCURATE 
  EXT PARAMETER                                INTERNAL      INTERNAL  
  NO.   NAME      VALUE            ERROR       STEP SIZE       VALUE   
   1  Nbkg         2.97611e+03   5.74768e+01   4.86132e-04   5.09859e-01
   2  Nsig         1.02426e+03   3.67706e+01   3.04863e-04  -5.09650e-01
   3  bkg_lifetime   1.52280e-01   3.04781e-03   1.37830e-05  -1.11630e+00
   4  bkg_mass_p1  -1.00320e+00   1.98202e-03   5.98798e-06  -3.20056e-03
   5  signal_lifetime   1.51781e+00   5.31875e-02   6.72590e-05  -4.03756e-01
   6  signal_mass_mean   5.36596e+03   1.87972e-01   5.96248e-05   3.24960e-01
   7  signal_mass_sigma   5.22133e+00   1.38472e-01   2.35182e-04  -4.98225e-01
                               ERR DEF= 0.5
 EXTERNAL ERROR MATRIX.    NDIM=  25    NPAR=  7    ERR DEF=0.5
  3.305e+03 -3.279e+02  1.152e-02  6.922e-03  4.119e-01  1.078e-01 -4.321e-01 
 -3.279e+02  1.352e+03 -1.152e-02 -6.922e-03 -4.119e-01 -1.078e-01  4.321e-01 
  1.152e-02 -1.152e-02  9.289e-06  2.392e-07  1.122e-05  8.130e-06 -3.473e-05 
  6.922e-03 -6.922e-03  2.392e-07  3.928e-06  8.705e-06 -1.120e-05 -8.868e-06 
  4.119e-01 -4.119e-01  1.122e-05  8.705e-06  2.829e-03  1.224e-04 -4.845e-04 
  1.078e-01 -1.078e-01  8.130e-06 -1.120e-05  1.224e-04  3.533e-02 -7.673e-04 
 -4.321e-01  4.321e-01 -3.473e-05 -8.868e-06 -4.845e-04 -7.673e-04  1.918e-02 
 PARAMETER  CORRELATION COEFFICIENTS  
       NO.  GLOBAL      1      2      3      4      5      6      7
        1  0.19885   1.000 -0.155  0.066  0.061  0.135  0.010 -0.054
        2  0.27485  -0.155  1.000 -0.103 -0.095 -0.211 -0.016  0.085
        3  0.14343   0.066 -0.103  1.000  0.040  0.069  0.014 -0.082
        4  0.12952   0.061 -0.095  0.040  1.000  0.083 -0.030 -0.032
        5  0.24840   0.135 -0.211  0.069  0.083  1.000  0.012 -0.066
        6  0.04851   0.010 -0.016  0.014 -0.030  0.012  1.000 -0.029
        7  0.13007  -0.054  0.085 -0.082 -0.032 -0.066 -0.029  1.000
[#1] INFO:Minization -- RooMinuit::optimizeConst: deactivating const optimization
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 49
RooMCStudy: now generating 3949 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 48
RooMCStudy: now generating 4011 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 47
RooMCStudy: now generating 3976 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 46
RooMCStudy: now generating 4015 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 45
RooMCStudy: now generating 3961 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 44
RooMCStudy: now generating 4029 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 43
RooMCStudy: now generating 4078 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 42
RooMCStudy: now generating 4165 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 41
RooMCStudy: now generating 4084 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 40
RooMCStudy: now generating 3947 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 39
RooMCStudy: now generating 4033 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 38
RooMCStudy: now generating 3910 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 37
RooMCStudy: now generating 3917 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 36
RooMCStudy: now generating 3879 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 35
RooMCStudy: now generating 4056 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 34
RooMCStudy: now generating 4050 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 33
RooMCStudy: now generating 3990 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 32
RooMCStudy: now generating 4031 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 31
RooMCStudy: now generating 3826 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 30
RooMCStudy: now generating 3945 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 29
RooMCStudy: now generating 4042 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 28
RooMCStudy: now generating 3942 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 27
RooMCStudy: now generating 3992 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 26
RooMCStudy: now generating 4145 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 25
RooMCStudy: now generating 4001 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 24
RooMCStudy: now generating 4006 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 23
RooMCStudy: now generating 4053 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 22
RooMCStudy: now generating 4069 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 21
RooMCStudy: now generating 3924 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 20
RooMCStudy: now generating 4073 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 19
RooMCStudy: now generating 4114 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 18
RooMCStudy: now generating 3963 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 17
RooMCStudy: now generating 3977 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 16
RooMCStudy: now generating 3928 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 15
RooMCStudy: now generating 3940 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 14
RooMCStudy: now generating 3948 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 13
RooMCStudy: now generating 4110 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 12
RooMCStudy: now generating 4118 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 11
RooMCStudy: now generating 4014 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 10
RooMCStudy: now generating 3950 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 9
RooMCStudy: now generating 4068 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 8
RooMCStudy: now generating 4087 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 7
RooMCStudy: now generating 4047 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 6
RooMCStudy: now generating 4103 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 5
RooMCStudy: now generating 3984 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 4
RooMCStudy: now generating 3995 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 3
RooMCStudy: now generating 3934 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 2
RooMCStudy: now generating 3865 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 1
RooMCStudy: now generating 4002 events
[#0] PROGRESS:Generation -- RooMCStudy::run: sample 0
RooMCStudy: now generating 4094 events

[#1] INFO:NumericIntegration -- RooRealIntegral::init(pullGauss_Int[signal_lifetimepull]) using numeric integrator RooIntegrator1D to calculate Int(signal_lifetimepull)
[#1] INFO:NumericIntegration -- RooRealIntegral::init(pullGauss_Int[signal_lifetimepull]) using numeric integrator RooIntegrator1D to calculate Int(signal_lifetimepull)
Info in <TCanvas::Print>: png file toystudy1.png has been created
Info in <TCanvas::Print>: png file toystudy2.png has been created

In [10]:
Image('toystudy1.png')


Out[10]:

In [11]:
Image('toystudy2.png')


Out[11]:

In [ ]: