These tutorials illustrate the main features of RooFit. A more indepth description of the codes can be found at RooFit User Manual
Explore the tutorials below to discover the main features of RooFit. A more indepth description of the codes can be found at RooFit User Manual
| Tutorial | Description | |
|---|---|---|
| rf101_basics.C | rf101_basics.py | Fitting, plotting, toy data generation on one-dimensional PDFs. | 
| rf102_dataimport.C | rf102_dataimport.py | Importing data from ROOT TTrees and THx histograms. | 
| rf103_interprfuncs.C | rf103_interprfuncs.py | Interpreted functions and PDFs. | 
| rf104_classfactory.C | rf104_classfactory.py | The class factory for functions and pdfs. | 
| rf105_funcbinding.C | rf105_funcbinding.py | Binding ROOT math functions as RooFit functions and pdfs. | 
| rf106_plotdecoration.C | rf106_plotdecoration.py | Adding boxes with parameters, statistics to RooPlots, decorating with arrows, text etc... | 
| rf107_plotstyles.C | rf107_plotstyles.py | Various plotting styles of data, functions in a RooPlot. | 
| rf108_plotbinning.C | rf108_plotbinning.py | Plotting unbinned data with alternate and variable binnings. | 
| rf109_chi2residpull.C | rf109_chi2residpull.py | Calculating chi^2 from histograms and curves in RooPlots, making histogram of residual and pull distributions. | 
| rf110_normintegration.C | rf110_normintegration.py | Normalization and integration of pdfs, construction of cumulative distribution monodimensional functions. | 
| rf111_derivatives.C | rf111_derivatives.py | Numerical 1st,2nd and 3rd order derivatives w.r.t. observables and parameters. | 
| Tutorial | Description | |
|---|---|---|
| rf201_composite.C | rf201_composite.py | Composite pdf with signal and background component. | 
| rf202_extendedmlfit.C | rf202_extendedmlfit.py | Setting up an extended maximum likelihood fit. | 
| rf203_ranges.C | rf203_ranges.py | Fitting and plotting in sub ranges. | 
| rf205_compplot.C | rf205_compplot.py | Options for plotting components of composite pdfs. | 
| rf206_treevistools.C | rf206_treevistools.py | Tools for visualization of RooAbsArg expression trees. | 
| rf207_comptools.C | rf207_comptools.py | Tools and utilities for manipulation of composite objects. | 
| rf208_convolution.C | rf208_convolution.py | One-dimensional numeric convolution. | 
| rf209_anaconv.C | rf209_anaconv.py | decay function pdfs with optional B physics effects (mixing and CP violation). | 
| rf210_angularconv.C | rf210_angularconv.py | Convolution in cyclical angular observables theta. | 
| rf211_paramconv.C | rf211_paramconv.py | Working with a pdf with a convolution operator in terms of a parameter. | 
| Tutorial | Description | |
|---|---|---|
| rf301_composition.C | rf301_composition.py | Multi-dimensional pdfs through composition, e.g. substituting a pdf parameter with a function that depends on other observables. | 
| rf302_utilfuncs.C | rf302_utilfuncs.py | Utility functions classes available for use in tailoring of composite (multidimensional) pdfs. | 
| rf303_conditional.C | rf303_conditional.py | Use of tailored pdf as conditional pdfs.s. | 
| rf304_uncorrprod.C | rf304_uncorrprod.py | Simple uncorrelated multi-dimensional pdfs. | 
| rf305_condcorrprod.C | rf305_condcorrprod.py | Multi-dimensional pdfs with conditional pdfs in product. | 
| rf306_condpereventerrors.C | rf306_condpereventerrors.py | Conditional pdf with per-event errors. | 
| rf307_fullpereventerrors.C | rf307_fullpereventerrors.py | Full pdf with per-event errors. | 
| rf308_normintegration2d.C | rf308_normintegration2d.py | Normalization and integration of pdfs, construction of cumulative distribution functions from pdfs in two dimensions. | 
| rf309_ndimplot.C | rf309_ndimplot.py | Making 2/3 dimensional plots of pdfs and datasets. | 
| rf310_sliceplot.C | rf310_sliceplot.py | Projecting pdf and data slices in discrete observables. | 
| rf311_rangeplot.C | rf311_rangeplot.py | Projecting pdf and data ranges in continuous observables. | 
| rf312_multirangefit.C | rf312_multirangefit.py | Performing fits in multiple (disjoint) ranges in one or more dimensions. | 
| rf313_paramranges.C | rf313_paramranges.py | Working with parametrized ranges to define non-rectangular regions for fitting and integration. | 
| rf314_paramfitrange.C | rf314_paramfitrange.py | Working with parametrized ranges in a fit. This an example of a fit with an acceptance that changes per-event. | 
| rf315_projectpdf.C | rf315_projectpdf.py | Marginizalization of multi-dimensional pdfs through integration. | 
| rf316_llratioplot.C | rf316_llratioplot.py | Using the likelihood ratio technique to construct a signal enhanced one-dimensional projection of a multi-dimensional pdf. | 
| Tutorial | Description | |
|---|---|---|
| rf401_importttreethx.C | rf401_importttreethx.py | Advanced options for importing data from ROOT TTree and THx histograms. | 
| rf402_datahandling.C | rf402_datahandling.py | Tools for manipulation of (un)binned datasets. | 
| rf403_weightedevts.C | rf403_weightedevts.py | Using weights in unbinned datasets. | 
| rf404_categories.C | rf404_categories.py | Working with RooCategory objects to describe discrete variables. | 
| rf405_realtocatfuncs.C | rf405_realtocatfuncs.py | Demonstration of real-->discrete mapping functions. | 
| rf406_cattocatfuncs.C | rf406_cattocatfuncs.py | Demonstration of discrete-->discrete (invertible) functions. | 
| rf407_ComputationalGraphVisualization.C | rf407_ComputationalGraphVisualization.py | Visualing computational graph model before fitting, and latex printing of lists and sets of RooArgSets after fitting. | 
| Tutorial | Description | |
|---|---|---|
| rf501_simultaneouspdf.C | rf501_simultaneouspdf.py | Using simultaneous pdfs to describe simultaneous fits to multiple datasets. | 
| rf502_wspacewrite.C | rf502_wspacewrite.py | Creating and writing a workspace. | 
| rf503_wspaceread.C | rf503_wspaceread.py | Reading and using a workspace. | 
| rf504_simwstool.C | rf504_simwstool.py | Using RooSimWSTool to construct a simultaneous pdf that is built of variations of an input pdf. | 
| rf505_asciicfg.C | rf505_asciicfg.py | Reading and writing ASCII configuration files. | 
| rf506_msgservice.C | rf506_msgservice.py | Tuning and customizing the RooFit message logging facility. | 
| rf508_listsetmanip.C | rf508_listsetmanip.py | RooArgSet and RooArgList tools and tricks. | 
| rf510_wsnamedsets.C | rf510_wsnamedsets.py | Working with named parameter sets and parameter snapshots in workspaces. | 
| rf511_wsfactory_basic.C | rf511_wsfactory_basic.py | Basic use of the 'object factory' associated with a workspace to rapidly build pdfs functions and their parameter components. | 
| rf512_wsfactory_oper.C | rf512_wsfactory_oper.py | Pperator expressions and expression-based basic pdfs in the workspace factory syntax. | 
| rf513_wsfactory_tools.C | rf513_wsfactory_tools.py | RooCustomizer and RooSimWSTool interface in factory workspace tool in a complex standalone B physics example. | 
| Tutorial | Description | |
|---|---|---|
| rf601_intminuit.C | rf601_intminuit.py | Interactive minimization with MINUIT. | 
| rf602_chi2fit.C | rf602_chi2fit.py | Setting up a chi^2 fit to a binned dataset. | 
| rf604_constraints.C | rf604_constraints.py | Fitting with constraints. | 
| rf605_profilell.C | rf605_profilell.py | Working with the profile likelihood estimator. | 
| rf606_nllerrorhandling.C | rf606_nllerrorhandling.py | Understanding and customizing error handling in likelihood evaluations. | 
| rf607_fitresult.C | rf607_fitresult.py | Demonstration of options of the RooFitResult class. | 
| rf608_fitresultaspdf.C | rf608_fitresultaspdf.py | Representing the parabolic approximation of the fit as a multi-variate Gaussian on the parameters of the fitted pdf. | 
| rf609_xychi2fit.C | rf609_xychi2fit.py | Setting up a chi^2 fit to an unbinned dataset with X,Y,err(Y) values (and optionally err(X) values). | 
| rf610_visualerror.C | rf610_visualerror.py | Visualization of errors from a covariance matrix. | 
| rf611_weightedfits.C | Parameter uncertainties for weighted unbinned ML fits. | |
| rf612_recoverFromInvalidParameters.C | rf612_recoverFromInvalidParameters.py | Recover from regions where the function is not defined. | 
| rf619_discrete_profiling.C | rf619_discrete_profiling.py | Switch between multiple models using RooMultiPdf and select the best one with the discrete profiling method. | 
| Tutorial | Description | |
|---|---|---|
| rf701_efficiencyfit.C | rf701_efficiencyfit.py | Unbinned maximum likelihood fit of an efficiency eff(x) function. | 
| rf702_efficiencyfit_2D.C | rf702_efficiencyfit_2D.py | Unbinned maximum likelihood fit of an efficiency eff(x) function to a dataset D(x,cut), cut is a category encoding a selection whose efficiency as function of x should be described by eff(x). | 
| rf703_effpdfprod.C | rf703_effpdfprod.py | Using a product of an (acceptance) efficiency and a pdf as pdf. | 
| rf704_amplitudefit.C | rf704_amplitudefit.py | Using a pdf defined by a sum of real-valued amplitude components. | 
| rf705_linearmorph.C | rf705_linearmorph.py | Linear interpolation between pdf shapes using the 'Alex Read' algorithm. | 
| rf706_histpdf.C | rf706_histpdf.py | Histogram-based pdfs and functions. | 
| rf707_kernelestimation.C | rf707_kernelestimation.py | Using non-parametric (multi-dimensional) kernel estimation pdfs. | 
| rf708_bphysics.C | rf708_bphysics.py | Special decay pdf for B physics with mixing and/or CP violation. | 
| Tutorial | Description | |
|---|---|---|
| rf801_mcstudy.C | rf801_mcstudy.py | Toy Monte Carlo study that perform cycles of event generation and fitting. | 
| rf802_mcstudy_addons.C | RooMCStudy - using separate fit and generator models, using the chi^2 calculator model. Running a biased fit model against an optimal fit. | |
| rf803_mcstudy_addons2.C | RooMCStudy - Using the randomizer and profile likelihood add-on models. | |
| rf804_mcstudy_constr.C | Using RooMCStudy on models with constrains. | |
| Tutorial | Description | |
|---|---|---|
| rf901_numintconfig.C | rf901_numintconfig.py | Configuration and customization of how numeric (partial) integrals are executed. | 
| rf902_numgenconfig.C | rf902_numgenconfig.py | Configuration and customization of how MC sampling algorithms on specific pdfs are executed. | 
| rf903_numintcache.C | rf903_numintcache.py | Caching of slow numeric integrals and parameterization of slow numeric integrals. | 
| Tutorial | Description | |
|---|---|---|
| rf204a_extendedLikelihood.C | rf204a_extendedLikelihood.py | Extended maximum likelihood fit in multiple ranges. | 
| rf204b_extendedLikelihood_rangedFit.C | rf204b_extendedLikelihood_rangedFit.py | This macro demonstrates how to set up a fit in two ranges for plain likelihoods and extended likelihoods. | 
| rf212_plottingInRanges_blinding.C | rf212_plottingInRanges_blinding.py | Plot a PDF in disjunct ranges, and get normalisation right. | 
| rf408_RDataFrameToRooFit.C | rf408_RDataFrameToRooFit.py | Fill RooDataSet/RooDataHist in RDataFrame. | 
| rf409_NumPyPandasToRooFit.py | Convert between NumPy arrays or Pandas DataFrames and RooDataSets. | |
| rf514_RooCustomizer.C | rf514_RooCustomizer.py | Using the RooCustomizer to create multiple PDFs that share a lot of properties, but have unique parameters for each category. As an extra complication, some of the new parameters need to be functions of a mass parameter. | 
| rf515_hfJSON.py | With the HS3 standard, it is possible to code RooFit-Models of any kind as JSON files. In this tutorial, you can see how to code up a (simple) HistFactory-based model in JSON and import it into a RooWorkspace. | |
| rf613_global_observables.C | rf613_global_observables.py | This tutorial explains the concept of global observables in RooFit, and showcases how their values can be stored either in the model or in the dataset. | 
| rf614_binned_fit_problems.C | rf614_binned_fit_problems.py | A tutorial that explains you how to solve problems with binning effects and numerical stability in binned fits. | 
| rf615_simulation_based_inference.py | Use Simulation Based Inference (SBI) in RooFit. | |
| rf616_morphing.C | rf616_morphing.py | Use Morphing in RooFit. | 
| rf617_simulation_based_inference_multidimensional.py | Use Simulation Based Inference (SBI) in multiple dimensions in RooFit. | |
| rf618_mixture_models.py | Use of mixture models in RooFit. | |
| rf709_BarlowBeeston.C | rf709_BarlowBeeston.py | Implementing the Barlow-Beeston method for taking into account the statistical uncertainty of a Monte-Carlo fit template. | 
| rf710_roopoly.C | rf710_roopoly.py | Taylor expansion of RooFit functions using the taylorExpand function with RooPolyFunc. | 
| rf711_lagrangianmorph.C | rf711_lagrangianmorph.py | Morphing effective field theory distributions with RooLagrangianMorphFunc. A morphing function as a function of one coefficient is setup and can be used to obtain the distribution for any value of the coefficient. | 
| rf712_lagrangianmorphfit.C | rf712_lagrangianmorphfit.py | Performing a simple fit with RooLagrangianMorphFunc. A morphing function is setup as a function of three variables and a fit is performed on a pseudo-dataset. | 
Files | |
| file | rf101_basics.C | 
     Basic functionality: fitting, plotting, toy data generation on one-dimensional PDFs.  | |
