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 |
'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_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 |
'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 | 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 |
'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 | 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 |
'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 | 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 | |