Skip to content

Data Model

mt82 edited this page Aug 23, 2023 · 2 revisions

The edep-sim output format is summarized here. The units used by edep-sim are mm for space position, ns for time and MeV for enegy.

STT

Hit

The hit struct represent the segment along which a particle's energy deposit occurs inside the sensible volume (i.e. the gas) of the STT detector. It has one-to-one relation with objects of the class TG4HitSegment corresponding to the STT hit collection.

Type Name Description
std::string det Name of the volume where the energy deposit occurs. The reference geoemtry is EDepSimGeometry in the input edep-sim file
int did detector id, i.e. unique id of straw tube
double x1 X cordinate of the start point of the segment
double y1 Y cordinate of the start point of the segment
double z1 Z cordinate of the start point of the segment
double t1 Time cordinate of the start point of the segment
double x2 X cordinate of the end point of the segment
double y2 Y cordinate of the end point of the segment
double z2 Z cordinate of the end point of the segmen
double t2 Time cordinate of the end point of the segment
double de Energy deposit
int pid Index of the particle producing the hit. It corresponds to TG4HitSegment::PrimaryId
int index Hit index. It corresponds to the position of the corresponding TG4HitSegment in the vector<TG4HitSegment> corresponding to the STT hit collection

Digit

The digit represents the response of the straw tube. It has a many-to-one relation with the hit.

Type Name Description
std::string det Name of the volume where the energy deposit occurs. The reference geoemtry is EDepSimGeometry in the input edep-sim file
int did detector id, i.e. unique id of straw tube
double x X position of the digit evaluated as explained above
double y Y position of the digit evaluated as explained above
double z Z position of the digit evaluated as explained above
double t Time coordinate of the digit evaluated as explained above
double de Energy deposit
bool hor Flag to identified straw tube orientation. hor == true means horizontal, hor == false means vertical
std::vector hindex vector of the hit indeces contributing to the digit

Track

The track model is a circle in the Y-Z plane and straight line in the rho-X plane as suggested here. Two variables (ret_cr and ret_ln for circular and linear fit respectively) provide the return value of the function preforming the fit. A good fit has occured if ret_cr==0 && ret_ln==0. A rough measurement of the quality of the fits can be checked from the variables: chi2_cr and chi2_ln. The circular fit provides:

  • The coordinates of the center of the circle: yc, zc
  • The radius of the circle: r
  • The starting point of the track: y0, z0, t0
  • The direction of the trajectory: h

The linear fit provides:

  • The intercept and slope: a, b (respectively)
  • The starting point of the track: x0
Type Name Description
int tid Index of the track. It corresponds to TG4Trajectory::TrackId
double yc Y position of the center of the circle
double zc Z position of the center of the circle
double r Radius of the circle
double h Direction of the trajectory
double a Intercept of the linear fit
double b Slope of the linear fit
double ysig +1 if track is mainly up the circle center, -1 other wise
double x0 X position of the starting point of the track
double y0 Y position of the starting point of the track
double z0 Z position of the starting point of the track
double t0 Time coordinate of the starting point of the track
int ret_ln Return value of the linear fit
double chi2_ln Rough measurement of the quality of the linear fit
int ret_cr Return value of the circular fit
double chi2_cr Rough measurement of the quality of the circular fit
std::vector clX Vector of the XZ digits belonging to the track
std::vector clY Vector of the YZ digits belonging to the track

EM Calorimeter

The calorimeter geometry is based on the instruction provided by KLOE people. The barrel is composed by 24 modules with trapeziod cross section. The endcaps are tubes. Both are composed by alternating scintillator and lead layers.

Cell

A cell represents the real responce of a cell of the e.m. calorimeter. It has one-to-many relation with objects of the class TG4HitSegment corresponding to the EM Calo hit collection.