| file | rf101_basics.py | 
     This tutorial illustrates the basic features of RooFit.  | |
| file | rf102_dataimport.C | 
     Basic functionality: importing data from ROOT TTrees and THx histograms.  | |
| file | rf102_dataimport.py | 
     'BASIC FUNCTIONALITY' RooFit tutorial macro #102 Importing data from ROOT TTrees and THx histograms  | |
| file | rf103_interprfuncs.C | 
     Basic functionality: interpreted functions and PDFs.  | |
| file | rf103_interprfuncs.py | 
     Basic functionality: interpreted functions and pdfs  | |
| file | rf104_classfactory.C | 
     Basic functionality: The class factory for functions and pdfs  | |
| file | rf104_classfactory.py | 
     Basic functionality: the class factory for functions and pdfs  | |
| file | rf105_funcbinding.C | 
     Basic functionality: binding ROOT math functions as RooFit functions and pdfs  | |
| file | rf105_funcbinding.py | 
     'BASIC FUNCTIONALITY' RooFit tutorial macro #105 Demonstration of binding ROOT Math functions as RooFit functions and pdfs  | |
| file | rf106_plotdecoration.C | 
     Basic functionality: adding boxes with parameters, statistics to RooPlots, decorating with arrows, text etc...  | |
| file | rf106_plotdecoration.py | 
     Basic functionality: adding boxes with parameters to RooPlots and decorating with arrows, etc...  | |
