Print

Print


Dear all,
material for todays discussion:

'''EVIO formated banks - EVIO version 4.0 and later'''

EVIO banks with contentType=0xf are formatted banks. They contains
two parts: ''tagsegment'' with format description as ASCII string, and
''bank'' with data. All data banks produced by CLAS12 DAQ will be
primitive data types whenever possible, or formatted type. Formatted
banks will be used if different data types are needed inside the same
bank, or/and if banks contains raws with variable length. Following
formats will be used for basic data banks as they are inserted into
the Event Transfer system from Event Builder:

c - 8bit
s - 16bit
i - 32bit
l - 64bit
N - take the 32bit number from the data

* CAEN v1190/v1290 TDCs:
      "2c,Ns" - slot, channel, the number of hits, hits

* JLAB FADC250 in WINDOW RAW DATA mode:
      "2c,l,Ns" - slot, channel, trigger time, the number of samples, samples

* JLAB FADC250 in PULSE RAW DATA mode:
      "2c,l,N(c,Ns)" - slot, channel, trigger time, the number of pulses
                                 (first sample number, the number of
samples, samples)

* JLAB FADC250 in PULSE INTEGRAL mode:
      "2c,l,N(c,i)" - slot, channel, trigger time, the number of pulses
                              (quality factor, pulse integral)

For 'translated' banks geographic identifiers (slot-channel) will be
replaced by logical identifiers, for example layer-wire etc.

Every subsystem will be assigned with unique 16-bit bank tags, while
8-bit bank number can be used for data separation inside subsystem,
for example for different crates or sectors.
Following scheme can be proposed:

              31..........24 23..........16 15..........8 7..........0
                                    l e n g t h                         
<- bank[0]
                 system#                         0xf       sysnum       
<- bank[1]
                 strlen              0x6               length           
<- tagsegment
                                  "2c,l,N(c,i)"                         
<- format string
                                    l e n g t h                         
<- bank[0]
                subsystem#                       0x0       subsysnum    
<- bank[1]
                                                                         <-
data

'''system#''' is unique tag assigned to the particular detector (HPS, EC,
CC etc).
Every system will be assigned with the range of tags so different data sets
can be specified (translated IDs, ADC raw, ADC pulse, TDC, Scalers etc).

'''sysnum''' cab be used for futher subdivision inside system, for example
sector number.

'''strlen''' contains the length of the format string in bytes.

Sergey

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the HPS-SOFTWARE list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=HPS-SOFTWARE&A=1