 |
Belle II Software
release-05-02-19
|
11 #ifndef ECLWAVEFORMDATA_H
12 #define ECLWAVEFORMDATA_H
31 class ECLWaveformData :
public TObject {
50 if (i < j) std::swap(i, j);
61 for (
int i = 0; i < 16; i++) {
62 for (
int j = 0; j < i; j++) M[i][j] = M[j][i] = *A++;
71 for (
int i = 0; i < 16; i++) {
72 for (
int j = 0; j < i; j++) M[i][j] = M[j][i] = *A++;
78 void storeMatrix(
const std::array<std::array<float, 16>, 16>& M)
81 for (
int i = 0; i < 16; i++) {
82 for (
int j = 0; j < i; j++) *A++ = M[i][j];
88 void storeMatrix(
const std::array<std::array<double, 16>, 16>& M)
91 for (
int i = 0; i < 16; i++) {
92 for (
int j = 0; j < i; j++) *A++ = static_cast<float>(M[i][j]);
116 for (
int i = 0; i < 10; i++)
124 for (
int i = 0; i < 10; i++)
155 int getka()
const {
return (
int)
ka;}
156 int getkb()
const {
return (
int)
kb;}
157 int getkc()
const {
return (
int)
kc;}
160 int getk1()
const {
return (
int)
k1Chi;}
161 int getk2()
const {
return (
int)
k2Chi;}
166 ClassDef(ECLWFAlgoParams, 1)
170 class ECLNoiseData :
public TObject {
186 void getArray(
float NoiseData[496])
const {
for (
int i = 0; i < 496; i++) { NoiseData[i] = (float)
m_matrixElement[i];} }
192 for (
int i = 0; i < 31; i++) {
193 for (
int j = 0; j < 31; j++) {
210 for (
int i = 0; i < 31; i++) {
212 for (
int j = 0; j <= i; j++) sum += z[j] * (*A++);
221 ClassDef(ECLNoiseData, 1)
226 class ECLLookupTable :
public TObject {
232 unsigned int operator[](
unsigned int key)
const
Int_t y0Startr
start point for pedestal calculation
unsigned int operator[](unsigned int key) const
Array-like access operator.
Int_t kc
multipliers power of 2 for fg33,fg43
Int_t lowAmpThresh
threshold to calculate time
Int_t k1Chi
multipliers power of 2 for f
Int_t ka
multipliers power of 2 for fg31,fg41
void getArray(float NoiseData[496]) const
Getter method for matrix as one dimentional array.
ClassDef(ECLLookupTable, 1)
ClassDef.
Int_t kb
multipliers power of 2 for fg32
Abstract base class for different kinds of events.
Class for a lookup table.
std::vector< unsigned int > m_content
index to index lookup table
static const size_t c_nElements
number of independent elements
float getMatrixElement(size_t i) const
Getter method for independent matrix element.
Int_t skipThresh
threshold to send data to collector
Int_t chiThresh
chi2 threshold for quality bit
void generateCorrelatedNoise(const float z[31], float x[31]) const
sampling a random vector x from the 31-dimensional multivariate normal distribution with covariance m...
void setMatrixElement(size_t i, float value)
Setter method for independent matrix element.
Float_t m_matrixElement[c_nElements]
electronic noise matrix
Container for constant parameters used in waveform fits.
Int_t hitThresh
hardware threshold(to start digitization)
ECLLookupTable()
Constructor.
void getMatrix(float M[31][31]) const
Getter method for matrix as two dimentional array.
Int_t k2Chi
multipliers power of 2 for chi2 calculation