| file | rf107_plotstyles.C | 
     Basic functionality: various plotting styles of data, functions in a RooPlot  | |
| file | rf107_plotstyles.py | 
     Basic functionality: demonstration of various plotting styles of data, functions in a RooPlot  | |
| file | rf108_plotbinning.C | 
     Basic functionality: plotting unbinned data with alternate and variable binnings  | |
| file | rf108_plotbinning.py | 
     Basic functionality: plotting unbinned data with alternate and variable binnings  | |
| file | rf109_chi2residpull.C | 
     Basic functionality: Calculating chi^2 from histograms and curves in RooPlots, making histogram of residual and pull distributions  | |
| file | rf109_chi2residpull.py | 
     'BASIC FUNCTIONALITY' RooFit tutorial macro #109 Calculating chi^2 from histograms and curves in ROOT.RooPlots, making histogram of residual and pull distributions  | |
| file | rf110_normintegration.C | 
     Basic functionality: normalization and integration of pdfs, construction of cumulative distribution monodimensional functions  | |
| file | rf110_normintegration.py | 
     Basic functionality: examples on normalization and integration of pdfs, construction of cumulative distribution functions from monodimensional pdfs  | |
| file | rf111_derivatives.C | 
     Basic functionality: numerical 1st,2nd and 3rd order derivatives w.r.t.  | |
