Running NUISANCE at Nevis
NUISANCE
is a tool for comparing the output of different neutrino event generators, including
GENIE
,
NuWro
, and
GiBUU
.
Super-quick guide to running NUISANCE
Start from a clean login environment (no packages set up via
module load
or FNAL UPS). Use the following command:
source /nevis/amsterdam/share/seligman/microboone/nuisance/setup_nuisance.sh
Advice: Do not treat
setup_nuisance.sh
as a "mysterious black box" that does everything for you. Almost certainly as you work with NUISANCE you will have to adjust things to suit your task.
Assume you've run GENIE to generate events; e.g., the following will generate 100 1
GeV ν
μ on Ar
40 events. The output will be in
gntp.0.ghep.root
.
gevgen -n 100 -p 14 -t 1000180400 -e 1 --run 100 \
-f ${XSEC_PKG_DATA}/uB-flux.root,numu \
--seed 2989819 --cross-sections $GXMLPATH/gxspl-FNALsmall.xml \
--event-generator-list Default
NUISANCE requires that GENIE files get additional processing, using similar options used for the GENIE run; e.g., to process the output of the above
gevgen
command:
PrepareGENIE -i gntp.0.ghep.root -f ${XSEC_PKG_DATA}/uB-flux.root,numu -t 1000180400
Note that the
PrepareGENIE
command requires the same flux file and target(s) used to run GENIE.
PrepareGENIE
will modify
gntp.0.ghep.root
with additional spline information, so it needs write access to the file.
Now the NUISANCE commands can be used on the modified GENIE output file; e.g.,
nuisflat -i gntp.0.ghep.root -o nuisance-output.root
What next?
Consult the following for more information about running the event generators and NUISANCE.
Warning: Ignore the instructions on how to install packages. Getting a consistent set of software packages in this suite (ROOT, GENIE, NuWro, GiBUU, NUISANCE) to compile and execute is a non-trivial task, and the installation directions in the following documents do not give all the steps necessary.
If you have to recompile any of the above packages, I suggest starting with the
setup_nuisance.sh
script.
WilliamSeligman included comments that indicate the differences between compiling the packages according to the directions and what's actually required. Note that if you recompile GENIE, you must also recompile NUISANCE since it calls GENIE routines directly.
Where to find things
Software |
Location |
ROOT |
Set up by module load root |
libxml2 |
Installed as part of Scientific Linux 6 |
log4cpp |
Installed as part of Scientific Linux 6 |
LHAPDF |
Installed as part of Scientific Linux 6 |
PYTHIA6 |
/usr/nevis/pythia6/v6_428/ |
GENIE |
${XSEC_PKG_DIR}/genie |
NuWro |
${XSEC_PKG_DIR}/nuwro |
GiBUU |
${XSEC_PKG_DIR}/GiBUU |
NUISANCE |
${XSEC_PKG_DIR}/nuisance |
GENIE also requires spline files which, in the configuration set up by
setup_nuisance.sh
, are stored in
${XSEC_PKG_DATA}
. That location and
${XSEC_PKG_DIR}
are defined in
setup_nuisance.sh
.