ATLAS Offline Software
Classes | Namespaces | Macros | Enumerations | Functions
SCT_ByteStreamErrors.h File Reference

Define SCT byte stream errors and utility methods. More...

#include <array>
#include <vector>
#include <cstdint>
Include dependency graph for SCT_ByteStreamErrors.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SCT_ByteStreamErrors::ROOT6_NamespaceAutoloadHook
 Ensure that the enums are available from ROOT. More...
 

Namespaces

 SCT_ByteStreamErrors
 

Macros

#define SCT_ERRORTYPELIST(XYZ)
 Specifications of the data format and errors is found in [1] http://www-eng.lbl.gov/~jmjoseph/Atlas-SiROD/Manuals/usersManual-v164.pdf [2] http://cds.cern.ch/record/683741/files/ [3] https://twiki.cern.ch/twiki/bin/view/Atlas/SCTDaqErrors [4] https://twiki.cern.ch/twiki/bin/view/Atlas/ROBINFragmentErrors#Definition_of_the_first_status_e. More...
 
#define SCT_DO_ENUM(e)   e,
 
#define SCT_DO_DESCRIPTION(e)   #e,
 

Enumerations

enum  SCT_ByteStreamErrors::ErrorType
 SCT byte stream error type enums used in SCT_RodDecoder, SCT_ByteStreamErrorsTool, SCTErrMonAlg. More...
 

Functions

ErrorType SCT_ByteStreamErrors::TempMaskedChipToBit (const int chip)
 

Detailed Description

Define SCT byte stream errors and utility methods.

Author
Susum.nosp@m.u.Od.nosp@m.a@cer.nosp@m.n.ch

Definition in file SCT_ByteStreamErrors.h.

Macro Definition Documentation

◆ SCT_DO_DESCRIPTION

#define SCT_DO_DESCRIPTION (   e)    #e,

Definition at line 170 of file SCT_ByteStreamErrors.h.

◆ SCT_DO_ENUM

#define SCT_DO_ENUM (   e)    e,

Definition at line 166 of file SCT_ByteStreamErrors.h.

◆ SCT_ERRORTYPELIST

#define SCT_ERRORTYPELIST (   XYZ)

Specifications of the data format and errors is found in [1] http://www-eng.lbl.gov/~jmjoseph/Atlas-SiROD/Manuals/usersManual-v164.pdf [2] http://cds.cern.ch/record/683741/files/ [3] https://twiki.cern.ch/twiki/bin/view/Atlas/SCTDaqErrors [4] https://twiki.cern.ch/twiki/bin/view/Atlas/ROBINFragmentErrors#Definition_of_the_first_status_e.

The following is almost a copy of description of https://its.cern.ch/jira/browse/ATLASRECTS-4444

Link header : table 27 of [1] 001ptlbKdMMMMMMM d = link masked by DSP (MaskedLink) t = time out error (TimeOutError) p = Preamble Error (PreambleError) l = L1 error (LVL1IDError) b = BCID error (BCIDError) M = link number (FormatterError if M>11)

Link trailer : table 16 of [1] 010zhvxxxxxxmmmm z = trailer bit error (TrailerError) h = header trailer limit error (HeaderTrailerLimitError) v = data overflow error (HeaderTrailerLimitError) m = dynamically masked chips to reduced data size at high pileup Not written in [1]. (TempMaskedChipX, X=0-5)

0 means no masked chip (always has been 0 until April 2017)

If Rx redundacy is not used, 1 means chips 0-5 are temporarily masked. (TempMaskedChip0-TempMaskedChip5 in link-0) 6 means chip 5 is temporarily masked. (TempMaskedChip5 in link-0) 7 means chips 6-11 are temporarily masked. (TempMaskedChip0-TempMaskedChip5 in link-1) 12 means chip 11 is temporarily masked. (TempMaskedChip5 in link-1)

If Rx redundacy is used and link-1 is not used, 1 means chips 0-11 are temporarily masked. (TempMaskedChip0-TempMaskedChip5 in both link-0 and link-1) 6 means chips 5-11 are temporarily masked. (TempMaskedChip5 in link-0 and TempMaskedChip0-TempMaskedChip5 in link-1) 7 means chips 6-11 are temporarily masked. (TempMaskedChip0-TempMaskedChip5 in link-1) 12 means chip 11 is temporarily masked. (TempMaskedChip5 in link-1)

If Rx redundacy is used and link-0 is not used, 1 means chips 0-5 are temporarily masked. (TempMaskedChip0-TempMaskedChip5 in link-0) 6 means chip 5 is temporarily masked. (TempMaskedChip5 in link-0) 7 means chips 6-11, 0-5 are temporarily masked. (TempMaskedChip0-TempMaskedChip5 in both link-0 and -1) 12 means chips 11, 0-5 are temporarily masked. (TempMaskedChip0-TempMaskedChip5 in link-0 and TempMaskedChip5 in link-1)

ABCD error : table 16 of [1] 000xxxxxxFFFFEEE F = FE number (ABCDError_ChipX, ABCDError_Invalid) E = ABC error code (ABCDError_ErrorX, ABCDError_Invalid)

Raw data : table 16 of [1] 011nnnxxWWWWWWWW n = count of raw data bits + 1 W = raw data (RawError)

ByteStreamParseError When invalid data word is found, this BS error is assigned.

MissingLinkHeaderError When hit, ABCD error or raw data appear earlier than header, this BS error is assigned. Since we cannot know which FE-link does not have header, we assign this error to all the FE-links without hit, ABCD error or raw data of the ROD.

ROD status words : table 32 of [1] Bit 16 TIM Clock Error (RODClockError) Bit 17 BOC Clock Error (RODClockError) Bit 20-23 DCS HV bits (Expanded. Not written in [1])

ROB status word : [4] Non-zero status word (ROBFragmentError) Bit 31 Discard: the ROBIN did not have a fragment for the requested L1ID because it is in "discard" mode. It therefore generated an empty fragment Bit 29 Lost: the ROBIN did not have a fragment for the requested L1ID. It therefore generated an empty fragment (MaskedROD) Bit 27 Truncation: the amount of data sent across S-Link for this fragment was larger than the maximum fragment size the ROBIN was configured to handle. Therefore this fragment has been truncated (TruncatedROD)

The detector event type of ROB (do not know where these are documented) Bit 20 : RODSimulatedData Bit 21 : Super-condensed mode (not BS error)

For enum to string conversion http://stackoverflow.com/questions/21456262/enum-to-string-in-c11

Definition at line 126 of file SCT_ByteStreamErrors.h.