| file | rf111_derivatives.py | 
     Basic functionality: numerical 1st, and 3rd order derivatives w.r.t.  | |
| file | rf201_composite.C | 
     Addition and convolution: composite pdf with signal and background component  | |
| file | rf201_composite.py | 
     Addition and convolution: composite pdf with signal and background component  | |
| file | rf202_extendedmlfit.C | 
     Setting up an extended maximum likelihood fit.  | |
| file | rf202_extendedmlfit.py | 
     Addition and convolution: setting up an extended maximum likelihood fit  | |
| file | rf203_ranges.C | 
     Fitting and plotting in sub ranges.  | |
| file | rf203_ranges.py | 
     Addition and convolution: fitting and plotting in sub ranges  | |
| file | rf204a_extendedLikelihood.C | 
     Extended maximum likelihood fit in multiple ranges.  | |
| file | rf204a_extendedLikelihood.py | 
     Extended maximum likelihood fit in multiple ranges.  | |
| file | rf204b_extendedLikelihood_rangedFit.C | 
     This macro demonstrates how to set up a fit in two ranges for plain likelihoods and extended likelihoods.  | |
| file | rf204b_extendedLikelihood_rangedFit.py | 
     This macro demonstrates how to set up a fit in two ranges for plain likelihoods and extended likelihoods.  | |
| file | rf205_compplot.C | 
     Addition and convolution: options for plotting components of composite pdfs.  | |
| file | rf205_compplot.py | 
     Addition and convolution: options for plotting components of composite pdfs.  | |
| file | rf206_treevistools.C | 
     Addition and convolution: tools for visualization of RooAbsArg expression trees  | |
| file | rf206_treevistools.py | 
     Addition and convolution: tools for visualization of ROOT.RooAbsArg expression trees  | |
| file | rf207_comptools.C | 
     Addition and convolution: tools and utilities for manipulation of composite objects  | |
| file | rf207_comptools.py | 
     'ADDITION AND CONVOLUTION' RooFit tutorial macro #207 Tools and utilities for manipulation of composite objects  | |
| file | rf208_convolution.C | 
     Addition and convolution: one-dimensional numeric convolution  | |
| file | rf208_convolution.py | 
     'ADDITION AND CONVOLUTION' RooFit tutorial macro #208 One-dimensional numeric convolution (require ROOT to be compiled with –enable-fftw3)  | |
| file | rf209_anaconv.C | 
     Addition and convolution: decay function pdfs with optional B physics effects (mixing and CP violation)  | |
| file | rf209_anaconv.py | 
     Addition and convolution: decay function pdfs with optional B physics effects (mixing and CP violation) that can be analytically convolved with e.g.  | |
| file | rf210_angularconv.C | 
     Addition and convolution: convolution in cyclical angular observables theta  | |
| file | rf210_angularconv.py | 
     Convolution in cyclical angular observables theta, and construction of p.d.f in terms of transformed angular coordinates, e.g.  | |
