BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
decoder Directory Reference

Description

Raw Data Decoder

Classes of the Raw Data Decoder that convert the raw data collected by the BM@N DAQ into DIGI files with the detector digits for the reconstruction.

Processing chain

The decoding is started by macro/run/run_raw_bmn.C (see macro/run) and consists of two steps managed by BmnRawDataDecoder:

  1. Conversion: BmnRawSource reads the raw DAQ file (*.data, also compressed, see compression) and writes the data of the readout electronics (ADC, TDC, TQDC, MSC, synchronization, trigger and T0 data, see base/raw) and the spill metadata to an intermediate ROOT file.
  2. Decoding: BmnDecoder converts the electronics data into the detector digits using the channel mappings and calibrations of the period, calculates the pedestals and noisy channels of the strip detectors and writes the DIGI file with the event headers.

The channel mappings and calibration files are taken from the input and parameters directories, and the decoder settings from config/bmnconf.json.

Classes

Steering

Class Description
BmnRawDataDecoder Runs the conversion and decoding steps for a raw file; the main class used in run_raw_bmn.C
BmnRawSource FairSource reading the raw DAQ data and converting it into ROOT trees of the electronics data
BmnDecoder Task decoding the electronics data into the detector digits
BmnConverter, BmnConverterThread, BmnConverterTools Parallel (multithreaded) conversion of raw files, used in macro/raw/BmnDataToRootParallel.C
BmnAbstractThread, BmnThreadManager Thread helpers of the parallel conversion
BmnMetadataDecoder Decodes the spill metadata: scaler (MSC) counters, spill and trigger information
BmnT0RawReader Access to the T0 raw data by time stamp

Detector decoders (raw to digits)

Class Detector
BmnGemRaw2Digit GEM
BmnSiliconRaw2Digit Forward Silicon Detector
BmnSiBTRaw2Digit Silicon Beam Tracker
BmnVspRaw2Digit Vertex Silicon Plane
BmnCscRaw2Digit Cathode Strip Chambers
BmnTof1Raw2Digit TOF-400
BmnTof701Raw2Digit, BmnTof2Raw2DigitNew TOF-700 (new and old implementation)
BmnDchRaw2Digit, BmnMwpcRaw2Digit Drift chambers and multi-wire proportional chambers
BmnTrigRaw2Digit Trigger detectors (BC1, BC2, VC, BD, SiMD, etc.)
BmnMscRaw2Digit Scaler (MSC) counters
BmnFHCalRaw2Digit, BmnHodoRaw2Digit, BmnScWallRaw2Digit, BmnNdetRaw2Digit Forward hadron calorimeter, hodoscope, scintillation wall, neutron detector (waveform digitizers)
BmnHgndRaw2Digit, BmnHgndCalibration.h High granular neutron detector and its time-over-threshold calibration
BmnZDCRaw2Digit, BmnECALRaw2Digit Zero degree calorimeter and electromagnetic calorimeter
BmnProfRaw2Digit, BmnProfAsic2Raw Beam profilometer

Signal processing

Class / file Description
BmnAdcProcessor Base class of the ADC strip detector decoders: pedestals, common mode noise, noisy channels
BmnAdcQA QA histograms of the ADC processing
WfmProcessor Base class of the waveform digitizer decoders: signal parameters and waveform fit
PronyFitter Waveform fit with the Prony least squares method
RLDeconvolutor Richardson-Lucy deconvolution of waveforms
PolynomRealRoots.h, PolynomComplexRoots.h, MatrixInversion.h Math helpers of the waveform fit
BmnSlewingTOF700 Slewing correction of the TOF-700 data
IndentedConfigParser.h Parser of the indented configuration files
StsConst.h Constants of the FSD/STS readout (STS-XYTER)

Other files

File Description
StripView.C Macro to view the strip signals of the GEM and silicon detectors

Subdirectories

Directory Description
fles_cbm STS-XYTER message format from the CBM software
fles_ipc Timeslice and microslice data format of the CBM FLES (First-Level Event Selector)

Library

Built into the BmnDecoder library; the ROOT dictionary is defined in DecoderLinkDef.h.

Directory dependency graph for decoder:

Directories

 
fles_cbm
 CBM STS-XYTER messages
 
fles_ipc
 CBM FLES data format

Files

 
BmnAbstractThread.cxx
 
BmnAbstractThread.h
 
BmnAdcProcessor.cxx
 
BmnAdcProcessor.h
 
BmnAdcQA.cxx
 
BmnAdcQA.h
 
BmnConverter.cxx
 
BmnConverter.h
 
BmnConverterThread.cxx
 
BmnConverterThread.h
 
BmnConverterTools.cxx
 
BmnConverterTools.h
 
BmnCscRaw2Digit.cxx
 
BmnCscRaw2Digit.h
 
BmnDchRaw2Digit.cxx
 
BmnDchRaw2Digit.h
 
BmnDecoder.cxx
 
BmnDecoder.h
 
BmnECALRaw2Digit.cxx
 
BmnECALRaw2Digit.h
 
BmnFHCalRaw2Digit.cxx
 
BmnFHCalRaw2Digit.h
 
BmnGemRaw2Digit.cxx
 
BmnGemRaw2Digit.h
 
BmnHgndCalibration.h
 
BmnHgndRaw2Digit.cxx
 
BmnHgndRaw2Digit.h
 
BmnHodoRaw2Digit.cxx
 
BmnHodoRaw2Digit.h
 
BmnMetadataDecoder.cxx
 
BmnMetadataDecoder.h
 
BmnMscRaw2Digit.cxx
 
BmnMscRaw2Digit.h
 
BmnMwpcRaw2Digit.cxx
 
BmnMwpcRaw2Digit.h
 
BmnNdetRaw2Digit.cxx
 
BmnNdetRaw2Digit.h
 
BmnProfAsic2Raw.cxx
 
BmnProfAsic2Raw.h
 
BmnProfRaw2Digit.cxx
 
BmnProfRaw2Digit.h
 
BmnRawDataDecoder.cxx
 
BmnRawDataDecoder.h
 
BmnRawSource.cxx
 
BmnRawSource.h
 
BmnScWallRaw2Digit.cxx
 
BmnScWallRaw2Digit.h
 
BmnSiBTRaw2Digit.cxx
 
BmnSiBTRaw2Digit.h
 
BmnSiliconRaw2Digit.cxx
 
BmnSiliconRaw2Digit.h
 
BmnSlewingTOF700.cxx
 
BmnSlewingTOF700.h
 
BmnT0RawReader.cxx
 
BmnT0RawReader.h
 
BmnThreadManager.cxx
 
BmnThreadManager.h
 
BmnTof1Raw2Digit.cxx
 
BmnTof1Raw2Digit.h
 
BmnTof2Raw2DigitNew.cxx
 
BmnTof2Raw2DigitNew.h
 
BmnTof701Raw2Digit.cxx
 
BmnTof701Raw2Digit.h
 
BmnTrigRaw2Digit.cxx
 
BmnTrigRaw2Digit.h
 
BmnVspRaw2Digit.cxx
 
BmnVspRaw2Digit.h
 
BmnZDCRaw2Digit.cxx
 
BmnZDCRaw2Digit.h
 
IndentedConfigParser.cxx
 
IndentedConfigParser.h
 
MatrixInversion.h
 
PolynomComplexRoots.h
 
PolynomRealRoots.h
 
PronyFitter.cxx
 
PronyFitter.h
 
RLDeconvolutor.h
 
StripView.C
 
StsConst.h
 
WfmProcessor.cxx
 
WfmProcessor.h