Data products

Data products are classes which can be saved into the art ROOT output file. But, more importantly, they are the means by which a module can learn the result of other modules. In this sense, data products are a communication protocol between modules. A module which understand this protocol gains access to the complete set of LArSoft results. This does not have to be limited to art modules: any program which understands this protocol can in principle gain the same wide access. A module with this knowledge and, in addition, the ability to use LArSoft service providers, gains an access equivalent to any “native” module.

Currently, most of the data products are defined in the larsoftobj UPS products (larcoreobj, lardataobj, larsimobj, and nutools‘s nusimdata).

LArSoft provides a collection of essential data products, organized in simulation, detector output, reconstruction and analysis data. Users can define their own additional data products to complement the information, but these become part of the protocol only when accepted in LArSoft. In addition, it is possible to express connections between data products through associations.

We provide here a list of the most relevant and commonly used data products; almost all of them are stored in collections (for example, sim::SimChannels, raw::RawDigit and recob::Wire are all stored in C++ vectors, with each element describing an individual TPC readout channel).

Simulation

Particle generation:

simb::MCTruth
the interaction generated by event generators like GENIE, Corsika, etc.; usually, one for each generator
simb::MCFlux
the flux of particles toward the detector (neutrinos from the beam, cosmic rays, etc.); usually, one for every simb::MCTruth
simb::MCParticle
a single generated particle, either by an event generator (GENIE, Corsika, …) or by the detector simulation (GEANT4)

Detector simulation:

sim::SimChannel
the electrons deposited on one TPC readout channel, as function of time, and connected to the generated particle which produced them
sim::SimPhotons
the photons reaching one optical detector readout channel
sim::SimPhotonsLite
the count of photons reaching one optical detector readout channel as function of time

Particles as observed in the detector, useful to characterize the efficiency of reconstruction algorithms:

sim::MCHit
charge from a single particle seen by a TPC readout channel
sim::MCTrack
the observable energy deposit coming from a single particle
sim::MCShower
the observable energy deposit coming from a electromagnetic shower of particles

Detector output

These data products originate either from simulation or from the actual output from the detectors, and are the merging point between simulation and real data.

Beam status:

raw::BeamInfo
beam status data
sumdata::POTSummary
Protons On Target information (stored once per run)

Detector readout:

raw::RawDigit
digitized signal on a TPC readout channel as function of time
raw::OpDetWaveform
digitized signal on a optical detector channel as function of time
raw::AuxDetDigit
digitized signal on a channel from an auxiliary detector as function of time

Triggering:

raw::Trigger
a single trigger
raw::ExternalTrigger
a single trigger from a source external to the TPC

Reconstruction

Single channel reconstruction (1-D)

recob::Wire
calibrated signal from a TPC readout channel (the name is misleading!)
recob::Hit
signal from a single charge cluster on a TPC channel
recob::OpHit
single from a scintillation event on a optical detector readout channel

Planar reconstruction (channels lying on the same plane and same TPC, 2-D)

recob::Cluster
projection of a particle energy deposit on a single view, as a set of geometrically related hits
recob::EndPoint2D
point on a TPC view pinning an extreme of a cluster

Physics object reconstruction (3-D; can span multiple TPC volumes)

recob::SpacePoint
point reconstructed in the cryostat volume
recob::Vertex
point representing an interesting physics reaction (e.g., decay, creation, emission of a δ ray)
reco::Cluster3D
cluster of geometrically related, reconstructed space points
recob::Track
a particle manifesting with a track-like trajectory (e.g. from muons, protons, etc.)
recob::Shower
a particle manifesting as a cascade of daugghter particles (e.g. from electrons and photons)
recob::PCAxis
3-D axis as extracted by a principal component analysis
recob::Seed
a short 3-D segment, useful to start tracking
recob::OpFlash
a scintillation flash reconstructed with the optical detector data

Global reconstruction:

recob::PFParticle
a reconstructed particle as member of a hierarchy describing the evolution in time of a physics event (particle flow)
recob::Event
identification of a single physics event (as opposed to the readout/art event)

Analysis

These data products describe the results of data analysis. Some of them are still borderline with reconstruction:

anab::Calorimetry
energy of a reconstructed physics object
anab::FlashMatch
connection between a light flash and a physics event in the TPC
anab::T0
the time an interaction happened in the detector (commonly called t0)
anab::CosmicTag
hypothesis on the nature of a physics object as a cosmic ray
anab::MVAPIDResult
particle identification output from a multivariate analysis
anab::ParticleID
particle identification hypothesis