You are here


The Toolkit for Multivariate Data Analysis with ROOT (TMVA) is a ROOT-integrated project providing a machine learning environment for the processing and evaluation of multivariate classification, both binary and multi class, and regression techniques targeting applications in high-energy physics. The package includes:

  • Neural networks
    • Deep networks
    • Multilayer perceptron
  • Boosted/Bagged decision trees
  • Function discriminant analysis (FDA)
  • Linear discriminant analysis (H-Matrix and Fisher discriminants)
  • Multidimensional probability density estimation (PDE - range-search approach)
  • Multidimensional k-nearest neighbour classifier
  • Predictive learning via rule ensembles (RuleFit)
  • Projective likelihood estimation (PDE approach)
  • Rectangular cut optimisation
  • Support Vector Machine (SVM)


Online examples of how to use TMVA in both Python and C++ can be found at In particular

  • C++
  • Python
    • DNN. How to train a deep neural network with the TMVA backend.
    • Keras with tmva. Define a keras model and train through TMVA.
    • Jupyter integration. Shows functionality available in Jupyter notebooks. On your local machine you can start a jupyter notebook with root -l --notebook.

There are also tutorials available with your ROOT distribution at $ROOTSYS/tutorials/tmva where $ROOTSYS is the path to your ROOT installation.


  • For an expanded introduction to TMVA, check the executive summary.
  • TMVA comes with a very good user guide for in-depth usage and information.
  • A quick start to quickly get up and running can be found here
  • For further questions, you are welcome to contact us through the ROOT forum.