ToF system sample plots (as of 7/2/19)

ToF reco runs after hit finding. A basic reco chain looks like the following:

Raw data -> RawBeamlineDigit -> BeamlineDigit -> ToF
 (DAQ)         (unpack)         (hit finder)    (reco)
            (BeamlineUnpack)    (CFDHitReco)    (TimeOfFlightReco)

CFDHitReco (or any other hitfinder) runs directly on the unpacked data (RawBeamlineDigits) and produces the found hits (BeamlineDigits), which TimeOfFlightReco turns into ToF objects for each event.
Simple ToF analysis is done by ToFRecoAnalysis.

Use the following fcl to unpack:

#include "beamline2rawdigitjob.fcl" 

source.BeamlineUnpack.ToFChannels: [ [8,"USTOF0"],  [9,"USTOF1"],  [10,"USTOF2"], [11,"USTOF3"],
                                     [12,"DSTOF0"], [13,"DSTOF1"], [14,"DSTOF2"], [15,"DSTOF3"],
                                     [4,"DSTOF4"],  [5,"DSTOF5"],  [6,"DSTOF6"],  [7,"DSTOF7"] ]
#source.BeamlineUnpack.CherenkovChannels: [ [0,"Cherenkov"] ] # optional
source.BeamlineUnpack.UnpackWireChamber: true # for momentum
source.BeamlineUnpack.UnpackTDU: false
source.BeamlineUnpack.UnpackTrigger: true

Note that this fcl is now available in the NOvA art repository as BeamlineUnpackJob.fcl

Use ToFFullRecoJob.fcl or ToFAndWCRecoJob.fcl (for momentum) to produce the reco file.
Note that if you want to use momentum, you currently have to specify the magnet current in the fcl.

A complete unpack, reco, and analysis looks like this:
(Note that as of 7-24 "above unpack fcl" can be changed to BeamlineUnpackJob.fcl)

$ nova -c <above unpack fcl> -s /path/to/data.root

$ nova -c ToFAndWCRecoJob.fcl <or ToFFullRecoJob.fcl> -s beamlinedata.root

$ nova -c ToFRecoAnalysisJob.fcl -s ToFWCReco.root <or ToFReco.root>

$ root -l ToFAnalysis.root # to view

To change parameters, simply make a new fcl, include ToFFullRecoJob.fcl, ToFAndWCRecoJob.fcl, or ToFRecoAnalysisJob.fcl, and set the parameters you want.