Type Name Description
int id Global index of the cell. It is cell + 100 * lay + 1000 * mod
double x X position of the center of the cell
double y Y position of the center of the cell
double z Z position of the center of the cell
double l Length of the cell, i.e. optical distance between the associated with the cell
double adc1 ADC count of the first pmt
double tdc1 TDC of the frist pmt
double adc2 ADC count of the second pmt
double tdc2 TDC of the second pmt
int mod Index of the module. 0 - 23 for the barrel starting from the upper one and moving upstream. 30 and 40 for the right and left endcap respectively
int lay Index of the layer. 0 - 4 starting from the inner one
int cel Index of the cell. 0 - 12 starting from the left
std::vector pe_time1 Time arrival of the photo-electron collected by the first pmt
std::vector hindex1 Indices of the hits producing the photo-electrons. It has one-to-one correspondence with pe_time1
std::vector pe_time2 Time arrival of the photo-electron collected by the second pmt
std::vector hindex2 Indices of the hits producing the photo-electrons. It has one-to-one correspondence with pe_time2

Cluster

The cluster is a set of cell grouped on the basis track that produced them. It has a one-to-many correspondence with the cell.

Type Name Description
int tid Index of the track. It corresponds to TG4Trajectory::TrackId
double x X position of the cluster. It is the averaged X position of the cell belonging to the cluster, weighted by the energy collected by the cell
double y Y position of the cluster. It is the averaged Y position of the cell belonging to the cluster, weighted by the energy collected by the cell
double z Z position of the cluster. It is the averaged Z position of the cell belonging to the cluster, weighted by the energy collected by the cell
double t Time associated to the cluster. It is the averaged time of the cell belonging to the cluster, weighted by the energy collected by the cell
double e Sum of the energy collected by the cells
double sx Direction of the cluster. For each layer an energy weighted average X position is calculated and then the X positions are fitted with a linear track model
double sy Direction of the cluster. For each layer an energy weighted average Y position is calculated and then the Y positions are fitted with a linear track model
double sz Direction of the cluster. For each layer an energy weighted average Z position is calculated and then the Z positions are fitted with a linear track model
double varx Variance in X of the cluster
double vary Variance in Y of the cluster
double varz Variance in Z of the cluster
std::vector cells Vector of the cell associated to the cluster

Particle

Type Name Description
int primary 1 if primary, 0 otherwise
int pdg Pdg code of the particle
int tid Index of the particle
int parent_tid Index of the particle parent
double charge Charge of the particle
double mass Mass of the particle
double pxtrue X component of the initial particle momentum
double pytrue Y component of the initial particle momentum
double pztrue Z component of the initial particle momentum
double Etrue Initial particle energy
double xtrue X coordinate of the starting point of the particle's track
double ytrue Y coordinate of the starting point of the particle's track
double ztrue Z coordinate of the starting point of the particle's track
double ttrue Time coordinate of the starting point of the particle's track
double pxreco Reconstructed X component of the particle momentum
double pyreco Reconstructed Y component of the particle momentum
double pzreco Reconstructed Z component of the particle momentum
double Ereco Reconstructed particle energy
double xreco Reconstructed x coordinate of the starting point of the particle's track
double yreco Reconstructed y coordinate of the starting point of the particle's track
double zreco Reconstructed z coordinate of the starting point of the particle's track
double treco Reconstructed time coordinate of the starting point of the particle's track
bool has_track True if a track is associated to the particle, false otherwise
double charge_reco Reconstructed charge of the particle
track tr Track associted to the particle
bool has_cluster True if an em calo cluster is associated to the particle, false otherwise
cluster cl Cluster associated to the particle
bool has_daughter True if particle has daughter, false otherwise
std::vector daughters Vector of the daughter particles

Event

Type Name Description
double x X coordinate of the neutrino interaction
double y Y coordinate of the neutrino interaction
double z Z coordinate of the neutrino interaction
double t Time coordinate of the neutrino interaction
double Enu Neutrino energy
double pxnu X component of the neutrino momentum
double pynu Y component of the neutrino momentum
double pznu Z component of the neutrino momentum
double Enureco Reconstructed energy of the neutrino
double pxnureco Reconstructed x component of the neutrino momentum
double pynureco Reconstructed y component of the neutrino momentum
double pznureco Reconstructed z component of the neutrino momentum
std::vector particles Vector of particles produced in the neutrino interaction
Clone this wiki locally