| file | rf211_paramconv.C | 
     Addition and convolution: working with a pdf with a convolution operator in terms of a parameter  | |
| file | rf211_paramconv.py | 
     'ADDITION AND CONVOLUTION' RooFit tutorial macro #211 Working a with a p.d.f.  | |
| file | rf212_plottingInRanges_blinding.C | 
     Plot a PDF in disjunct ranges, and get normalisation right.  | |
| file | rf212_plottingInRanges_blinding.py | 
     Plot a PDF in disjunct ranges, and get normalisation right.  | |
| file | rf301_composition.C | 
     Multidimensional models: multi-dimensional pdfs through composition e.g.  | |
| file | rf301_composition.py | 
     Multidimensional models: multi-dimensional pdfs through composition, e.g.  | |
| file | rf302_utilfuncs.C | 
     Multidimensional models: utility functions classes available for use in tailoring of composite (multidimensional) pdfs  | |
| file | rf302_utilfuncs.py | 
     Multidimensional models: utility functions classes available for use in tailoring of composite (multidimensional) pdfs  | |
| file | rf303_conditional.C | 
     Multidimensional models: use of tailored pdf as conditional pdfs.s  | |
| file | rf303_conditional.py | 
     'MULTIDIMENSIONAL MODELS' RooFit tutorial macro #303 Use of tailored p.d.f as conditional p.d.fs.s  | |
| file | rf304_uncorrprod.C | 
     Multidimensional models: simple uncorrelated multi-dimensional pdfs  | |
| file | rf304_uncorrprod.py | 
     Multidimensional models: simple uncorrelated multi-dimensional pdfs  | |
| file | rf305_condcorrprod.C | 
     Multidimensional models: multi-dimensional pdfs with conditional pdfs in product  | |
| file | rf305_condcorrprod.py | 
     Multidimensional models: multi-dimensional pdfs with conditional pdfs in product  | |
| file | rf306_condpereventerrors.C | 
     Multidimensional models: conditional pdf with per-event errors  | |
| file | rf306_condpereventerrors.py | 
     Multidimensional models: complete example with use of conditional pdf with per-event errors  | |
| file | rf307_fullpereventerrors.C | 
     Multidimensional models: full pdf with per-event errors  | |
| file | rf307_fullpereventerrors.py | 
     Multidimensional models: usage of full pdf with per-event errors  | |
| file | rf308_normintegration2d.C | 
     Multidimensional models: normalization and integration of pdfs, construction of cumulative distribution functions from pdfs in two dimensions  | |
| file | rf308_normintegration2d.py | 
     Multidimensional models: normalization and integration of pdfs, construction of cumulative distribution functions from pdfs in two dimensions  | |
| file | rf309_ndimplot.C | 
     Multidimensional models: making 2/3 dimensional plots of pdfs and datasets  | |
| file | rf309_ndimplot.py | 
     Multidimensional models: making 2/3 dimensional plots of pdfs and datasets  | |
| file | rf310_sliceplot.C | 
     Multidimensional models: projecting pdf and data slices in discrete observables  | |
| file | rf310_sliceplot.py | 
     Multidimensional models: projecting pdf and data slices in discrete observables  | |
| file | rf311_rangeplot.C | 
     Multidimensional models: projecting pdf and data ranges in continuous observables  | |
| file | rf311_rangeplot.py | 
     Multidimensional models: projecting pdf and data ranges in continuous observables  | |
| file | rf312_multirangefit.C | 
     Multidimensional models: performing fits in multiple (disjoint) ranges in one or more dimensions  | |
| file | rf312_multirangefit.py | 
     Multidimensional models: performing fits in multiple (disjoint) ranges in one or more dimensions  | |
| file | rf313_paramranges.C | 
     Multidimensional models: working with parametrized ranges to define non-rectangular regions for fitting and integration  | |
| file | rf313_paramranges.py | 
     Multidimensional models: working with parameterized ranges to define non-rectangular regions for fitting and integration  | |
| file | rf314_paramfitrange.C | 
     Multidimensional models: working with parametrized ranges in a fit.  | |
| file | rf314_paramfitrange.py | 
     Multidimensional models: working with parameterized ranges in a fit.  | |
| file | rf315_projectpdf.C | 
     Multidimensional models: marginizalization of multi-dimensional pdfs through integration  | |
| file | rf315_projectpdf.py | 
     Multidimensional models: marginizalization of multi-dimensional pdfs through integration  | |
| file | rf316_llratioplot.C | 
     Multidimensional models: using the likelihood ratio technique to construct a signal enhanced one-dimensional projection of a multi-dimensional pdf  | |
| file | rf316_llratioplot.py | 
     Multidimensional models: using the likelihood ratio technique to construct a signal enhanced one-dimensional projection of a multi-dimensional pdf  | |
| file | rf401_importttreethx.C | 
     Data and categories: advanced options for importing data from ROOT TTree and THx histograms  | |
| file | rf401_importttreethx.py | 
     'DATA AND CATEGORIES' RooFit tutorial macro #401  | |
