Crate fastpasta

source ·
Expand description

fast Protocol Analysis Scanner Tool for ALICE (fastPASTA), for reading and checking raw binary data from ALICE detectors

§Usage

§Reading data from file and performing checks

# Enable all generic checks: `sanity` (stateless) AND `running` (stateful)
$ fastpasta <input_file> check all

# Same as above but only enable `sanity` checks, and only check data from link 0
$ fastpasta <input_file>  check sanity -f 0

§Enable all sanity and running checks and include checks applicable to ITS only

$ fastpasta <input_file> check all ITS
# target `its` is case-insensitive
$ fastpasta <input_file> -f 3 check sanity its

§Reading data from stdin and performing all checks that applies to ITS

$ cat <input_file> | fastpasta check all ITS
$ fastpasta <input_file> --filter-link 3 -o <output_file>

Writing to stdout is implicit when no checks or views are specified

$ fastpasta <input_file> --filter-link 3

§Reading from file and printing a view of RDHs

$ fastpasta <input_file> view rdh

Modules§

  • Contains modules for analyzing the data. Displaying the data in a human readable format or performing data validation.
  • Contains the Cfg struct that parses and stores the command line arguments
  • Contains the Controller that collects stats and reports errors. It also controls the stop flag, which can be used to stop the program if a fatal error occurs, or if the config contains a max number of errors to tolerate. Finally when the event loop breaks (at the end of execution), it will print a summary of the stats collected, using the Report struct.
  • Contains the run function that is the entry point for fastPASTA
  • All stat collecting functionality
  • Miscellaneous utility functions
  • Word definitions for the GBT/CRU/ITS data format
  • All functionality related to writing data to a file or stdout

Macros§

Functions§

  • Write an error message to stderr. All error messages should be written through this function to ensure consistency.
  • Does the initial setup for input data processing
  • Entry point for scanning the input and delegating to checkers, view generators and/or writers depending on Config