Project
Loading...
Searching...
No Matches
MCH CTF encoding library

MCH CTF

This directory contains the classes to handle entropy encoding and decoding of MCH digits (and their associated ROFRecord).

Circular test

To idea of this test is to check that digits data stays unaltered when they go through the encoding/decoding processing.

circular-test.sh [NROFPERTF] [NTF] [OCC] [SEED]

The circular-test.sh script performs for a given set of { number of timeframes, number of rofs per timeframe, occupancy, seed }, a variation of the operations described below.

Generate random digits and write them (debug binary format)

o2-mch-digits-random-generator-workflow -b
--nof-rofs-per-tf 3
--max-nof-tfs 5
--occupancy 0.01
--seed 1
| o2-mch-digits-writer-workflow -b
--binary-file-format 1
--outfile digits_ref_rof_3_tf_5_occ_0.01_seed_1.data

Note the --seed option that must be non-zero if you want to get reproducible results when running several times.

Read those digits and encode them in a CTF

o2-mch-digits-file-reader-workflow -b
--infile digits_ref.data
| o2-mch-entropy-encoder-workflow -b
| o2-ctf-writer-workflow -b
--onlyDet MCH --no-grp

Read back the CTF, decode the digits, write them

o2-ctf-reader-workflow -b
--ctf-input o2_ctf_run00000000_orbit0000000000_tf0000000000.root
| o2-mch-digits-writer-workflow -b
--binary-file-format 1
--outfile digits.data

Dump the written digits in text form

o2-mch-digits-file-reader-workflow -b
--infile digits_ref.data
| o2-mch-digits-writer-workflow -b
--no-file
--txt
--print-digits

Compare digits before after ctf encoding/decoding

ls -al digits.*data
shasum -a 256 digits*.data