Production 5

A place to begin to record our goals for the next production campaign.


  • Switch GENIE CCQE model to using z-expansion instead of dipole axial form factor. Ensure uncertainties are stored in GENIE reweight table
  • Ensure horn current metadata and SpillData object is correctly set at simulation stage. (Previously it was always 'FHC')
  • Fiber brightness bins in the ND
  • Retuned light levels, particularly Cherenkov
  • Change in rock composition
  • Small change in detector geometry (most likely impacts calibration)
  • New average attenuation curves at ND/FD
  • Rock now has MEC but did not in prod3/4.


  • New threshold/shadowing corrections at the ND
  • Calibrating in smaller time periods


  • Early rejection of cosmic rays using deep learning
  • Logical file merging to take advantage of the above
  • TDSlicer
  • Pass through of better incomplete event information in raw2root
  • Fix IFDBSpillInfo to have subrun-level object for horn polarity and other summary information. Configure CVN/NumuEnergy/CAFMaker to make use of the subrun summary rather then determine polarity spill by spill. (The spill-by-spill version sometimes incorrectly decides a file was 0hc if the current monitor was slightly out of sync with the pulser on the first event of the file.)
  • Also fix IFDBSpillInfo to always produce a product--an empty one if necessary--even when there's no spill info.
  • A way to distinguish cosmic overlays in FD MC: maybe fill mc.ncosmic = 1 if there are any hits from cosmic muons in the slice?
  • Add filter to throw away non-NuMI triggers in NuMI stream files. A list of FD NuMI artdaqs where the first event is not a NuMI trigger is attached. (There may be many more files with non-NuMI triggers in NuMI stream files. See nova_conveners mail thread here (listserv login required):;796a327c.18)
  • totally restructure the CAFs to get rid of the vector of vectors of vectors problem. This will involve removing the vertex vector (which only ever has size 0 or 1) and replacing the BPF vector hanging off of the FuzzyK branch with an SRBPFTrack object for each of the three particle types ( i.e. - fuzzy.bpf{muon, pion,proton} ) - This will then (obviously) requires LOTS of changes to caf cuts, vars, and macros but maybe some search and replace will make most of that easy.
  • Make sure to train the new CVN with a mix of cosmics from all periods. See docDB 27779. It appears that in the prod4 CVN, we only trained with period 5 cosmics, meaning CVN never learned about cosmics with low gain data which lead to a population of low ADC events sneaking into the detector.
  • Don't EVER do "incremental" production again...

Speed improvements

  • Early rock filtering in the ND a la cosveto
  • Only overlay the beam spill in FD MC

Next Production Wish List

  • Fix "missing leptons" problem
  • Turn PhotonEvap fix in G4
  • Update to LL tune with Cherenkov fixed
  • Direct stashcache flux file access
  • Reduce memory in PPFX
  • New make_sim_fcl a la Mu2e
  • De-weight the rock events.
  • Add DQ module to numi filtering.