Skip to content

Updated PLUME decoding in HLT2

Fabio Ferrari requested to merge update_plume_decoding into master

This MR implements a new version of the decoding for PLUME in HLT2 needed since the deployment of the new tell40 firmware. The decoding version implemented is based on the raw banks Version: 4 (little endian) of the new tell40 firmware. This version of the firmware (and thus of the decoding) will be the standard for PLUME from now on.

Each PLUME channel is encoded by the tell40 output stream in a 32 bit word, e.g. 02F10B08 that is then converted to 080BF102 by the PlumeRawToDigits.cpp source code. The same code decodes the 32 bit number according to the following convention:

  • 1 bit overthreshold
  • 19 bit pedestal subtracted ADC count
  • 12 bit original ADC count from FEB (not pedestal subtracted)

The 19 bit pedestal subtracted ADC count is an integer number multiplied by 128 in the tell40 firmware to preserve 2 decimal digits precision. This is not strictly needed for HLT2 monitoring, but we used this instead of the original 12 bit since the pedestal subtraction that is performed in the tell40 and it's more precise than the standard one. The numbers, once divided by 128, are then rounded to the nearest integer.

The same format is used for all the PMTs installed in PLUME, irrespective of their job (LUMI, MON, PIN or TIME). The LUMI PMTs are contained in the first 22 channels [0-21] of banks 0x5001 and 0x5002. The PIN PMTs are contained in the last 8 channels [24-31] of bank 0x5001, while the MON PMTs are contained in channels [24-27] of bank 0x5002. This configuration has been adopted to allow all the LUMI, MON and PIN channels to fit in the first two banks.

Finally, the TIME PMTs are encoded in all the 32 channels [0-31] of banks 0x5003 and 0x5004. The lines related to the use of coincidences have been removed from PlumeRawToDigits.cpp as they will not be used anymore for detector operation.

The PlumeDigitMonitor.cpp script fills some histograms needed for monitoring purposes. The main change with respect to previous versions is the removal of coincidences (no longer used) used as a pre-condition to fill the LUMI histograms, i.e. now the ADC 1D histograms related to the luminosity measurement contain the ADC counts from the tell40 without any cut. Some other histograms have been added, as for example the pedestal values for each PMT.

The decoding has been tested on a mdf file created with PLUME in local.

Depends on LHCb!4435 (merged), lhcb-datapkg/PRConfig!391 (merged) and MooreOnline!332 (merged)

@acarbone

Edited by Fabio Ferrari

Merge request reports