GENIE (Generates Events for Neutrino Interaction Experiments) is a universal object-oriented neutrino MC generator supported and developed by an international collaboration of scientists whose expertise covers a very broad range of neutrino physics aspects, both phenomenological and experimental. GENIE is currently being used by T2K, NOvA, MINERvA​, MicroBooNE, ArgoNEUT, LAGUNA-LBNO, LBNE, INO, IceCUBE, NESSiE and others. ​

​ ​GENIE has many notable features:
  • An extensible, object-oriented core framework written in C++.
  • It leverages existing HEP software packages like ROOT​LHAPDF​, and PYTHIA.
  • Abstract interfaces decouple neutrino interaction physics modeling from experiment specific inputs (flux, geometry navigation).
  • A highly portable XML format (the so-called “cross-section spline”) for specifying the event cross-sections and process types.
  • Easy detector geometry integration via ROOT exactly compatible with GEANT.
  • A flux driver capable of simulating neutrino beams in arbitrary functional forms in addition to sampling one-dimensional histograms or multi-dimensional ntuples. ​
  • A very broad energy coverage: GENIE strives to simulate all relevant interaction processes for any nucleus.
  • Reweighting machinery that is heavily used by experiments for systematic error estimation.
  • A strong connection to data: GENIE packages external data, and code for comparisons.
  • Standard facilities for writing event records in a customizable ROOT format, along with a variety of built-in output formats. It is even able to mimic the output format of other, older generators (NeuGen, etc.).
  • A useful built-in library of physics models and a robust configuration system that makes it simple to set up the equivalent of GEANT physics lists.
  • Availability of charged lepton - nucleus and hadron - nucleus generators working in the same physics framework as the neutrino - nucleus generator.
  • Availability of generic event generation applications and of many experiment-specific event generation applications (NuMI experiments, T2K, SK) for the neutrino flux.