nuisance is hosted by Hepforge, IPPP Durham

Getting the Code

There are a number of distribution options for NUISANCE but the most appropriate one depends on your usage.
This can be split into two possibilities:
  • Tuning: Generating comparisons and model tunings to already implemented datasets inside NUISANCE.
  • Development: Adding your own datasets or reweight dials into the framework and recompiling NUISANCE before running.

For just “tuning” cases, for example when working through the NUISANCE tutorials, any download/build method can be used, but if possible distributed binaries (see below) are recommended as these are the easiest to use.

If planning to use NUISANCE for “development” purposes then you will need to be able to recompile NUISANCE against generators of your choice. This is possible in every method EXCEPT the precompiled binaries and the docker client.

The available options are listed in the following sections

Compiling from Source
Usage: Tuning / Development
Requirements: Numerous requirements depending on the specific build options (see build page for more details).

To build NUISANCE from source locally, please see the following page: Building The Code

Singularity/Docker container
Usage: Tuning / Development
Requirements: singularity or docker

A container image for use with singularity or docker was made for NuInt24, containing the GENIE, NuWro, and NEUT generators, example scripts of generating events, and scripts to run NUISANCE on generator output. It contains examples for comparing to data, tuning to data, and comparing generators with flat trees.

Tutorial slides can be found here, and the readme is found on our github.

CernVM File System Release
Usage: Tuning
Requirements: Linux Machine, CernVM File System

This is a common way to access a prebuilt NUISANCE instance on HEP machines. For example the Fermilab gpvm’s all have access to this build. The NUISANCE release is located in the minerva cvmfs area. Don’t worry if you can’t usually see this area when looking in CVMFS on your machine, it just isn’t mounted yet. To setup the NUISANCE CVMFS build please see the following page: NUISANCE CVMFS

Older (unsupported) builds

We additionally provide some pre-built containers and binaries below. However, these are pre-built using an older frozen version of NUISANCE, so newer features and bugfixes won't be supported.

As such we don't recommend using them for physics studies.

We endeavour to update these soon!

NUISANCE Virtual Box
Usage: Tuning / Development
Requirements: Virtual Box

The NUISANCE Virtual Box is a self contained disk image that has everything you need to run NUISANCE with GENIE and NuWro comparisons. This is the recommended way to run NUISANCE for new users on mac or windows who are not familiar with docker. To download and setup the virtual box please see the following page: NUISANCE VirtualBox

NUISANCE Docker Developer
Usage: Tuning / Development
Requirements: root access, Virtual Box + Docker

The NUISANCE Docker Developer image is capable of building NUISANCE on a mac or windows machine by using docker to create a lightweight CentOS7 wrapper shell around your current terminal, avoiding possible build conflicts/requirements that can appear when building locally. This requires a build area to be mounted into the docker image at runtime so that changes to the NUISANCE installation persist after the docker image is closed. This has the advantage that NUISANCE comes precompiled so is ready to use out of the box, but it can also be changed and recompiled if required.

A description of how to setup and use the NUISANCE Docker Developer image can be found at the following page: NUISANCE Docker Developer

NUISANCE Docker Client
Usage: Tuning
Requirements: root access, Virtual Box + Docker

The NUISANCE Docker Client is a simpler docker image to the Developer version that already has NUISANCE pre-built inside the image itself. To use it all that is required is that the folder where Monte Carlo inputs and outputs are saved be mounted into the image at runtime. The disadvantage of this method is any changes to NUISANCE do not persist after the docker image is closed so it can only be used for “Tuning” purposes.

A description of how to setup and use the NUISANCE Docker Client image can be found at the following page: NUISANCE Docker Client

Precompiled Binaries
Usage: Tuning
Requirements: Varies by system, see usage page.

A small number of binaries have been precompiled into self-contained tar balls that allow NUISANCE to be used out of the box.
This is a relatively new option and each build is still being tested. Please direct any issues to
If you experience problems using these binaries that can’t be easily fixed, please try one of the methods above as an alternative.

Descriptions of their usage can be found at the following page: Precompiled Binaries