Install
Get the code
git pull ssh://git@gitlab.cern.ch:7999/mploskon/lbltbgui.git
or
git pull https://gitlab.cern.ch/mploskon/lbltbgui.git
build and install (in the same dir)
cd lbltbgui #make sure ROOT (http://root.cern.ch) is installed and environment set . ./setup.sh ./build.sh
the build.sh
script has options clean
, realclean
, debug
, verbose
.
Run
$ testTBGui --tx <filename> --gr <filename> --tb <filename> --tile <n> --offline --head <uint> --ch <n> --dir <folder>
All of the command line arguments are optional.
parameter | function |
---|---|
--tx <filename> |
opens a text monitoring tab with the file pointed by filename |
--gr <filename> |
opens a tab with graphical trace of the file - shows values of bytes |
--tb <filename> |
opens a tab with the file but treats it as a test beam log file |
--tile <n> |
will set n as the number of bytes to tail (default is 10kB); if n==0 tail is equal to file size |
--offline |
stops all updates (opposite of "Live" -> the Live check box is set to ON by default) |
--head <uint> |
value of the unsigned integer sets the composite operational header for which data will be displayed (only for the --tb tab) |
--ch <n> |
enable display of channel n - can be multiple (for example: --ch 1 --ch 24 will enable two channels) |
--dir <folder> |
folder will be the default for the text, graph and testbeam tabs when adding/removing files |
--no-log |
stdout and stderr are not redirected and the text monitor tab on the log file is not created |
Selected GUI options
Live checkbox
Unset to stop updates. Useful to zoom into the histogram (at present the canvas DOES NOT remember the user zoom).
Ignore File Status checkbox
Set to force updates to files independently of their change on disk.
Missing Trailers checkbox
Set to accept incomplete header-trailer sections. The program will assume the last known header is valid until the end of file (unless a trailer comes first).
Notes
Default "check file status" interval is 5s (use Refresh
button to force... - most of other selection will also force refresh.).
Selecting a different header will clear the list of active channels.
Dropdown lists for "file activation" and "channel list" toggle the file/channel status/display.
Example
See a file included in the package...
#!/bin/bash [ ! -z $MODULESHOME ] && module load root . ./setup.sh # show the bytes in a file with a 4 byte words # cat ./data/test3.log | ./bin/hex # ./bit/hex32bit ./data/test3.log #./bin/testTBGui --gr ./data/test3.log --gr setup.sh & #./bin/testTBGui --gr ./data/test3.log & #./bin/testTBGui \ # --tb ./data/online_board1_dose0_2016-04-11_15-47-07.log \ # --tb ./data/online_board1_dose0_2016-04-11_17-25-27.log \ # --tb ./data/online_board1_dose0_2016-04-11_17-28-38.log \ # --head 0xc3000009 \ # --ch 0 --ch 15 --ch 3 --ch 5 --ch 2 --ch 17 ./bin/testTBGui \ --tb ./data/online_board1_dose0_2016-04-11_15-47-07.log \ --head 0xc3000009 \ --ch 0 --ch 1 --ch 2 --ch 3 --ch 4 --ch 10 --ch 23 & ./bin/testTBGui \ --tb ./data/offline_board1_dose0_2016-04-11_15-41-25.log \ --head 0xAF000002 \ --ch 0 --ch 1 --ch 16 --ch 17 --ch 19 & ./bin/testTBGui \ --tb ./data/offline_board1_dose0_2016-04-11_15-41-25.log \ --head 0xc1000005 \ --ch 0 --ch 1 --ch 2 & ./bin/testTBGui \ --tb ./data/2016-04-17/offline_board1_dose0_2016-04-17_17-19-11.log \ --tail 0 \ --offline \ --head 0xcd000013 \ --ch 7 --ch 8 & ./bin/testTBGui \ --tb ./data/2016-04-17/offline_board1_dose0_2016-04-17_17-19-11.log \ --tail 0 \ --offline \ --head 0xcd000003 \ --ch 7 --ch 8 & ./bin/testTBGui \ --tb ./data/2016-04-17/online_board1_dose0_2016-04-17_17-20-59.log \ --head 0xc3000009 \ --ch 0 --ch 1 --ch 2 --ch 3 --ch 4 --ch 10 --ch 23 &
Other tools
hex
Dumps file hexadecimal/bytes and ascii.
$ cat ./setup.sh | hex
hex32bit
Dumps a file (1st argument) interpreting 32bit words as data in format of a test beam log file.
Option | Decription |
---|---|
--head |
allows to select only interesting header-trailer sections. Makes option --n inactive. |
--adc |
will decode and dump adc data (if payload found). |
--decoder |
shows a log of decoding (uses the same code as GUI). |
--n <uint> |
will decode only n 32 bit words from the file. |
--graph |
dumps the ADC data into a root file (according to the selected header --decoder must be set). |
--ascii |
dumps the ascii data from the file (before showing the 32 bit words). |
hex32bit Example
$ hex32bit $HOME/devel/lbltbgui/data/2016-04-17/offline_board1_dose0_2016-04-17_17-19-11.log --head 0xcd000003 --adc