-
Notifications
You must be signed in to change notification settings - Fork 2
Output File Contents
Last revised: 2026-06-16
This page summarizes the ROOT trees written by dune-tms reconstruction output. Branch names below were checked against src/TMS_TreeWriter.cpp.
dune-tms generally follows CLHEP-style conventions:
- positions/distances: usually mm
- energies and momenta: usually MeV
- 4-vectors: usually
[x, y, z, t]for positions and[px, py, pz, E]for momenta - track
Length/Length_3D: areal density, not plain geometric length, ing/cm^2
In Reco_Tree, time appears explicitly in TimeSliceStartTime and TimeSliceEndTime, and implicitly as the 4th component of the stored four-position arrays such as StartPos, EndPos, and TrackHitPos.
Some timing branches come from different parts of the reconstruction/readout chain. Check the producing code if exact timing units matter for a precision study.
Running ConvertToTMSTree.exe produces a TMS reconstruction ROOT file. The exact filename depends on the command/output path, but historical examples often look like:
*_TMS_RecoCandidates_Hough_Cluster1.root
The main trees are:
| Tree | Page | Purpose |
|---|---|---|
Reco_Tree |
Reco_Tree | Reconstructed 3D tracks, track-hit information, charge/momentum/range estimates, Kalman information |
Truth_Spill |
Truth_Spill | Authoritative spill-level particle and vertex truth table |
Truth_Info |
Truth_Info | Slice/reco-associated truth summaries, especially matching reconstructed tracks back to Truth_Spill particles |
Line_Candidates |
Line_Candidates | Lower-level Hough line, cluster, and hit-candidate reconstruction information |
Metadata |
Metadata |
dune-tms version, geometry tag/commit, geometry counts, fiducial bounds |
Use Reco_Tree.
This is the main analysis tree for reconstructed TMS tracks: start/end positions, hit positions, energy estimates, charge, momentum, Kalman nodes, and time-slice boundaries.
Use Truth_Spill.
Truth_Spill is the authoritative place for full particle-by-particle and vertex-by-vertex truth. It stores nTrueParticles, particle PDG, TrackId, Parent, VertexID, ParticleRunNo, VertexGlobalID, birth/death positions, TMS/LAr boundary information, path lengths, fiducial flags, and the TrueVtx* vertex table.
Use Truth_Info, but only as the bridge between reconstruction and spill truth.
The important branches are things like:
RecoTrackPrimaryParticleIndexRecoTrackSecondaryParticleIndexRecoTrackTrueVisibleEnergyRecoTrackPrimaryParticleTrueVisibleEnergyRecoTrackSecondaryParticleTrueVisibleEnergy
The particle indices point into the Truth_Spill particle arrays for the same spill. New analyses should avoid relying on duplicated particle-truth payloads in Truth_Info; use Truth_Spill for the full particle record.
Use Line_Candidates.
This tree is useful for studying Hough lines, per-view candidates, clusters, and reconstructed hits before they are combined into the higher-level Reco_Tree tracks.
Use Metadata.
This tree records dune-tms version numbers, geometry git tag/branch/commit, number of scintillator/steel planes, and TMS fiducial boundaries.
Reco_Tree, Truth_Info, and Line_Candidates are filled for reconstructed events/time slices.
Truth_Spill is filled at the spill level. It includes:
-
TruthInfoIndex: index of the corresponding firstTruth_Infoentry -
TruthInfoNSlices: number ofTruth_Infoslices associated with that spill
Use these branches when connecting spill-level truth to slice-level reconstructed quantities.
For human-facing/event-level use, top-level RunNo is normalized so rock-style offsets are removed when present.
For stable truth provenance, use the raw per-particle/per-vertex run branches in Truth_Spill:
ParticleRunNoTrueVtxRunNoVertexGlobalIDTrueVtxGlobalID
VertexGlobalID is built from ParticleRunNo and VertexID. TrueVtxGlobalID is built from TrueVtxRunNo and TrueVtxID.
Some workflows may also produce readout-level ROOT files, historically named like:
*_TMS_Readout.root
This page currently focuses on the reconstruction output written by TMS_TreeWriter. Readout-output documentation should be added separately after checking TMS_ReadoutTreeWriter.