Project

General

Profile

Naming Conventions for Events

3/29/16 ELF: This page will serve as a living document detailing the names we have chosen to represent various quantities of data. I will detail the convention I have been using below:

DTC ROC Time
0 1 ... 2499 0 1 ... 2499 0 1 ... 2499
0 0 a b d e e e e
1 b d e e e e
2 b d e e e e
1 0 d e e e e
1 d e e e e
2 d e e e e
2 0 c c c c d e e e e
1 c c c c d e e e e
2 c c c c d e e e e

Notes: Each unit of time corresponds to one 1.7us timestamp. The current "packing factor" is 2500, which means that the Mu2eReceiver Fragment Generator puts 2500 timestamps' worth of data from the DTC into one ARTDAQ fragment. The names given below are for the union of all squares marked by the given letter. These names should be changed to enhance clarity.

Letter mu2e Provisional Name Class Name Possible Term NOvA/DUNE Term DarkSide Description
a DataBlock nanoslice One DAQ Element's data for one offline event
b timestamp microslice One BR's Data for one offline event
c fragment artdaq::Fragment ADF (for ArtDaq-Fragment) ("A-D-F" or "ad-F") millislice One BR's Data for one ARTDAQ event.
d mu2e/physics event art::Event Event Event Entire System's data for one offline event
e ARTDAQ/DAQ event artdaq::RawEvent ADE (for ArtDaq-Event) ("A-D-E" or "ad-E") milliblock Entire System's data for one ARTDAQ event.

Suggestions from the naming meeting:
Quark, Atom, Molecule
Peanut, Package (Box), Pallet
Chunk
Bundle
Crumb, Chip, Block/Bag
Room, Apartment, Condo, Neighborhood

Example Pseudocode

std::vector<art::Event> ArtInputSource::Input(artdaq::RawEvent evt) {
   std::vector<art::Event> output;

  for(auto i = 0; i < 2500; i++) {
    output.emplace_back(art::Event());
  }

  // Get fragments code => frags (e)
  for(auto fragment : e) {
    Mu2eFragment c(fragment);
    for(auto b = c.dataBegin(); b <= c.dataEnd(); b+=c.blockSizeBytes(b)) {
      auto d = output[b];
      //Loop over DataBlocks
      while (auto a : b  ) {
         TrackerDataProduct tdp(a);
         d.push_back(tdp);
       }
    }
  }
}