UITF Mott CODA Summary
Mott DAQ Host (Rack ITF 07, UITF Roof):
name => itfmdaq0 ip => 18.104.22.168
Mott DAQ SBC:
name => itfsbcmdaq0 ip => 22.214.171.124
UITF Mott DAQ itfsbcmdaq0
XVR-16 Abaco Intel/Linux VME SBC
/home/idaq/linuxvme (contains an up to date version of the JLab module software drivers) /home/idaq/rol (CODA readout lists for Mott)
Non-DAQ group software drivers were also ported to Linux to minimize software changes to be done on the analysis and monitoring side. These include:
- scalers (SIS3801, SIS3801.no_ring, intlib, scaser)
To support the scaler library framework, a new library was written to facilitate the movement of data between different processes (scaler server, scaler producer, CODA ROC): crateSharedMem
All of these new libraries are located (and used) in: /opt/coda/sbcmdaq0/linuxvme/
The Scaler server and sisProducer are launched after boot via boot scripts in (sbcmdaq0) /home/idaq/boot_scripts/ via entries in /etc/inittab
CODA Readout Lists used in the 6100 were updated into the newer "C" readout list framework. No more using makelist or writing .crl files.
Scaler libraries were then optimized to support DMA.
All Mott CODA configurations are now ready to go:
The source is available here: /opt/coda/sbcmdaq0/rol
To compile, must be on sbcmdaq0. Use the Makefile.
To access the Mott DAQ VME SBC:
idaq@opsmdaq0 > ssh sbcmdaq0
CODA crl files are in: idaq@opsmdaq0: /opt/idaq/crl Scalers.crl Mott_Sample.crl Mott_SemiInt.crl PEPPo_Int.crl To compile: makelist Mott_Sample.crl ppc
CODA scripts files are in: idaq@opsmdaq0: /opt/idaq/scripts
Summary of CODA Configurations
|Scalers||Scaler S1 (helicity gated), S2 (un-gated)||/data/mott/Scalers_%d.dat||Delayed nT_Settle|
|Mott_Sample||Mott FADC (Mode 1), S1, S2, TDC||/data/mott/Mott_Sample_%d.dat||Mott Detector|
|Mott_SemiInt||Mott FADC (Mode 7), S1, S2, TDC||/data/mott/Mott_SemiInt_%d.dat||Mott Detector|
|PEPPo_Int||INT FADC, S1, S2||/data/compton/PEPPo_Int_%d.dat||nT_Settle|
Backup Data Files to SILO
Cron scripts are installed on the idaq account on opsmdaq0 to back up data and delete it from /data and /data1:
Do not attempted to copy, delete, move, or rename files. Never !
The scripts assume that data appears in /data*/DIR where DIR = "annihilation" or "compton" or "mott" Files must have the keywords "PEPPo" or "Scalers" or at least "dat". This avoids writing scratch files like root output. Do not start putting data in some new place or with new names. It won't be backed up to MSS if you do that.
The data are deleted from local disks if they have been written in duplicate with correct byte count to the MSS tape silo. The data stay on disk for an amount of time that is related to the amount of disk space is available. If lots of disk available, the data stay forever. If not much disk, the data are deleted aggressively.
The data is copied to: /mss/accel/peppo/raw
The copying of data was disabled on January 3rd, 2014. - To list: crontab -l - To remove: crontab -r - Check again: crontab -l - To load: crontab cron_opsmdaq0 (in /opt/idaq/cron)
const FADC_ADDR = 0x680000 # 12 bit fADC MOTT - Slot 7 const FADCMODE = 1 (Mott_Sample) const FADCMODE = 7 (Mott_SemiInt) const FADCSLOT_Mott = 7 const TRSPLIT = 0xeb13 # Address of fADC Signal Distribution Module
CH1 - E LEFT Range - 0.5 V DAC_offset = 3300 CH2 - E RIGHT - 0.5 V DAC_offset = 3300 CH3 - E UP - 0.5 V DAC_offset = 3300 CH4 - E DOWN - 0.5 V DAC_offset = 3300 CH5 - dE LEFT - 0.5 V DAC_offset = 3300 CH6 - dE RIGHT - 0.5 V DAC_offset = 3300 CH7 - dE UP - 0.5 V DAC_offset = 3300 CH8 - dE DOWN - 0.5 V DAC_offset = 3300 CH9 - BFM - 1.0 V DAC_offset = 3300 CH10 - Empty - 1.0 V DAC_offset = 3300 CH11 - Mott Trigger - 1.0 V DAC_offset = 3300 CH12 - Empty - 1.0 V DAC_offset = 3300 CH13 - Delayed Hel - 1.0 V DAC_offset = 3300 CH14 - T_Settle - 1.0 V DAC_offset = 3300 CH15 - Pat Sync - 1.0 V DAC_offset = 3300 CH16 - Pair Sync - 1.0 V DAC_offset = 3300
- Reference: JLab Module Manuals 
- Reference: Media:FADC250_V2_ADC_FPGA_V5.pdf
- Reference: Media:Programming_FADCV2_3.pdf
- Summary of FADC250 Operating Modes (2/18/14): Media:FADC250_modes_2.pdf
- Changed Mott_SemiInt to the FADC Mode 7 from Mode 3 -- Done on April 29, 2014. This mode provides:
- Pulse integral (sum of all 4ns samples over set threshold, up to 3 pulses per window)
- Pulse time (62.5 ps resolution)
- Pedestal average of 4 samples at beginning of window.
FADC Programmed Thresholds:
- Mott_Sample: Threshold = 0
CH1 - E LEFT Threshold = 600 CH2 - E RIGHT Threshold = 600 CH3 - E UP Threshold = 600 CH4 - E DOWN Threshold = 600 CH5 - dE LEFT Threshold = 600 CH6 - dE RIGHT Threshold = 600 CH7 - dE UP Threshold = 600 CH8 - dE DOWN Threshold = 600 CH9 - BFM Threshold = 1750 CH10 - Empty Threshold = 100 CH11 - Mott Trigger Threshold = 1000 CH12 - Empty Threshold = 100 CH13 - Delayed Hel Threshold = 10 CH14 - T_Settle Threshold = 10 CH15 - Pat Sync Threshold = 10 CH16 - Pair Sync Threshold = 10
Mott_Sample Settings: FADC_BLOCK_MODE = 1 MODE = 1 PL = 80 - Programmable Latency (100 ns to 8 µs) PTW = 50 - Programmable Trigger Window (100 ns to 2 µs)
Mott_SemiInt Settings: FADC_BLOCK_MODE = 1 MODE = 7 PL = 80 PTW = 50 NSB = 5 - Number of Samples before the threshold crossing sample (TC) included in the pulse data set (integral) NSA = 28 - Number of Samples after the threshold crossing sample (TC) included in the pulse data set (integral) NP = 1 - Number of pulses to search for in PTW
const FADC_ADDR = 0xed0000 # 12 bit fADC Int - Slot 10 const FADCMODE = 3 (Int_Int, special) const FADCSLOT_PEPPo3 = 10 const TRSPLIT = 0xea13 # Address of fADC Signal Distribution Module
Range - 2.0 V DAC_offset = 3300
All the relevant files are at: M:\FE\PEPPo. These files also copied to opsmdaq0 at: /opt/idaq/HaiDong_PEPPo.
A24 Address for TID Module (0x100000 for VME Slot 2) const TRIG_ADDR = 0x100000
The input trigger can be prescaled by editing the crl file: /* Front panel trigger prescale: 2^<arg> */ tidSetPrescale(0);
The event dump utility (cefdmp) can display, in a readable ASCII format, events from the data files.
% cefdmp [filename] [-o object] [-t tag] [-u uniquetag] [-s start] [-e end] [-d dictionary] [-x] % xcefdmp [same]
o specify the source object name (CODA component name) t select specified tag number or name (full path in event structure) u select specified unique tag, independent of location in the event s number of first record in file to dump e number of last record in file to dump d specify dictionary for obtaining tag names and titles x hex dump of integers (default is decimal)
cedit and dbedit
Use cedit and/or dbedit to modify CODA database.
Issues and FAQ
- RunNumber: if the run number in msql is different from the one in CODA cool database, coda doesn't work. Open dbedit => localhost => sessions and change the RunNumber to match the one in CODA cool database.