VTP data format integration

As a first step, try to read the raw data file with a simple C++ program to understand whether the information we got from Vardan are sufficient.

Next, try to convert the VTP data format into a TriDAS-like. bdx at first, then a new TriDAS-like data format can be written to fully exploit the VTP temporal resolution.

Data file

A data file is located in /data/tridas/raw/vtp.dat on the tridas vm.

Information from Vardan

From: https://wiki.jlab.org/epsciwiki/index.php/Mar._5,_2021

VTP frame header

struct vtp_header {
  unsigned int source_id; // may be the channel id field, should be split in 3: CrateID, SlotID, ChannelID
  unsigned int total_length;
  unsigned int payload_length;
  unsigned int compressed_length;
  unsigned int magic;     // may be a pre-defined constant
  unsigned int format_version;
  unsigned int flags;
  unsigned long long record_counter;
  unsigned long long ts_sec;
  unsigned long long ts_nsec;
};

Payload 9 word payload header, where first word is a tag and 8 following words contain length and a pointer to 8 FADC slots information.

VTP Frame Parser

Try to implement a VTP Frame Parser:

  • use the VTP data format
  • the parser have to be based on frame_parser.cpp located in tools
  • A data file is located in /data/tridas/raw/vtp.dat on the tridas vm
Edited by Laura Cappelli