Trigger sources in ODIN (new firmware) From BGV Trigger Based on 2 x 32bit uncorrelated PRND/25ns From L0DU State Machines AUX Trigger L0 Physics L0 Beam1-Gas L0 Beam2-Gas Lumi Trigger NoBias Trigger Random Trigger Calibration Trigger A, B, C, D BX scheme/ Trigger Mask State Machine Timing (TAE) Trigger Monitoring Trigger (1.4Hz) Sequencer Trigger L0_HANDLING: TRIGGER REJECTION TRIGGER PRIORITY SCHEME TRIGGER DESTINATION TRIGGER IDENTITY Firmware ready Additional work: all differences between LHCb / BGV firmware concentrated in one function! Control system update in progress (the migration will make it unusable for a few days, OK?) Reminder (as in the past) BID 3556 – 0 inclusive are always dead crossings (Reset of GOL link, MUON, …)
Definition of triggers in physics data taking L0 physics trigger Trigger Mask allow accepting on any set of crossings Prescaling available (L0 beam-gas triggers) Lumi triggers Random sampling of configurable rate of beam-beam, beam1-empty, beam2-empty, empty-empty Used to produce offline luminosity Based on independent random number and filling scheme Rate of beam-beam, beam1-empty, beam2-empty “protected” Misconfiguration of ODIN trigger setup could lead to mismatch between physics trigger live time and lumi calculation, more “freedom” to make mistakes in new firmware! Monitoring trigger (no changes) Currently defined as complete Non-Zero Suppressed events for VELO+ST Subset of lumi triggers (1.4 Hz, should not be more in physics data taking!) Same proportions of beam-beam, beam-gas, empty-empty
Definition of triggers NoBias trigger Used to be configurable random rate of beam-beam crossings Based on independent random number and filling scheme May be accepted randomly on any set of crossings by Trigger Mask Random trigger (not for physics data taking) Random sampling irrespective of filling scheme for technical running with no beam Calibration trigger (periodic trigger) A, B, C, D Programmable rate of sampling single bunch crossing , w/o calibration pulse command Exact bunch crossing computed dynamically according to filling scheme Triggers (all) rejected +/- 7 crossings around specified bunch crossing (Events routed to Calibration Farm) Sequencer trigger Trigger accepts as specified in bit pattern 0 – 3563 Prescalable
Trigger Mask Programmable Trigger Mask (Bit pattern 0 – 3563) TRG_OUT <= TRG_IN && TRG_MASK Thus, mask may be configured to allow certain trigger sources on any type of crossing Trigger mask for Physics trigger == AUX in BGV Timing trigger == AUX in BGV Nobias trigger (Beam1-gas trigger) – not in BGV (Beam2-gas trigger) – not in BGV Sequencer trigger (i.e. may be used for sampling leading/trailing crossing etc) Trigger mask recorded in ODIN data bank in EventType word Current default via control interface == FILLING SCHEME as in the past! Physics@beam-beam, NoBias@beam-beam, B1G@beam1-empty, B2G@beam2-empty etc (L0Physics is ANDed with beam-beam crossing also in new firmware… for the time being…)
Trigger Mask control panel
Trigger Identification TriggerType broadcast and in ODIN data bank defined by priority scheme Used for “readout processing” in TELL1 Routing of events to Calibration farm and HLT farm Priority order: CALTRG, TIMTRG, MONTRG, LUMTRG, B1GTRG, B2GTRG, SEQTRG, NOBIASTRG, PHYTRG EventType should be used to identify all sources of an accepted event -- 0 = VELO OPEN -- 1 = PHYSICS -- 2 = NOBIAS -- 3 = LUMI -- 4 = BEAM1-GAS -- 5 = BEAM2-GAS -- 6 = RANDOM/AUXILIARY -- 7 = MONITORING (Associated with NZS readout type) -- 8 = CALIBRATION/PERIODIC -- 9 = TIMING ALIGNMENT EVENT -- 10 = TRG_MASK(0) - Physics -- 11 = TRG_MASK(1) - Nobias -- 12 = TRG_MASK(2) - beam1-gas -- 13 = TRG_MASK(3) - beam2-gas -- 14 = SEQUENCER TRIGGER i.e. approximately TRG_MASK(4) -- 15 = TRIGGER FLAGGING MODE (0 = default filtering, 1 = flagging)
Trigger Prescaling Prescaling based on independent random numbers and thresholds for Beam1-gas and Beam2-gas (same prescaling for both) Sequencer trigger Timing trigger Physics trigger, ‘brrr…’ (protected by password in firmware, will over-ride for BGV…) Prescaling up to 2048
Action list from December 1, 2016 - A difference in the trigger counting rate has been observed between the L0 electronics and ODIN. This should be investigated. It would be good to have a first check by looking at the effect of shifting the clock edge for the L0 electronics such that we get an effective timing shift of 12.5ns (ACTION: Andreas?). It would be good to study this also with noise such that we don't need beam to investigate (ACTION: Andreas?). - Make sure that the BGV system is permanently provided with a clock and orbit pulse. Currently, it seems that at least the BOBR is without clock during no beam and technical stops. We should check which clock is provided on the fibre that goes to the BOBR to start with (ACTION: Sotiris, ask Enrico Bravin). - Determine the BID offset from comparing collected data and associated filling scheme (ACTION: Marianna, Massi). Update the offset for B2 in TTCrf panel, and update the hardcoded offset for B1 in the scripts (ACTION: Richard, Marianna). - Update the BGV ODIN firmware to include the masking of the auxiliary trigger as a function of the BID (ACTION: Richard). Update the associated WinCC panels and scripts, and add a few predefined masks according to the filling scheme (all B2 crossings, all B2 crossings but no B1) (ACTION: Richard). There should already be the feature to manually type in a few BIDs, check (ACTION: Richard). Extend the WinCC panel to include choosing mask from file (ACTION: Andreas) - Update ODIN firmware to include a mechanism to automatically produce a subset of NSZ+ZS events on the auxiliary trigger from ODIN (ACTION: Richard). Update WinCC panel to configure this (ACTION: Richard). - Setup up DIP communication in the LHCCOM project. Check access to DIP DNS servers (ACTION: Colin). Setup DIP manager in LHCCOM project. (ACTION: Richard). - Import the WinCC panels that include controlling prescaling auxiliary trigger (ACTION: Richard) - Add TELL1 throttle mechanism in the system. This requires preparing a "HUGIN" board in the TELL1 crate to make the logical OR of the throttle signals from all the TELL1s to ODIN (ACTION: Richard). Update boot server with CCPC and install board and cabling (ACTION: Colin). Update recipes (ACTION: Richard).