Belle II Software
release-08-01-10
|
This object contains ECL DSP coefs – electromagnetic calorimeter digital signal processing coefficients. More...
#include <ECLDspData.h>
Public Member Functions | |
ECLDspData (unsigned char board_number=0) | |
Initialize DSP coefficients class from binary file. More... | |
std::vector< short int > | getExtraData () const |
void | getF (std::vector< short int > &dst) const |
Array with tabulated signal waveform. | |
void | getF1 (std::vector< short int > &dst) const |
Array with tabulated derivative of signal waveform. | |
void | getF31 (std::vector< short int > &dst) const |
Array FG31, used to estimate signal amplitude. More... | |
void | getF32 (std::vector< short int > &dst) const |
Array FG32, used to estimate A * delta_t. More... | |
void | getF33 (std::vector< short int > &dst) const |
Array FG33, used to estimate pedestal height in signal. More... | |
void | getF41 (std::vector< short int > &dst) const |
Alternative for FG31 for signals with small amplitude. | |
void | getF43 (std::vector< short int > &dst) const |
Alternative for FG33 for signals with small amplitude. | |
unsigned char | getverMaj () const |
unsigned char | getverMin () const |
short int | getaAT () const |
short int | getlAT () const |
short int | getsT () const |
short int | gethT () const |
short int | getchiThresh () const |
chi2 threshold for fit quality flag | |
unsigned char | getk1 () const |
multipliers power of 2 for f, f1 | |
unsigned char | getk2 () const |
multipliers power of 2 for chi2 calculation | |
unsigned char | getka () const |
Number of bits for FG31, FG41. | |
unsigned char | getkb () const |
Number of bits for FG32. | |
unsigned char | getkc () const |
Number of bits for FG33, FG43. | |
unsigned char | gety0Startr () const |
start point for pedestal calculation | |
unsigned char | getBoardNumber () const |
Return ShaperDSP board number, 0..11. | |
void | setExtraData (const std::vector< short int > &newval) |
SETTERS. More... | |
void | setF (const std::vector< short int > &src) |
Array with tabulated signal waveform. | |
void | setF1 (const std::vector< short int > &src) |
Array with tabulated derivative of signal waveform. | |
void | setF31 (const std::vector< short int > &src) |
Array FG31, used to estimate signal amplitude. More... | |
void | setF32 (const std::vector< short int > &src) |
Array FG32, used to estimate A * delta_t. More... | |
void | setF33 (const std::vector< short int > &src) |
Array FG33, used to estimate pedestal height in signal. More... | |
void | setF41 (const std::vector< short int > &src) |
Alternative for FG31 for signals with small amplitude. | |
void | setF43 (const std::vector< short int > &src) |
Alternative for FG33 for signals with small amplitude. | |
void | setverMaj (unsigned char val) |
Sets major version of DSP coefficients. | |
void | setverMin (unsigned char val) |
Sets minor version of DSP coefficients. | |
void | setaAT (short int val) |
Set Low amp threshold (https://confluence.desy.de/display/BI/Electronics+Thresholds) | |
void | setlAT (short int val) |
Set Low amp threshold (https://confluence.desy.de/display/BI/Electronics+Thresholds) | |
void | setsT (short int val) |
Set Skip threshold (https://confluence.desy.de/display/BI/Electronics+Thresholds) | |
void | sethT (short int val) |
Set Hit threshold (https://confluence.desy.de/display/BI/Electronics+Thresholds) | |
void | setchiThresh (short int val) |
Set chi2 threshold for fit quality flag. | |
void | setk1 (unsigned char val) |
Set multipliers power of 2 for f, f1. | |
void | setk2 (unsigned char val) |
Set multipliers power of 2 for chi2 calculation. | |
void | setka (unsigned char val) |
Set number of bits for FG31, FG41. | |
void | setkb (unsigned char val) |
Set number of bits for FG32. | |
void | setkc (unsigned char val) |
Set number of bits for FG33, FG43. | |
void | sety0Startr (unsigned char val) |
Set start point for pedestal calculation. | |
Static Public Member Functions | |
static constexpr short int | getPackerVersion () |
GETTERS. More... | |
Private Member Functions | |
void | packCoefVector (const std::vector< short int > &src, std::vector< short int > &dst) |
Convert vector of DSP coefficients (src) to ECLDspData internal format (dst). More... | |
void | unpackCoefVector (const std::vector< short int > &src, std::vector< short int > &dst) const |
Convert vector of DSP coefficients (src) to ECLDspData internal format (dst). More... | |
ClassDef (ECLDspData, 1) | |
ClassDef. | |
Private Attributes | |
unsigned char | m_boardNumber |
ShaperDSP board number, 0..11. | |
unsigned char | m_verMaj |
Major version of DSP coefficients. | |
unsigned char | m_verMin |
Minor version of DSP coefficients. | |
unsigned char | m_ka |
Number of bits for FG31, FG41. | |
unsigned char | m_kb |
Number of bits for FG32. | |
unsigned char | m_kc |
Number of bits for FG33, FG43. | |
unsigned char | m_y0Startr |
start point for pedestal calculation | |
short int | m_chiThresh |
chi2 threshold for quality bit More... | |
unsigned char | m_k1Chi |
multipliers power of 2 for f, f1 | |
unsigned char | m_k2Chi |
multipliers power of 2 for chi2 calculation | |
short int | m_hitThresh |
See https://confluence.desy.de/display/BI/Electronics+Thresholds. | |
short int | m_lowAmpThresh |
See https://confluence.desy.de/display/BI/Electronics+Thresholds. | |
short int | m_skipThresh |
See https://confluence.desy.de/display/BI/Electronics+Thresholds. | |
short int | m_adcAlwThresh |
See https://confluence.desy.de/display/BI/Electronics+Thresholds. | |
std::vector< short int > | m_fg31 = {} |
See documentation for method 'getF31'. | |
std::vector< short int > | m_fg32 = {} |
See documentation for method 'getF32'. | |
std::vector< short int > | m_fg33 = {} |
See documentation for method 'getF33'. | |
std::vector< short int > | m_fg41 = {} |
See documentation for method 'getF41'. | |
std::vector< short int > | m_fg43 = {} |
See documentation for method 'getF43'. | |
std::vector< short int > | m_f = {} |
See documentation for method 'getF'. | |
std::vector< short int > | m_f1 = {} |
See documentation for method 'getF1'. | |
std::vector< short int > | m_extraData |
This vector contains all parameters that didn't exist in the initial version of ECL DSP file format. More... | |
Static Private Attributes | |
static const short int | c_packerVersion = 2 |
Version of packer used in packCoefVector by default Versioon of unpacker is dynamically determined from the data. | |
This object contains ECL DSP coefs – electromagnetic calorimeter digital signal processing coefficients.
Payloads with these objects are used in two use cases.
For detailed overview of ECLDSP file structure see Confluence, https://confluence.desy.de/display/BI/ECL+Technical+Notes Attached file ECL-TN-2013-02 (digi.pdf)
Definition at line 34 of file ECLDspData.h.
|
inlineexplicit |
Initialize DSP coefficients class from binary file.
board_number | Id of specific shaperDSP, 0..11 |
Definition at line 105 of file ECLDspData.h.
|
inline |
Definition at line 178 of file ECLDspData.h.
|
inline |
Definition at line 135 of file ECLDspData.h.
|
inline |
Array FG31, used to estimate signal amplitude.
Calculated from F and covariance matrix.
Definition at line 149 of file ECLDspData.h.
|
inline |
Array FG32, used to estimate A * delta_t.
(A – amplitude, delta_t – time shift for linearization)
Calculated from F and covariance matrix.
Definition at line 156 of file ECLDspData.h.
|
inline |
Array FG33, used to estimate pedestal height in signal.
Calculated from F and covariance matrix.
Definition at line 162 of file ECLDspData.h.
|
inline |
Definition at line 190 of file ECLDspData.h.
|
inline |
Definition at line 182 of file ECLDspData.h.
|
inlinestaticconstexpr |
GETTERS.
Return version of packer algorithm used in [un]packCoefVector
Definition at line 129 of file ECLDspData.h.
|
inline |
Definition at line 186 of file ECLDspData.h.
|
inline |
Definition at line 172 of file ECLDspData.h.
|
inline |
Definition at line 174 of file ECLDspData.h.
|
private |
Convert vector of DSP coefficients (src) to ECLDspData internal format (dst).
The internal format of coefficient vectors stored in this object is different from their real values: this improves data compression by ~200%. Thus, any accessor methods to m_f* vectors utilize packCoefVector and unpackCoefVector.
Definition at line 12 of file ECLDspData.cc.
|
inline |
SETTERS.
Sets vector with all parameters that haven't been included in basic ECL DSP file format
Definition at line 217 of file ECLDspData.h.
|
inline |
Array FG31, used to estimate signal amplitude.
Calculated from F and covariance matrix.
Definition at line 231 of file ECLDspData.h.
|
inline |
Array FG32, used to estimate A * delta_t.
(A – amplitude, delta_t – time shift for linearization)
Calculated from F and covariance matrix.
Definition at line 238 of file ECLDspData.h.
|
inline |
Array FG33, used to estimate pedestal height in signal.
Calculated from F and covariance matrix.
Definition at line 244 of file ECLDspData.h.
|
private |
Convert vector of DSP coefficients (src) to ECLDspData internal format (dst).
See documentation for packCoefVector on why this was necessary.
Definition at line 79 of file ECLDspData.cc.
|
private |
chi2 threshold for quality bit
We use condition chi^2 < (Amp^2 / (2^{k2Chi}) + chiThresh)
Definition at line 55 of file ECLDspData.h.
|
private |
This vector contains all parameters that didn't exist in the initial version of ECL DSP file format.
This vector allows loose coupling between ECLDspData class and ECL DSP file format.
m_extraData[0] – FORMAT_VERSION m_extraData[1] – PACKER_VERSION
Definition at line 92 of file ECLDspData.h.