BRAHMS Data Acquisition System
Introduction
BRAHMS is an approved collider experiment at RHIC with the primary objective of finding evidence for the formation of quark-gluon plasma and the study of the reaction dynamics of the interaction of beams of ultra-relativistic heavy and light ions produced at RHIC. Once two heavy ion nuclei collide at RHIC, it is theorized that the colliding nuclei will pass through one another and a strong color field is created in the space between the nuclei which is anticipated to result in a phase transition to a new state of matter, creating the quark-gluon plasma. The detectors in BRAHMS will be able to detect various baryons and mesons which are produced in the interaction and will be capable of detecting a number of signatures that are believed to result from the creation of the quark-gluon plasma such as strangeness and anti-baryon enhancements. BRAHMS will have the unique capability for the identification of charged particles with the widest rapidity and transverse momentum coverage. This is accomplished by employing both forward and midrapidity spectrometers. The experiment consists of over 20 detectors for tracking, particle identification, and event characterization. It also includes a trigger system to selectively identify interesting/rare events together with data acquisition/control systems.
The BRAHMS data acquisition is a VME based system which will
facilitate the readout and processing of data from various detector subsystems in BRAHMS. The data acquisition also provides for run control and
control and monitoring of the operation of various detectors and related components. There are a total of ~10000 channels of particle detectors in BRAHMS resulting in over 500 KB of raw data per event(up to 300 MB/sec).
The heart of the system consists of a VME processor element farm
residing in several VME crates. Most of these processors are used for reading
event fragments from front-end crates and have various interfaces to CAMAC,
front-end electronics to BRAHMS' TPCs, and Fastbus. A VME crate is dedicated to monitor and control various detectors and devices. To
facilitate collection of various event fragments in parallel and to reduce VME
traffic one processor is dedicated and directly interfaced to each CAMAC and
FASTBUS crate. Four processors are interfaced to the TPC front-end electronics via VME and PCI bridges to the BRAHMS' TPC receiver boards. Several VME processors and workstations perform event building, reformatting and data logging tasks.
The front-end electronics (FEE) for BRAHMS consists of CAMAC, FASTBUS, as well as integrated electronics being developed for STAR. The TPC read-out electronics consists of FEE and readout cards which are being developed for STAR which are interfaced to the BRAHMS DAQ system by a
receiver board which is being developed for BRAHMS.
All front-end electronics are interfaced to VME and have dedicated VME-based intelligent controllers. The E866 CAMAC interface will be used for CAMAC readout. This interface consists of a commercial VME processor board (SBE VPU25) equipped with the E866 memory-mapped daugther board. The new STRUCK STR340/SF1 interface will be used for fastbus readout. Each fastbus crate is directly interfaced to a VME processor (MVME2305). Fastbus event fragments are transferred to the main EVB processor over fast ethernet.
The detectors for BRAHMS consist of ~10K channels, most of which have no hits in a typical event. The data from the TPC FEE constitutes the majority of the raw data in BRAHMS. At a rate of 400 events/s over 200 MB of raw data has to be processed per second. This data is substantially reduced before logging. One VME processor module, together with the
BRAHMS receiver board, is dedicated for the readout, pedestal suppression and reformatting of data from each TPC (upto 1152 channels). The receiver board performs the initial pedestal subtraction and suppression. Once the data is sufficiently reduced by receiver boards dedicated VME processors (MVME2305) perform the final reduction and reformatting of the data.
The BRAHMS data acquisition is a moudular, distributed, VME based system. Tornado/VxWorks real-time development environment/OS is being used for the development of code that runs on the VME processors. The majority of the code for the PowerPC based VME processors is written in C++, while the code for SBE VU25 processors is written in C. The latest version of VxWorks (currently 5.3.1) is run on the PowerPC based processors while VxWorks version 5.2 is run on the SBE processors. To make the DAQ system portable all non-critical code that run on workstations is written in Java. Critical code that does not reside on VME processors, that is code that affects the performance of the DAQ system is written in C++. Objectivity, an OODBMS, is used for database access to the DAQ system.
Java graphical user interfaces (GUI) will be used on workstations (e.g. SPARCstation 10) for DAQ run control and to monitor and control various detectors. The host workstation is interfaced to VME modules over fast ethernet and SCI. Data acquisition on the VME crate is centered around PowerPC (currently MVME1603, 2603, 2305) based VME-resident CPUs. The event building process is a distributed and hierarchical task and is performed in several stages on VME processors and finally on the DAQ workstation.
Karim Ashktorab