| file | rf402_datahandling.C | 
     Data and categories: tools for manipulation of (un)binned datasets  | |
| file | rf402_datahandling.py | 
     Data and categories: tools for manipulation of (un)binned datasets  | |
| file | rf403_weightedevts.C | 
     Data and categories: using weights in unbinned datasets  | |
| file | rf403_weightedevts.py | 
     'DATA AND CATEGORIES' RooFit tutorial macro #403  | |
| file | rf404_categories.C | 
     Data and categories: working with RooCategory objects to describe discrete variables  | |
| file | rf404_categories.py | 
     Data and categories: working with ROOT.RooCategory objects to describe discrete variables  | |
| file | rf405_realtocatfuncs.C | 
     Data and categories: demonstration of real-->discrete mapping functions  | |
| file | rf405_realtocatfuncs.py | 
     Data and categories: demonstration of real-discrete mapping functions  | |
| file | rf406_cattocatfuncs.C | 
     Data and categories: demonstration of discrete-->discrete (invertible) functions  | |
| file | rf406_cattocatfuncs.py | 
     Data and categories: demonstration of discrete-discrete (invertable) functions  | |
| file | rf407_ComputationalGraphVisualization.C | 
     Data and categories: Visualing computational graph model before fitting, and latex printing of lists and sets of RooArgSets after fitting  | |
| file | rf407_ComputationalGraphVisualization.py | 
     Data and categories: Visualing computational graph model before fitting, and latex printing of lists and sets of RooArgSets after fitting  | |
| file | rf408_RDataFrameToRooFit.C | 
     Fill RooDataSet/RooDataHist in RDataFrame.  | |
| file | rf408_RDataFrameToRooFit.py | 
     Fill RooDataSet/RooDataHist in RDataFrame.  | |
| file | rf409_NumPyPandasToRooFit.py | 
     Convert between NumPy arrays or Pandas DataFrames and RooDataSets.  | |
| file | rf501_simultaneouspdf.C | 
     Organisation and simultaneous fits: using simultaneous pdfs to describe simultaneous fits to multiple datasets  | |
| file | rf501_simultaneouspdf.py | 
     Organization and simultaneous fits: using simultaneous pdfs to describe simultaneous fits to multiple datasets  | |
| file | rf502_wspacewrite.C | 
     Organisation and simultaneous fits: creating and writing a workspace  | |
| file | rf502_wspacewrite.py | 
     Organization and simultaneous fits: creating and writing a workspace  | |
| file | rf503_wspaceread.C | 
     Organisation and simultaneous fits: reading and using a workspace  | |
| file | rf503_wspaceread.py | 
     'ORGANIZATION AND SIMULTANEOUS FITS' RooFit tutorial macro #503  | |
| file | rf504_simwstool.C | 
     Organisation and simultaneous fits: using RooSimWSTool to construct a simultaneous pdf that is built of variations of an input pdf  | |
| file | rf504_simwstool.py | 
     Organization and simultaneous fits: using RooSimWSTool to construct a simultaneous pdf that is built of variations of an input pdf  | |
| file | rf505_asciicfg.C | 
     Organisation and simultaneous fits: reading and writing ASCII configuration files  | |
| file | rf505_asciicfg.py | 
     Organization and simultaneous fits: reading and writing ASCII configuration files  | |
| file | rf506_msgservice.C | 
     Organisation and simultaneous fits: tuning and customizing the RooFit message logging facility  | |
| file | rf506_msgservice.py | 
     Organization and simultaneous fits: tuning and customizing the ROOT.RooFit message logging facility  | |
| file | rf508_listsetmanip.C | 
     Organization and simultaneous fits: RooArgSet and RooArgList tools and tricks  | |
| file | rf508_listsetmanip.py | 
     'ORGANIZATION AND SIMULTANEOUS FITS' RooFit tutorial macro #508  | |
| file | rf510_wsnamedsets.C | 
     Organization and simultaneous fits: working with named parameter sets and parameter snapshots in workspaces  | |
| file | rf510_wsnamedsets.py | 
     'ORGANIZATION AND SIMULTANEOUS FITS' RooFit tutorial macro #510  | |
| file | rf511_wsfactory_basic.C | 
     Organization and simultaneous fits: basic use of the 'object factory' associated with a workspace to rapidly build pdfs functions and their parameter components  | |
| file | rf511_wsfactory_basic.py | 
     Organization and simultaneous fits: basic use of the 'object factory' associated with a workspace to rapidly build pdfs functions and their parameter components  | |
| file | rf512_wsfactory_oper.C | 
     Organization and simultaneous fits: operator expressions and expression-based basic pdfs in the workspace factory syntax  | |
| file | rf512_wsfactory_oper.py | 
     'ORGANIZATION AND SIMULTANEOUS FITS' RooFit tutorial macro #512  | |
| file | rf513_wsfactory_tools.C | 
     Organization and simultaneous fits: RooCustomizer and RooSimWSTool interface in factory workspace tool in a complex standalone B physics example  | |
