LBNE Far Detector Software Data Model

From DUNE
Jump to navigation Jump to search

This page documents D. Adams attempts to understand the LBNE EDM (event data model), i.e. the classes describing the data share by modules via the event data store and written to event data files.

Simulation

The following table lists the EDM classes used in the simulation.

Class Location Description
MCTruth nutools/SimulationBase ID, PDG ID, status code and starting and ending position and momentum for each input MC particle
MCParticle nutools/SimulationBase ID, PDG ID, status code and starting and ending positions and momenta for each MC particle
SimChannel larsim/Simulation Energy deposited by each MC particle in the volume for each readout channel

Reconstruction

The following table lists the EDM classes used in the reconstruction.

Class Location Description
RawDigit lardata/RawData Raw (convoluted) ADC signals in time slices. Unpack with raw::Decompress in RawData/raw.h
Wire lardata/RecoBase Deconvoluted signal for each channel.
Hit lardata/RecoBase Peaks on wire signals.
Cluster lardata/RecoBase Associated hits in a TPC plane, i.e. 2D tracks. Association to hit.
SpacePoint lardata/RecoBase Space point formed by combining hits from different planes. Association to hit.
Track lardata/RecoBase Trajectory with momentum. Association to space point, hit, cluster
PFParticle lardata/RecoBase Reconstructed particle? Association to cluster, space point, track, seed, vertex.
PFParticle lardata/RecoBase Prticle-flow description of a particle. Used by Pandora.
Vertex lardata/RecoBase Vertex position. Association with PFParticle. Used by Pandora.
Vertex lardata/RecoBase Vertex position. Association with PFParticle. Used by Pandora.
Vertex lardata/RecoBase Vertex position. Association with PFParticle. Used by Pandora.

Plans to update the reconstruction model are described in a talk by Gianluca.

Code browsing

DUNE
Repository
lbnecode Redmine git
LArSoft
Repository
larsoft Redmine LXR
larcore Redmine LXR
lardata Redmine LXR
larevt Redmine LXR
larsim Redmine LXR
larreco Redmine LXR
larana Redmine LXR
...
Supporting products
Repository
art Redmine LXR
nutools Redmine

For more LArSoft links, see the LArSoft core installation page.

Monte Carlo Production for 35 ton

The above data model is used for the MC (Monte Carlo) samples produced for the 35-ton prototype detector. Six different reconstruction paths are followed: standard reconstruction without use of MC, with full cheat that makes extensive use of MC information, cheat using MC only to resolve TPC ambiguities, and fast hit finding. In addition, Pandora is run in standard and disambiguation cheat modes.

The following tables list the reconstruction paths and the types of data products they produce. The name and type can be used to retrieve each data product. The entries in all but the first row are the instance names of producer modules. Details for these are given in the table at the end of this section.

Reconstruction chains without pandora
Path Wire Hit Cluster Track SpacePoint Calorimetry(?)
Standard (no cheat) caldata gaushit, hit35t dbcluster costrk, stitch costrk, stitch calo
Standard full cheat caldata hitcheat clustercheat trackcheat
Standard with disambiguation cheat caldata gaushit, dcheat dbclusterdc costrkdc, stitchdc costrkdc, stitchdc calodc
Fast hit finding plus disambiguation cheat caldata fasthit, fasthitdc
Reconstruction chains with pandora
Path Wire Hit Cluster, See, SpacePoint, PFParticle, Vertex PFParticle
No cheat caldata gaushit, hit35t pandora particlestitcher
Disambiguation cheat caldata gaushit, dcheat pandoradc particlestitcherdc

The next table lists all the producer instances. The first row is the process and the second column provides a link to the top-level fcl file where most of the producer instance names are assigned. The second column gives the names used in lower-level fcl files along with links to those files. The third column gives the names of the producers for the input data. The fourth provides the names of the output data types along with links to the class headers. The last column is the producer class name with a link to its source code.

Reconstruction producers
Nickname Full name(s) Inputs Output types Class
Reco Reco All below
caldata lbne35t_calwire daq (RawDigits) Wire CalWireLBNE10kt_module
gaushit lbne35t_gaushitfinder, gaus_hitfinder caldata Hit GausHitFinder
fasthit lbne35t_fasthitfinder, standard_fasthitfinder caldata Hit RawHitFinder
hitcheat lbne35t_hitcheater, standard_hitcheater caldata, largeant Hit HitCheater
hit35t lbne35t_hitfinder35t gaushit Hit HitFinder35t
fasthitdc lbne35t_disambigcheat, standard_disambigcheat fasthit Hit DisambigCheater
dcheat lbne35t_disambigcheat, standard_disambigcheat gaushit Hit DisambigCheater
dbcluster lbne35t_dbcluster, standard_dbcluster hit35t Cluster DBcluster
dbclusterdc lbne35t_dbcluster, standard_dbcluster dcheat Cluster DBcluster
clustercheat lbne35t_clustercheater, standard_clustercheater hitcheat, largeant Cluster ClusterCheater
costrk lbne35t_cosmictracker, standard_cosmictracker dbcluster SpacePoint, Track CosmicTracker
costrkdc lbne35t_cosmictracker, standard_cosmictracker dbclusterdc SpacePoint, Track CosmicTracker
stitch lbne35t_trackstitcher, standard_trackstitcher costrk Track TrackStitcher
stitchdc lbne35t_trackstitcher, standard_trackstitcher costrkdc Track TrackStitcher
trackcheat lbne35t_trackcheater, standard_trackcheater clustercheat, largeant SpacePoint, Track TrackCheater
calo lbne35t_calomc stitch Calorimetry Calorimetry
calodc lbne35t_calomc stitchdc, mctrutht0dc Calorimetry Calorimetry
pandora lbne35t_pandora hit35t, largeant Cluster, Seed, SpacePoint, PFParticle, Vertex LBNE35tPandora
pandoradc lbne35t_pandora dcheat, largeant Cluster, Seed, SpacePoint, PFParticle, Vertex LBNE35tPandora
particlestitcher lbne35t_particlestitcher pandora PFParticle LBNE35tParticleStitcher
particlestitcherdc lbne35t_particlestitcher pandoradc PFParticle LBNE35tParticleStitcher
particletracks ? pandora? Track ?
particletracksdc ? pandoradc? Track ?

The producer instance names and mapping to output types were obtained from a data file from the second round of MC production for 35-ton running. The low-level producer names and links between input and output producer names were obtained by (tediously) searching fcl files in the develop branches of larsoft and lbnecode April 21-22 2015.