Mdump
Description
mdump displays event bank contents (online or offline).
This application allows the experimenter to "peep" into the data flow in order to display a snap-shot of the event. Its use is particularly powerful during experimental setup. In addition mdump has the capability to operate on data save-set files stored on disk or tape. The main restriction is the fact that mdump works only for events formatted in banks (i.e. MIDAS banks - see MIDAS Event Structure).
mdump can be built with zlib.a in order to gain direct access to the data within a file with extension mid.gz or ybs.gz. See Building Option NEED_ZLIB.
Arguments for Online use
[-h ] : help for online use. mdump for online -l # : display # events (look 1) -f format (auto): data representation ([x]/[d]/[a]scii) def:bank header content -w time : insert wait in [sec] between each display -m mode : Display mode either Bank or raw -j : Display # of banks and bank name list only for all the event -b bank name : search for bank name (case sensitive) -i evt_id (any) : event id from the FE -k mask (any) : trigger_mask from FE setting -g type : sampling mode either SOME or all) -s : report buffer data rate and fill level -s -d : for use with -s: also report all buffer clients and requests -t type (auto) : Bank format (Midas) -x Source : Data source selection def:online (see -x -h) -y : Serial number consistency check >>> in case of -y it is recommended to used -g all -z buffer name : Midas buffer name default:[SYSTEM] [-h Hostname] [-e Experiment]
Arguments for Offline use
[-x -h] : help of offline use. mdump for replay -x file name : file to inspect -m mode : Display mode either Bank or raw -b bank name : search for bank name (case sensitive) -i evt_id (any) : event id from the FE -[single] : Request single bank only (to be used with -b) -y : Serial number consistency check -j : Display # of banks and bank name list only for all the event -k mask (any) : trigger_mask from FE setting >>> -i and -k are valid for YBOS ONLY if EVID bank is present in the event -w what : [h]eader, [r]ecord, [l]ength [e]vent, [j]bank_list (same as -j) >>> Header & Record are not supported for MIDAS as no physical record structure exists -f format (auto): data representation ([x]/[d]/[a]scii) def:bank header content -r # : skip event(MIDAS) to #
Usage
mdump can operate on either data stream (online) or on save-set data files. Specific help is available for each mode.
> mdump -h > mdump -x -h
Examples
mdump in offline mode
The example below shows mdump operating on a file of saved data in MIDAS format :
Tue> mdump -x run37496.mid | more ------------------------ Event# 0 -------------------------------- ------------------------ Event# 1 -------------------------------- Evid:0001- Mask:0100- Serial:1- Time:0x393c299a- Dsize:72/0x48 #banks:2 - Bank list:-SCLRRATE-
Bank:SCLR Length: 24(I*1)/6(I*4)/6(Type) Type:Integer*4 1-> 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
Bank:RATE Length: 24(I*1)/6(I*4)/6(Type) Type:Real*4 (FMT machine dependent) 1-> 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 ------------------------ Event# 2 -------------------------------- Evid:0001- Mask:0004- Serial:1- Time:0x393c299a- Dsize:56/0x38 #banks:2 - Bank list:-MMESMMOD-
Bank:MMES Length: 24(I*1)/6(I*4)/6(Type) Type:Real*4 (FMT machine dependent) 1-> 0x3de35788 0x3d0b0e29 0x00000000 0x00000000 0x3f800000 0x00000000
Bank:MMOD Length: 4(I*1)/1(I*4)/1(Type) Type:Integer*4 1-> 0x00000001 ------------------------ Event# 3 -------------------------------- Evid:0001- Mask:0008- Serial:1- Time:0x393c299a- Dsize:48/0x30 #banks:1 - Bank list:-BMES-
Bank:BMES Length: 28(I*1)/7(I*4)/7(Type) Type:Real*4 (FMT machine dependent) 1-> 0x443d7333 0x444cf333 0x44454000 0x4448e000 0x43bca667 0x43ce0000 0x43f98000 ------------------------ Event# 4 -------------------------------- Evid:0001- Mask:0010- Serial:1- Time:0x393c299a- Dsize:168/0xa8 #banks:1 - Bank list:-CMES-
Bank:CMES Length: 148(I*1)/37(I*4)/37(Type) Type:Real*4 (FMT machine dependent) 1-> 0x3f2f9fe2 0x3ff77fd6 0x3f173fe6 0x3daeffe2 0x410f83e8 0x40ac07e3 0x3f6ebfd8 0x3c47ffde 9-> 0x3e60ffda 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x3f800000 17-> 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 25-> 0x3f800000 0x3f800000 0x3f800000 0x00000000 0x3f800000 0x00000000 0x3f800000 0x3f800000 33-> 0x3f800000 0x3f800000 0x3f800000 0x3f800000 0x00000000 ------------------------ Event# 5 -------------------------------- Evid:0001- Mask:0020- Serial:1- Time:0x393c299a- Dsize:32/0x20 #banks:1 - Bank list:-METR-
Bank:METR Length: 12(I*1)/3(I*4)/3(Type) Type:Real*4 (FMT machine dependent) 1-> 0x00000000 0x39005d87 0x00000000 ...
mdump in online mode
The examples below shows mdump operating in online mode (data is in MIDAS format).
Example 1 : dump the bankheaders
> mdump -j [pol@isdaq01 pol]$ mdump -j -4506 -- Enter <!> to Exit ------- Midas Dump --- ------------------------ Event# 1 ------------------------ Evid:0002- Mask:0001- Serial:2- Time:0x4c9a4c2b- Dsize:832/0x340 #banks:2 Bank list:-HI00HI01-
Example 2 : dump the bank CYCI in decimal format
[pol@isdaq01 pol]$ mdump -b CYCI -l 2 -f d -4506 -- Enter <!> to Exit ------- Midas Dump --- ------------------------ Event# 1 ------------------------ Bank -CYCI- not found (2) in #banks:2 Bank list:-HI00HI01- ------------------------ Event# 2 ------------------------ #banks:2 Bank list:-CYCIHSCL- Bank:CYCI Length: 36(I*1)/9(I*4)/9(Type) Type:Unsigned Integer*4 1-> 16 16 1 0 4 0 0 0 9-> 0