From QUINN@UQUARK.PHYS.CMU.EDU Thu Oct 28 10:45:41 1999 Date: Fri, 1 Oct 1999 17:09:31 -0400 From: Brian Quinn To: beise@physics.UMD.EDU, beck@uinpla.npl.uiuc.edu, willy@uinpla.npl.uiuc.edu, roos@physics.UMD.EDU, pate@lepton.nmsu.edu, kox@in2p3.fr, furget@in2p3.fr, saw@JLAB.ORG, lung@JLAB.ORG, grave@ipno.in2p3.fr Cc: QUINN@UQUARK.PHYS.CMU.EDU Subject: NA LTD data format Dear Betsy, and anyone else who might care, As we agreed in the DAQ phone conference, I'm forwarding what I know about the expected format of the data from the north-american electronics. Best regards, Brian Naming convention: __________________ We will be instrumenting 64 detector/backup pairs, which I'll call 'detectors' for short. This will be octants 1,3,5 and 7 of rings 1-16. In addition there will be some fake 'detectors' used as monitors of performance any false asymmetry. I'll assume we will have 8 such monitor detectors. Each detector will produce 24 output bits (bits 1 through 24) which could, in principle, go to scalers. In fact, some subset of N bits will actually be directed to scalers through the mungers. To conserve scaler channels we have generaly assumed N=12. BUT, if more scaler channels become available, N may be increased, so it should not be hard-wired into acquisition or analysis. I'll use the names 'bit A' through 'bit N' (in somewhat bastardized notation) to label the subset of N bits which are actually sent to scalers. N will PROBABLY be the same for all real detectors, but could be different for the monitor detectors. N will CERTAINLY be the same for all 8 detectors within consecutive ring pairs (1&2, 3&4,...and 15&16) as the 8 detectors of such a ring pair will share common munger boards and will go to scalers via the same cables. Interpretation of data: ______________________ The actual data for each 'bit' of each detector will be a 32-bit integer counting the number of detector hits within the preceeding macropulse which occurred **at-or-before** the corresponding time. Assembling a time spectrum thus requires taking the differences of consecutive scaled 'bits' for a given detector. The times corresponding to bits 1-24 are nominally 1 ns apart with bit 24 being EARLIEST and bit 1 being LATEST. Bit B minus Bit C, for example will give the number of detector hits within a time bin which starts at the time corresponding to bit C and ends at the time corresponding to bit B. Interpretation of the resulting differences will require at least a map of the munger cabling which assocates numbered bits with lettered bits. (eg if bit C is bit 6 and bit B is bit 2, then the time bin corresponding to Bit B minus Bit C is nominally 4 ns long.) For more refined analyisis we'll also want to use a table of accurate calibration constants for each bin of each detector. In addition to the N-1 time bins corresponding to differences of consecutive bits, there's also a special time bin corresponding to the number of counts in Bit N (this includes the number of detector hits occuring between the clearing of the input latch and the arrival of the first clock bit). Format of data stream: _____________________ The munger boards group the bits of a common number from 8 different detectors into a single cable header. If that header is cabled to a scaler, then it becomes one of the lettered bits. Assuming we decide to cable things consecutively in the 'obvious' way (which will be a bit of a rat's nest of cables because they aren't in such a convenient order in hardware) and read out scalers in the 'obvious' order (see the note on reversed readout below!), this section of the data buffer will contain the following 32 bit words consecutively (plus any headers which may be added by the DAQ!): *** data from first 8 dectors (Rings 1 and 2) *** Bit A of Ring 1 octant 1 Bit A of Ring 1 octant 5 (buddy of the previous, so on same LTD board) Bit A of Ring 1 octant 3 Bit A of Ring 1 octant 7 (buddy of the previous, so on same LTD board) Bit A of Ring 2 octant 1 Bit A of Ring 2 octant 5 Bit A of Ring 2 octant 3 Bit A of Ring 2 octant 7 (These are the 8 detectors going to the same mungers) Bit B of Ring 1 octant 1 Bit B of Ring 1 octant 5 Bit B of Ring 1 octant 3 Bit B of Ring 1 octant 7 Bit B of Ring 2 octant 1 Bit B of Ring 2 octant 5 Bit B of Ring 2 octant 3 Bit B of Ring 2 octant 7 ... same 8 Bit C's ... same 8 Bit D's ... same 8 Bit E's .... ... same 8 Bit N's *** data from next 8 dectors (Rings 3 and 4) *** Bit A of Ring 3 octant 1 Bit A of Ring 3 octant 5 (buddy of the previous, so on same LTD board) Bit A of Ring 3 octant 3 Bit A of Ring 3 octant 7 (buddy of the previous, so on same LTD board) Bit A of Ring 4 octant 1 Bit A of Ring 4 octant 5 Bit A of Ring 4 octant 3 Bit A of Ring 4 octant 7 (These are the 8 signals going to a single munger) Bit B of Ring 3 octant 1 Bit B of Ring 3 octant 5 Bit B of Ring 3 octant 3 Bit B of Ring 3 octant 7 Bit B of Ring 4 octant 1 Bit B of Ring 4 octant 5 Bit B of Ring 4 octant 3 Bit B of Ring 4 octant 7 ... same 8 Bit C's ... same 8 Bit D's ... same 8 Bit E's .... ... same 8 Bit N2's (where N2 is probably the same as N) *** data from next 8 dectors (Rings 5 and 6) *** ... another 8*N3 data words.... *** data from next 8 dectors (Rings 7 and 8) *** ... another 8*N4 data words.... *** data from next 8 dectors (Rings 9 and 10) *** ... another 8*N5 data words.... *** data from next 8 dectors (Rings 11 and 12) *** ... another 8*N6 data words.... *** data from next 8 dectors (Rings 13 and 14) *** ... another 8*N7 data words.... *** data from next 8 dectors (Rings 15 and 16) *** ... another 8*N8 data words.... *** data from next 8 dectors (Monitor detectors 1 - 8) *** ... another 8*M data words (if M channels are instrumented for monitors).... ***NOTE***** Steve Wood may be able to straighten this out ***** Readout order of the above data may be REVERSED!!!!!! Consecutive input channels of the Grenoble scalers are mapped to consecutive VME address in DECREASING order. If a block read of increasing VME addresses is used, the scalers will be read out in reversed order (and we can reverse the order of module addressing so the entire list is exactly reversed from the above). If a block read in descending address order can be implemented (or just consecutive reads) then this problem is eliminated. This only affects the above words, which will be read from Grenoble scalers. The words below will be read from STR 7200 and will be in the indicated order. **************************** Buddy data (IF all channels are instrumented) (These 32-bit scalers count how often accidental coincedences occured between the 'data' latch of one detector and the 'busy' latch of its buddy) Ring 1 octant 1 data and Ring 1 octant 5 busy in same pulse Ring 1 octant 1 data and Ring 1 octant 5 busy in previous pulse Ring 1 octant 5 data and Ring 1 octant 1 busy in previous pulse Ring 1 octant 5 data and Ring 1 octant 1 busy in same pulse Ring 1 octant 3 data and Ring 1 octant 7 busy in same pulse Ring 1 octant 3 data and Ring 1 octant 7 busy in previous pulse Ring 1 octant 7 data and Ring 1 octant 3 busy in previous pulse Ring 1 octant 7 data and Ring 1 octant 3 busy in same pulse Same 8 words for Ring 2 Same 8 words for Ring 3 ...rings 4,5,6,7,8,9,10,11,12,13,14,15... Same 8 words for Ring 16 16 words for 8 monitor detectors assuming they are somehow grouped into buddy pairs *************************** Error oscillators (These signals can be arbitrarily daisy-chained to reduce the number of scaler channels required. If system is running well, they will probably all be directed into a single scaler input channel.) A non-zero count in the error oscillator scaler indicates a serious problem with the clock train. The data from the macro-pulse should probably be discarded, and lots of bells and whistles should go off to warn data-takers to check the electronics) 1 to 36 error counters (up to 1 per LTD board, which covers two detectors). So that's: 768 data words (if N=12 bits instrumented for all real detectors N=N2=N3=..N8) 96 monitor data words (if M=12 bits instrumented for 8 monitor detectors) 128 'data' buddy scalers.... if all are instrumented.. we could just sample! 16 'monitor' buddy scalers... if instrumented 36 error scalers if we send each to an individual sclaler rather than daisy-chaining ---- 1044 words = 4176 bytes (-> 125 kB/sec @ 30 Hz or 501 kB/sec @ 120 Hz) Email: bquinn@cmu.edu Physics Department Phone: (412)-268-3523 Carnegie Mellon University Fax: (412)-681-0648 Pittsburgh, PA, 15213 USA