The NOvA Offline Workbook

Ramping up to be a highly functional nova offline software developer is a challenge. This page serves as a roadmap for mastering the skills required to use and develop the nova offline software codebase.

Update: In the time since these tutorials were posted, some aspects of the NOvA offline software have changed. If you find any of these instances, please document them in the appropriate section below. If you find a way to work around or correct the problem, please document that as well, prefacing your comment with " Update: ".

Update: New people start here This link has all the most recent tutorial videos available.

Setting Up Fermilab Computing Accounts

Acquiring privileges to use Fermilab computing is a challenge in itself. The following pages can help guide you through the process:

Introduction to NOvASoft

Working with NOvA code is a complicated menagerie of ART, FHiCL (or fcl, pronounced "fickle"), SoftRelTools, SVN and more. The learning curve is steep, but after a few years you start to understand the basics. The following pages can give you an introduction to using these systems.

Introduction to ART and running ART modules

ART is the backbone of the nova offline reconstruction effort. It is a configurable framework that allows plug-and-play modules to be strung together to produce and analyze reconstructed data products.

Data Products and Reconstruction Objects

Once you know about the ART framework, you might start to wonder how we use it. There are many modules and data products that NOvA uses. Evan Niner gave a tutorial in April 2014 about the ones used in NOvA reconstruction.

Using Backtracker

An ART service called BackTracker is a general purpose tool for accessing truth information from simulation.

Using the Event Display

The event display is a great tool for looking at individual data events. It is a root GUI that allows you to browser through events one at a time with the event information displayed in a meaningful way (arranged in the physical coordinates of the detector.) The link below will give you a basic tour through using the event display.

CAF Basics

CAF stands for Common Analysis File. These files contain simple ROOT trees that summarize the offline reconstruction and PID processing. The following pages contain useful information about CAFs:

Using CAFAna

CAFAna is a framework designed for performing oscillation analysis using CAFs. Using it is not mandatory, but it has many tools that make life easy.

Database Basics

NOvA uses databases to store certain information, especially calibration and detector configurations.

Creating and Submitting Grid Jobs


There a lot of common errors that we see recurring on the offline list frequently. The Trouble Shooting and Gotchas page is dedicated to these common failure modes.

Other Assorted Tools and Documentation