Running GENIE at Nevis
To run the
GENIE Neutrino Monte Carlo
at Nevis, the simplest thing to do is to access the version maintained at
Fermilab
. I recommend against trying to install it on your laptop or in your own work area on the cluster; GENIE requires quite a few external packages, is finicky about those packages' versions, and the complete build/installation process has a number of pitfalls. Even the supposedly pre-configured
lamp
scripts, which are supposed to install all of GENIE's dependencies for you, does not work reliably.
Setting up GENIE
First, set up the Fermilab
UPS
environment:
source /a/share/amsterdam/seligman/microboone/setup_uboone.sh
You can look over the available versions of
GENIE:
ups list -aK+ genie
As of 5-Apr-2017, some of the output of that command includes:
"genie" "v2_12_4" "Linux64bit+2.6-2.12" "debug:e10:r6" ""
"genie" "v2_12_4" "Linux64bit+2.6-2.12" "e10:prof:r6" ""
"genie" "v2_12_2b" "Linux64bit+2.6-2.12" "e10:prof" ""
"genie" "v2_12_2b" "Linux64bit+2.6-2.12" "debug:e10" ""
It appears that tthe latest version of GENIE available at FNAL is v2_12_2b. To set up the environment necessary to run the GENIE programs for that version:
setup genie v2_12_2b -q e10:prof
Note that you don't include the OS version in the
setup command, but you do have to include the "qualifier" to select the options that were used to compile GENIE. Typically you'll just copy the C++ compiler version ("eNN") and you'll want the "prof" version for the fastest execution.
Running GENIE
The GENIE manual is
here
(PDF file). The practical examples start on page 59. Here's the first example, adapted for running at Nevis, and with an argon target. Note that the ν
μ histogram in this flux file is named "numu".
# Create a work area for transient output files
mkdir -p /a/data/westside/seligman/work
cd a/data/westside/seligman/work
# Define variables to point at directories with flux and cross-section files.
export GENIE_FLUXES=/a/data/westside/uboone/flux
export GENIE_XSECS=/a/data/westside/uboone/genie/genie_xsec
# Generate 10,000 numu+Ar events with energies between 0 and 10 GeV
gevgen -n 10000 -p 14 -t 1000180400 -e 0,10 --run 100 \
-f $GENIE_FLUXES/bnb/current/histograms/ub470_r200_bnb_fhc/numode_bnb_470m_r200.root,numu
--seed 2989819 --cross-sections $GENIE_XSECS/v2_12_0/NULL/DefaultPlusMECWithNC/data/gxspl-FNALsmall.xml
Archeology: on 5-Apr-2017, I copied the flux files from
uboonegpvm01.fnal.gov:/uboone/data/flux
, and the GENIE spline files from
https://www.hepforge.org/archive/genie/data/
.
This example is straight from the manual: π
+ on O, with kinetic energy 200 MeV:
gevgen_hadron -n 10000 -p 211 -t 1000080160 -k 0.2 --seed 9839389
What's next?
As described in the GENIE manual, to turn various models on/off you need to generate new spline files. The program for doing that is
gmkspl
, described on page 63 of the manual. You'll want to copy the directory
$GENIE/config/
to your work area, then copy and edit file
EventGeneratorListAssembler.xml
; that revised file will become an input list to
gmkspl
. An possible example (ν
μ on Ar, up to 10 GeV):
gmkspl -p 14 -t 1000180400 -e 10 \
--event-generator-list my-edited-process-list.xml \
--output-cross-sections my-splines.xml
Note that
gmkspl
typically takes several hours to run.