PPFX project -- to adapt MINERvA's ppfx code to work for LBNF

Checking out and building ppfx

  1. Login to a dunegpvm, e.g. dunegpvm07
  2. Start with a clean environment in which you have not setup any other softare
  3. Make a fresh working area somewhere, e.g. /dune/app/users/<you>/
%  cvs -d co -r v2r0p4 ppfx

If you get permission denied errors you will need to contact Robert Hatcher and ask for read/write access. In the meantime you can still checkout g4numi but will not be able to commit any changes to the repository:
% cvs -d co -r v2r0p4 ppfx

NOTE, we are checking out the MINERvA branch of g4numi from the official repository. One can also checkout the minos and nova branches in a similar way. You have to specify MODE in the setup scripts (OPT for optimized and REF for Reference.). Setup script needs at least one argument to execute.
h2. Build ppfx
Setup scripts and Production scripts for ppfx are written assuming PPFX is installed in the $G4WORKDIR. Assuming ppfx is downloaded in the $G4WORDIR,
% source setups/
% cd ppfx
% source [MODE] (RAL target is OPT, numi style is REF)
% make clean
% make

$G4WORKDIR also contains README_ppfx instruction on getting PPFX flux universes using g4lbnf simulated ntuples. There are instructions in the $G4WORKDIR/ProductionScripts/ in the commented out section to get the interaction map as well.

Validation on Minerva data

To confirm that the modification made on ppfx to make it compatible with g4lbnf, we did the validation using the minerva data. We produced the hadron production uncertainty using minerva fluxes of version v4 with ppfx before and after modification.

Recent PPFX histograms

The Most recent PPFX universes flux histograms used to produce the hadron production uncertainties are at:


The input dk2nu ntuples used to produce those flux histograms are at:


One can produce the flux uncertainty plots by doing:

%python $G4WORKDIR/BeamSimStudies/PPFX/ /pnfs/dune/persistent/users/bashyal8/sept2019_ppfx_plots/name_of_histogram_file.root