Belle II Software development
EclConfigurationPure.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10
11/* ECL headers. */
12#include <ecl/digitization/EclConfiguration.h>
13
14class TH1F;
15
16namespace Belle2 {
21 namespace ECL {
22
25 public:
26 static constexpr int m_nch = 72 * 16;
27 static constexpr int m_nsmp = EclConfiguration::m_nsmp;
28 static constexpr double m_tmin = -15;
29 static constexpr int m_ntrg = EclConfiguration::m_ntrg;
30 static constexpr int m_nlPure = EclConfiguration::m_nl * 15;
31 static constexpr int m_ns = EclConfiguration::m_ns;
33 static constexpr int m_ndtPure = m_ns;
35 private:
37 static double m_tickPure;
38
39 public:
41 static double getTickPure()
42 {
43 if (m_tickPure < 0) {
45 }
46 return m_tickPure;
47 }
49 static void setTickPure(double newval)
50 {
51 m_tickPure = newval;
52 }
53
56 double m_sumscale;
57 double m_ft[m_nlPure * m_ns];
58 double m_ft1[m_nlPure * m_ns];
61 void InitSample(const TH1F*, const TH1F*);
69 double Accumulate(const double a, const double t0, double* s) const;
70 };
71
74 double total;
75 double c[m_nsmp];
77 void AddHit(const double a, const double t0, const signalsamplepure_t& q);
78 };
79
98 typedef double double_matrix[16][2 * m_ndtPure];
105 typedef double fine_array[2 * m_ndtPure];
107 double invC[16][16];
119 double c002;
126 double c001[16];
127 };
128
129 };
130
131 }
133}
Singleton class to hold the ECL configuration for pure CsI calorimeter.
static constexpr double m_tmin
lower range of the signal fitting region in ADC clocks
static double getTickPure()
Getter for m_tickPure.
static constexpr int m_ndtPure
number of points per ADC tick where signal fit procedure parameters are evaluated
static constexpr int m_ns
number of samples per ADC clock
static void setTickPure(double newval)
Setter for m_tickPure.
static constexpr int m_nlPure
length of samples signal in number of ADC clocks
static constexpr int m_nch
total number of electronic channels (crystals) in fwd endcap calorimeter
static double m_tickPure
Digitization tick for pure CsI calorimeter (microseconds)
static constexpr int m_ntrg
number of trigger counts per ADC clock tick
static constexpr int m_nsmp
number of ADC measurements for signal fitting
static constexpr int m_nl
length of samples signal in number of ADC clocks
static constexpr int m_ns
number of samples per ADC clock
static double getTick()
See m_tick.
static constexpr int m_ntrg
number of trigger counts per ADC clock tick
static constexpr int m_nsmp
number of ADC measurements for signal fitting
Abstract base class for different kinds of events.
a struct for the fit parameters for the pure CsI calorimeter
double total
total deposition (sum of m_s array)
void AddHit(const double a, const double t0, const signalsamplepure_t &q)
add hit method
A struct for the fit parameters for a single channel of the pure CsI calorimeter (in the simulation,...
double_matrix f1
first derivative of a signal response function
double double_matrix[16][2 *m_ndtPure]
Matrix used in shape fit algorithm.
double fine_array[2 *m_ndtPure]
Array used in shape fit algorithm.
fine_array c110
Intermediate coefficients for the left side of the system of linear equations to reconstruct amplitud...
double invC[16][16]
inverse noise covariance matrix
double_matrix c100
Intermediate coefficients for the right side of the system of linear equations to reconstruct amplitu...
a struct for a signal sample for the pure CsI calorimeter
void InitSample(const TH1F *, const TH1F *)
initialisation of signal sample
double m_ft[m_nlPure *m_ns]
Simulated signal shape.
double Accumulate(const double a, const double t0, double *s) const
double m_sumscale
energy deposit in fitting window scale factor
double m_ft1[m_nlPure *m_ns]
Simulated signal shape.