| file | rf513_wsfactory_tools.py | 
     Organization and simultaneous fits: illustration use of ROOT.RooCustomizer and ROOT.RooSimWSTool interface in factory workspace tool in a complex standalone B physics example  | |
| file | rf514_RooCustomizer.C | 
     Using the RooCustomizer to create multiple PDFs that share a lot of properties, but have unique parameters for each category.  | |
| file | rf514_RooCustomizer.py | 
     Using the RooCustomizer to create multiple PDFs that share a lot of properties, but have unique parameters for each category.  | |
| file | rf515_hfJSON.py | 
     Code HistFactory Models in JSON.  | |
| file | rf601_intminuit.C | 
     Likelihood and minimization: interactive minimization with MINUIT  | |
| file | rf601_intminuit.py | 
     'LIKELIHOOD AND MINIMIZATION' RooFit tutorial macro #601  | |
| file | rf602_chi2fit.C | 
     Likelihood and minimization: setting up a chi^2 fit to a binned dataset  | |
| file | rf602_chi2fit.py | 
     'LIKELIHOOD AND MINIMIZATION' RooFit tutorial macro #602  | |
| file | rf604_constraints.C | 
     Likelihood and minimization: fitting with constraints  | |
| file | rf604_constraints.py | 
     Likelihood and minimization: fitting with constraints  | |
| file | rf605_profilell.C | 
     Likelihood and minimization: working with the profile likelihood estimator  | |
| file | rf605_profilell.py | 
     'LIKELIHOOD AND MINIMIZATION' RooFit tutorial macro #605  | |
| file | rf606_nllerrorhandling.C | 
     Likelihood and minimization: understanding and customizing error handling in likelihood evaluations  | |
| file | rf606_nllerrorhandling.py | 
     'LIKELIHOOD AND MINIMIZATION' RooFit tutorial macro #606  | |
| file | rf607_fitresult.C | 
     Likelihood and minimization: demonstration of options of the RooFitResult class  | |
| file | rf607_fitresult.py | 
     Likelihood and minimization: demonstration of options of the RooFitResult class  | |
| file | rf608_fitresultaspdf.C | 
     Likelihood and minimization: representing the parabolic approximation of the fit as a multi-variate Gaussian on the parameters of the fitted pdf  | |
| file | rf608_fitresultaspdf.py | 
     Likelihood and minimization: representing the parabolic approximation of the fit as a multi-variate Gaussian on the parameters of the fitted pdf  | |
| file | rf609_xychi2fit.C | 
     Likelihood and minimization: setting up a chi^2 fit to an unbinned dataset with X,Y,err(Y) values (and optionally err(X) values)  | |
| file | rf609_xychi2fit.py | 
     Likelihood and minimization: setting up a chi^2 fit to an unbinned dataset with X,Y,err(Y) values (and optionally err(X) values)  | |
| file | rf610_visualerror.C | 
     Likelihood and minimization: visualization of errors from a covariance matrix  | |
| file | rf610_visualerror.py | 
     Likelihood and minimization: visualization of errors from a covariance matrix  | |
| file | rf611_weightedfits.C | 
     Likelihood and minimization: Parameter uncertainties for weighted unbinned ML fits  | |
| file | rf612_recoverFromInvalidParameters.C | 
     Likelihood and minimization: Recover from regions where the function is not defined.  | |
| file | rf612_recoverFromInvalidParameters.py | 
     Likelihood and minimization: Recover from regions where the function is not defined.  | |
| file | rf613_global_observables.C | 
     This tutorial explains the concept of global observables in RooFit, and showcases how their values can be stored either in the model or in the dataset.  | |
| file | rf613_global_observables.py | 
     This tutorial explains the concept of global observables in RooFit, and showcases how their values can be stored either in the model or in the dataset.  | |
| file | rf614_binned_fit_problems.C | 
     A tutorial that explains you how to solve problems with binning effects and numerical stability in binned fits.  | |
| file | rf614_binned_fit_problems.py | 
     A tutorial that explains you how to solve problems with binning effects and numerical stability in binned fits.  | |
| file | rf615_simulation_based_inference.py | 
     Use Simulation Based Inference (SBI) in RooFit.  | |
| file | rf616_morphing.C | 
     Use Morphing in RooFit.  | |
| file | rf616_morphing.py | 
     Use Morphing in RooFit.  | |
| file | rf617_simulation_based_inference_multidimensional.py | 
     Use Simulation Based Inference (SBI) in multiple dimensions in RooFit.  | |
| file | rf618_mixture_models.py | 
     Use of mixture models in RooFit.  | |
| file | rf619_discrete_profiling.C | 
     Basic functionality: demonstrate fitting multiple models using RooMultiPdf and selecting the best one via Discrete Profiling method.  | |
| file | rf619_discrete_profiling.py | 
     Basic functionality: demonstrate fitting multiple models using RooMultiPdf and selecting the best one via Discrete Profiling method.  | |
| file | rf701_efficiencyfit.C | 
     Special pdf's: unbinned maximum likelihood fit of an efficiency eff(x) function  | |
