|
META TOPICPARENT |
name="HcalDTC" |
New analysis code being developed for 2014 data format |
| Bug reports are quite welcome. (to Ted Laird)
|
|
< < | A preliminary API is documented below. Three classes are foreseen: |
> > | Unpacker: |
| |
|
< < |
Each class is documented below:
Function |
Description |
FedEvent( uint64_t* data, size_t size) |
Constructor using raw data |
EvN() , BcN() , OrN() |
Access Event, Bunch and Orbit numbers from event header |
vector amc |
Vector of 1...12 FedAmc objects representing AMC payloads |
CalcSize() |
Size calculated from structure (should match total word count) |
CRC() |
CRC16 from event trailer |
CalcCRC() |
CRC16 calculated from event data (should match CRC() ) |
|
> > | Unpacker consists of three classes to parse AMC13 data format: FedEvent, FedBlock, and FedAMC. Various tools have also been created to utilize these classes and analyze the data. All code can be found here: http://edf.bu.edu/svn/edf/arcaro/
Class documentation: http://ohm.bu.edu/~djarcaro/Documentation/unpacker.pdf
Build and Run Instructions:
Check out and build:
List of tools and their uses:
- dump64: Prints the raw data to screen in hex with 64bits per line. Used to sort through data by hand.
- use: $ ./dump64 file.dat (usually followed by | less)
- dump: Main dump tool to parse events and check for errors.
- use: $ ./dump file.dat -v 1 -e 1 -c
- -v flag for amount of information about the event printed to screen
- -c flag to turn CRC checking on or off
- -e flag to print specific errors to screen
Root and Histogram Options:
If root is installed dumptmp.cc can be made by $make root=1. dumptmp is identical to dump but also creates a root file with a histogram of the error array. |
|
To Do List
Bugs |
|
< < |
- In FedEvent::PreParse the expression
if(GetNAMC() > 0 || GetNAMC() < 13) is always true. I think you mean to use && instead of || .
- In FedEvent::PreParse there are two possibilities for size: a) 2 and b) 4...14. It should throw an exception if any other value is passed. The comments should reflect this.
|
|
- Add a doxygen configuration file and "doc" target to makefile so one can do 'make doc' and get the doxygen output.
New Features |
|
> > | DONE:
- In FedEvent::PreParse the expression
if(GetNAMC() > 0 || GetNAMC() < 13) is always true. I think you mean to use && instead of || .
- In FedEvent::PreParse there are two possibilities for size: a) 2 and b) 4...14. It should throw an exception if any other value is passed. The comments should reflect this.
|
|
- Check for consistency of LMSEPVC bits through an entire event
- MS should be "10" for first block, "11" for intermediate blocks, "01" for final blocks.
- C should be 1 when MS="01".
|
|
- Check Blk_No, AmcNo, BoardID in block headers for consistency throughout event
- Add option to dump entire AMC payloads
|
|
> > | |
| -- EricHazen - 04 Aug 2014 |
|
> > |
META FILEATTACHMENT |
attachment="unpacker.pdf" attr="" comment="Documentation for classes in unpacker" date="1439568028" name="unpacker.pdf" path="unpacker.pdf" size="128427" stream="unpacker.pdf" tmpFilename="/usr/tmp/CGItemp28297" user="djarcaro" version="1" |
|