  Geant4Reweight is an open-source C++ framework that allows users to 1) weight
tracks produced by the GEANT4 particle transport Monte Carlo simulation
according to hadron interaction cross section variations and 2) estimate
uncertainties in GEANT4 interaction models by comparing the simulation's hadron
interaction cross section predictions to data. The ability to weight hadron
transport as simulated by GEANT4 is crucial to the propagation of systematic
uncertainties related to secondary hadronic interactions in current and
upcoming neutrino oscillation experiments, including MicroBooNE, NOvA, and
DUNE, as well as hadron test beam experiments such as ProtoDUNE. We provide
motivation for weighting hadron tracks in GEANT4 in the context of systematic
uncertainty propagation, a description of GEANT4's transport simulation
technique, and a description of our weighting technique and fitting framework
in the momentum range 0--10 GeV/c, which is typical for the hadrons produced by
neutrino interactions in these experiments.