| file | rf701_efficiencyfit.py | 
     Special pdf's: unbinned maximum likelihood fit of an efficiency eff(x) function to a dataset D(x,cut), cut is a category encoding a selection, which the efficiency as function of x should be described by eff(x)  | |
| file | rf702_efficiencyfit_2D.C | 
     Special pdf's: unbinned maximum likelihood fit of an efficiency eff(x) function to a dataset D(x,cut), cut is a category encoding a selection whose efficiency as function of x should be described by eff(x)  | |
| file | rf702_efficiencyfit_2D.py | 
     Special pdf's: unbinned maximum likelihood fit of an efficiency eff(x) function to a dataset D(x,cut), cut is a category encoding a selection whose efficiency as function of x should be described by eff(x)  | |
| file | rf703_effpdfprod.C | 
     Special pdf's: using a product of an (acceptance) efficiency and a pdf as pdf  | |
| file | rf703_effpdfprod.py | 
     Special pdf's: using a product of an (acceptance) efficiency and a pdf as pdf  | |
| file | rf704_amplitudefit.C | 
     Special pdf's: using a pdf defined by a sum of real-valued amplitude components  | |
| file | rf704_amplitudefit.py | 
     Special pdf's: using a pdf defined by a sum of real-valued amplitude components  | |
| file | rf705_linearmorph.C | 
     Special pdf's: linear interpolation between pdf shapes using the 'Alex Read' algorithm  | |
| file | rf705_linearmorph.py | 
     'SPECIAL PDFS' RooFit tutorial macro #705  | |
| file | rf706_histpdf.C | 
     Special pdf's: histogram-based pdfs and functions  | |
| file | rf706_histpdf.py | 
     Special pdf's: histogram based pdfs and functions  | |
| file | rf707_kernelestimation.C | 
     Special pdf's: using non-parametric (multi-dimensional) kernel estimation pdfs  | |
| file | rf707_kernelestimation.py | 
     Special pdf's: using non-parametric (multi-dimensional) kernel estimation pdfs  | |
| file | rf708_bphysics.C | 
     Special pdf's: special decay pdf for B physics with mixing and/or CP violation  | |
| file | rf708_bphysics.py | 
     Special pdf's: special decay pdf for B physics with mixing and/or CP violation  | |
| file | rf709_BarlowBeeston.C | 
     Implementing the Barlow-Beeston method for taking into account the statistical uncertainty of a Monte-Carlo fit template.  | |
| file | rf709_BarlowBeeston.py | 
     Implementing the Barlow-Beeston method for taking into account the statistical uncertainty of a Monte-Carlo fit template.  | |
| file | rf710_roopoly.C | 
     Taylor expansion of RooFit functions using the taylorExpand function with RooPolyFunc  | |
| file | rf710_roopoly.py | 
     Taylor expansion of RooFit functions using the taylorExpand function  | |
| file | rf711_lagrangianmorph.C | 
     Morphing effective field theory distributions with RooLagrangianMorphFunc A morphing function as a function of one coefficient is setup and can be used to obtain the distribution for any value of the coefficient.  | |
| file | rf711_lagrangianmorph.py | 
     Morphing effective field theory distributions with RooLagrangianMorphFunc.  | |
| file | rf712_lagrangianmorphfit.C | 
     Performing a simple fit with RooLagrangianMorphFunc.  | |
| file | rf712_lagrangianmorphfit.py | 
     Performing a simple fit with RooLagrangianMorphFunc  | |
| file | rf801_mcstudy.C | 
     Validation and MC studies: toy Monte Carlo study that perform cycles of event generation and fitting  | |
| file | rf801_mcstudy.py | 
     Validation and MC studies: toy Monte Carlo study that perform cycles of event generation and fitting  | |
| file | rf802_mcstudy_addons.C | 
     Validation and MC studies: RooMCStudy - using separate fit and generator models, using the chi^2 calculator model Running a biased fit model against an optimal fit.  | |
| file | rf803_mcstudy_addons2.C | 
     Validation and MC studies: RooMCStudy - Using the randomizer and profile likelihood add-on models  | |
| file | rf804_mcstudy_constr.C | 
     Validation and MC studies: using RooMCStudy on models with constrains  | |
| file | rf901_numintconfig.C | 
     Numeric algorithm tuning: configuration and customization of how numeric (partial) integrals are executed  | |
| file | rf901_numintconfig.py | 
     Numeric algorithm tuning: configuration and customization of how numeric (partial) integrals are executed  | |
| file | rf902_numgenconfig.C | 
     Numeric algorithm tuning: configuration and customization of how MC sampling algorithms on specific pdfs are executed  | |
| file | rf902_numgenconfig.py | 
     Numeric algorithm tuning: configuration and customization of how MC sampling algorithms on specific pdfs are executed  | |
| file | rf903_numintcache.C | 
     Numeric algorithm tuning: caching of slow numeric integrals and parameterization of slow numeric integrals  | |
| file | rf903_numintcache.py | 
     Numeric algorithm tuning: caching of slow numeric integrals and parameterizations of slow numeric integrals  | |