Belle II Software  release-08-01-10
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 
14 class TH1F;
15 
16 namespace 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 
73  struct adccountspure_t {
74  double total;
75  double c[m_nsmp];
77  void AddHit(const double a, const double t0, const signalsamplepure_t& q);
78  };
79 
88  struct fitparamspure_t {
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.