An FPGA-based implementation of the CMS global calorimeter trigger

We present a new design for the CMS Level-1 Global Calorimeter Trigger, based upon FPGA and commodity serial link technologies. For each LHC bunch-crossing, the GCT identifies the highest transverse energy electron, photon and jet candidates; calculates scalar and vector total transverse energies; performs jet-counting, and provides real-time luminosity estimates. The pipelined system logic is implemented using 0.18μm Xilinx FPGAs. The traditional system backplane is replaced by fast serial links for trigger data, and Ethernet for control. These technologies allow an improvement in system flexibility and a considerable reduction in cost, complexity and design time compared to an ASIC/VME-based solution. I. THE CMS LEVEL-1 TRIGGER The CMS Level-1 trigger [1] uses a subset of the data from the muon detectors and calorimeters in order to select bunch-crossings containing interesting events at a rate of no more than 100kHz. The Level-1 latency is required to be less than 128 LHC bunch-crossings (3.2μs) in order to limit the length of readout buffers. No significant deadtime is allowed; the system is therefore implemented in custom hardware, using fully pipelined logic synchronised to the LHC bunch clock. The trigger algorithms are based upon the identification of trigger objects (μ, e/γ, jet, τ) and on measurement of missing and total transverse energy. Trigger objects are identified in the muon and calorimeter systems separately, and a subset of identified objects is selected from each according to transverse energy and other criteria. The full information describing the energy and position of the selected objects is sent to the global trigger, which combines information from the muon and calorimeter systems, and makes a Level-1 trigger decision based upon object energies and event topology. The Level-1 trigger system is shown in outline in Figure 1. The calorimeter trigger consists of the following subsystems: Figure 1: The CMS Level-1 trigger system • The Trigger Primitive Generator (TPG) system, which processes the digitised calorimeter signals to produce coarser-grained trigger input data. • The Regional Calorimeter Trigger (RCT) [2], which implements e/γ, jet and τ identification algorithms and calculates local transverse energy sums, in each of several separate detector regions. • The Global Calorimeter Trigger (GCT), which fulfils the functions described below. A first conceptual design for the GCT system has been already been presented [3]. Since the initial design study, the functional and technical requirements for the GCT and the Level-1 trigger system as a whole have been extended and refined, and new technologies have become available. We present here an updated design in the light of these changes. II. GCT FUNCTIONALITY The GCT is the final component in the calorimeter trigger chain. Its purpose is to implement the stages of the trigger algorithms that require information from the entire CMS calorimeter system. The GCT receives trigger object data from the RCT, performs several stages of data processing, and sends a reduced amount of data to the Global Trigger (GT). The functions of the GCT are explained in more detail below. A. Trigger Object Sort The principal function of the GCT is to reduce the number of trigger object candidates that need be considered by the GT. The is achieved by sorting the trigger objects identified by the RCT according to rank, and forwarding to the GT only a fixed number of objects. The rank of an object is in general based upon its transverse energy. The RCT and GCT jet-clustering subsystem together identify objects of five different classes: e/γ, isolated e/γ, central jet, forward jet and τ. The GCT sort subsystem receives up to 72 objects of each class, and passes four of each class to the GT. Each trigger object is represented by a data word containing information about its rank and the location at which it was detected.