Reco_Tree - DUNE/dune-tms GitHub Wiki

Reco_Tree TTree

The Reco_Tree contains reconstructed track-level and hit-level information produced from the TMS detector simulation and reconstruction chain. It is indexed entry-by-entry with Truth_Info and Line_Candidates.

This tree is the primary output for analysis of:

  • Reconstructed muon tracks
  • Hit distributions and clusters
  • Kalman-based fit positions
  • Energy and length estimates

⚠️Important note - Length is actually areal density, which is density times distance traveled, in g/cm^2.


🗂️ Event and Slice Metadata

Branch Description
EventNo Global event number
SpillNo Beam spill identifier
SliceNo Index of the reconstructed time slice within the spill
TimeSliceStartTime Start time (ns) of the slice
TimeSliceEndTime End time of the slice

🚶 Reconstructed Tracks

Each entry in this tree corresponds to one reconstructed slice, which may contain multiple tracks.

Branch Description
nTracks Number of reconstructed tracks in this slice
nHits[nTracks] Number of hits assigned to each track
Length[nTracks] Reconstructed projected track areal density
Length_3D[nTracks] Reconstructed 3D track areal density
Charge[nTracks] Reconstructed track charge (sign)
Momentum[nTracks] Momentum estimate (MeV)
EnergyRange[nTracks] Energy estimated from range
EnergyDeposit[nTracks] Total energy deposited along the track

🧭 Track Geometry and Direction

Branch Description
StartPos[nTracks][3] Reconstructed start position (X, Y, Z)
EndPos[nTracks][3] Reconstructed end position
StartDirection[nTracks][3] Unit vector of initial direction
Direction[nTracks][3] Average or global direction vector
EndDirection[nTracks][3] Unit vector of final direction

📍 Hit Information

Branch Description
TrackHitPos[nTracks][200][3] Position (X, Y, Z) of each hit in the track
TrackHitEnergies[nTracks][200] Energy deposited at each hit point

🔁 Kalman Filter Track Fit

Kalman filtering is used to iteratively refine track fits across planes and modules.

Branch Description
nKalmanNodes[nTracks] Number of Kalman fit nodes for the track
KalmanPos[nTracks][200][3] Kalman-smoothed position estimates (X, Y, Z)
KalmanTruePos[nTracks][200][3] If available: matched truth positions at Kalman nodes (for validation)

🧱 Track-Plane Mapping

These branches store bar/view/plane associations for track start, end, and all Kalman nodes.
Each [3] corresponds to bar, view, and plane.

Branch Description
RecoTrackKalmanFirstPlaneBarView[nTracks][3] Bar/view/plane of first Kalman node
RecoTrackKalmanLastPlaneBarView[nTracks][3] Same for last Kalman node
RecoTrackKalmanPlaneBarView[nTracks][200][3] Bar/view/plane at each Kalman node
RecoTrackKalmanFirstPlaneBarViewTrue[nTracks][3] Truth-matched first Kalman bar/view/plane
RecoTrackKalmanLastPlaneBarViewTrue[nTracks][3] Truth-matched last Kalman node
RecoTrackKalmanPlaneBarViewTrue[nTracks][200][3] Truth-matched values per node (for debugging/truth comparison)

📌 Notes

  • Use in conjunction with Truth_Info to evaluate track truth-matching, energy reconstruction, and pileup rejection.