Mdump

From MidasWiki
Jump to: navigation, search

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