These tutorials illustrate the main features of RooFit: the name of the examples and their short description help in figuring out their objective.
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 | 
      | |
| 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 | 
      | |
| 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_latextables.C | 
     Data and categories: latex printing of lists and sets of RooArgSets  | |
| file | rf407_latextables.py | 
     Data and categories: latex printing of lists and sets of RooArgSets  | |
| 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 | 
      | |
| 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 | 
      | |
| file | rf509_wsinteractive.C | 
     Organization and simultaneous fits: easy interactive access to workspace contents - CINT to CLING code migration  | |
| file | rf509_wsinteractive.py | 
     Organization and simultaneous fits: easy interactive access to workspace contents - CINT to CLING code migration  | |
| file | rf510_wsnamedsets.C | 
     Organization and simultaneous fits: working with named parameter sets and parameter snapshots in workspaces  | |
| file | rf510_wsnamedsets.py | 
      | |
| 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 | 
      | |
| 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 | 
      | |
| file | rf602_chi2fit.C | 
     Likelihood and minimization: setting up a chi^2 fit to a binned dataset  | |
| file | rf602_chi2fit.py | 
      | |
| file | rf603_multicpu.C | 
     Likelihood and minimization: setting up a multi-core parallelized unbinned maximum likelihood fit  | |
| file | rf603_multicpu.py | 
     Likelihood and minimization: setting up a multi-core parallelized unbinned maximum likelihood fit  | |
| 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 | 
      | |
| file | rf606_nllerrorhandling.C | 
     Likelihood and minimization: understanding and customizing error handling in likelihood evaluations  | |
| file | rf606_nllerrorhandling.py | 
      | |
| 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 | 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 | 
      | |
| 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  | |