nuisance is hosted by Hepforge, IPPP Durham


NUISANCE aims to provide a coherent framework for comparing neutrino generators to external data. NUISANCE can also tune cross-section parameters to available data.

Latest validated release : v2r8

Authors: Luke Pickering, Patrick Stowell, Callum Wilkinson, Clarence Wret

Developer mailing list:

The NUISANCE Slack chat: If you want access without a, please email us.

Installing NUISANCE

Documentation on the NUISANCE installation procedure is available here.

We have over 250 cross-section distributions publicly available for GENIE, NuWro, NEUT and GiBUU. For the full list of distributions, please see here.

  • 11 May 2017:
    We've set up a public Github so external users can contribute to the package
  • March 2017:
    There is silence during the T2K cross-section inputs tuning...
  • 22 Jan 2017:
    The NUISANCE overview paper has been published in JINST.
    Thanks everyone for the help and support. Stay tuned for multi-generator tuning papers!
  • 3 Jan 2017:
    We're busy filling the wiki with tutorials and howtos. Check it out in the sidebar!
  • 21 Dec 2016:
    The NUISANCE paper is available on arxiv and has been submitted to JINST
  • 15 Dec 2016:
    NUISANCE v1r0 is validated and released! Check it out by:
    $ git clone -b v1r0


Multiple Generator Inputs

NUISANCE can currently handle inputs from the following generators:

  • NEUT
  • NuWro
  • GiBUU (with third party event converter)
  • NUANCE (Shape-only)
If there is a different generator you would like us to implement please let us know.

Raw Generator Comparisons

The structure of the NUISANCE core classes promotes consistent comparison of different generators by converting each format into a common NUISANCE event format. Tools are included to convert these events into simple 'flat tree' formats that can be analysed with ROOT alone.

Figure 1: Raw Generator comparisons with NUISANCE for the MiniBooNE flux with CC1pi+ final state.
(left) Shape comparison. (right) Normalised cross-section comparison.

Data/MC Comparisons

The NUISANCE tool "nuiscomp" can be used to generate comparisons of any of the different generators supported and any dataset class already implemented into the framework.

Figure 2: Model comparisons with NUISANCE.
(left) MiniBooNE CCQE numu. (right) MINERvA CC1pi numu.

Automated Parameter Tuning

Generator ReWeight dials can be provided to NUISANCE to produce modified cross-section predictions. The "nuismin" application interfaces these reweight dials with ROOT's minimizer libraries to support automated model parameter tuning using various possible parameter estimation routines.

Figure 3: ANL Automated Tuning of the CCQE Axial Mass Parameter in NEUT.
(left) Likelihood Scan. (right) Enu ANL Cross-section Data.

Cross-section Systematic Tools

The NUISANCE tool "nuissyst" is provided to support the study of cross-section systematics for neutrino experiments. Different routines are implemented to validate reweight parameter responses and generate systematic error bands from arbritrary covariance matrices for those parameters.

Figure 4: GENIE MC Toy Throws used to create systematic error bands.
(left) Example 1-sigma reweight dial variations. (right) Likelihood distribution for all toy throws.

Figure 5: GENIE MC Systematic Error Bands for ArgoNeuT anti-neutrino data.
(left) Muon Momentum. (right) Muon Angle.