Belle II Software  release-08-01-10
TrgEclDigitizer.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 #include <TObject.h>
12 #include "trg/ecl/TrgEclMapping.h"
13 #include "trg/ecl/TrgEclDataBase.h"
14 #include "ecl/dataobjects/ECLHit.h"
15 #include "trg/ecl/dataobjects/TRGECLBGTCHit.h"
16 
17 namespace Belle2 {
24  class TrgEclDigitizer : public TObject {
25 
26  public:
27 
31  virtual ~TrgEclDigitizer();
32 
34  void setup(int);
36  void getTCHit(int);
38  void digitization01(std::vector<std::vector<double>>&,
39  std::vector<std::vector<double>>&);
41  void digitization02(std::vector<std::vector<double>>&,
42  std::vector<std::vector<double>>&);
44  void save(int);
46  void setWaveform(int wave) {_waveform = wave;}
48  void setFADC(int fadc) {_FADC = fadc;}
49 
50 
51 
53  double FADC(int, double);
55  double SimplifiedFADC(int, double);
57  double interFADC(double);
59  double ShapeF(double, double, double, double, double, double, double);
61  double ShapeF(double, double);
63  double u_max(double, double);
64 
65  private:
67  double TimeRange;
69  double TCEnergy[576][80];
71  double TCTiming[576][80];
73  double TCEnergy_tot[576];
75  double TCTiming_tot[576];
76 
77  // background TC Energy [GeV]
78  // double TCBGEnergy[576][80];
79  // background TC Timing [GeV]
80  // double TCBGTiming[576][80];
81 
83  double TCRawEnergy[576][60];
85  double TCRawTiming[576][60];
87  double TCRawBkgTag[576][60];
88 
93 
96  std::vector<std::vector<double>> MatrixParallel;
98  std::vector<std::vector<double>> MatrixSerial;
100  double TCBkgContribution[576][80];
102  double TCSigContribution[576][80];
104  int TCBeambkgTag[576][80];
108  double WaveForm[576][64];
110  int _FADC;
113  };
115 } // end namespace Belle2
class TrgEclDataBase;
int _FADC
Flag of choosing the method of waveform generation function 0: use simplifiedFADC,...
double TCTiming_tot[576]
TC Timing converted from Xtarl Timing [GeV].
virtual ~TrgEclDigitizer()
Destructor.
void save(int)
save fitting result into tables
double TCBkgContribution[576][80]
Beambackground contribution.
void setup(int)
setup fam module
double WaveForm[576][64]
TC Energy converted from Xtarl Energy [GeV].
double TCRawTiming[576][60]
Input TC timing[ns]
void setFADC(int fadc)
Set flag of waveform table.
double TCEnergy[576][80]
TC Energy converted from Xtarl Energy [GeV].
double TCSigContribution[576][80]
Signal contribution.
std::vector< std::vector< double > > MatrixParallel
Noise Matrix of Parallel and Serial Noise.
TrgEclDataBase * _DataBase
Object of DataBase.
double TCTiming[576][80]
TC Timing converted from Xtarl Timing [GeV].
void setWaveform(int wave)
Set flag of waveform table.
double TCRawBkgTag[576][60]
Input Beambackground tag
double interFADC(double)
Faster FADC using interpolation.
TrgEclDigitizer()
Constructor.
std::vector< std::vector< double > > MatrixSerial
Noise Low triangle Matrix of Serial noise
double TCRawEnergy[576][60]
Input TC energy[GeV].
double TimeRange
time range(default : -4000 ~ 4000 ns )
int _BeambkgTag
Flag of saving beam background tag or not.
double FADC(int, double)
FADC
double SimplifiedFADC(int, double)
FADC.
void digitization01(std::vector< std::vector< double >> &, std::vector< std::vector< double >> &)
fit method, digi with 125ns interval
double u_max(double, double)
Find max value between 2 vals;.
int _waveform
Flag of waveform table.
int TCBeambkgTag[576][80]
Beambackground tag.
double ShapeF(double, double, double, double, double, double, double)
return shape using FADC function
void getTCHit(int)
get TC Hits from Xtal hits
TrgEclMapping * _TCMap
Object of TC Mapping.
double TCEnergy_tot[576]
TC Energy converted from Xtarl Energy [GeV].
void digitization02(std::vector< std::vector< double >> &, std::vector< std::vector< double >> &)
original no fit method, digi with 12ns interval
A class of TC Mapping.
Definition: TrgEclMapping.h:26
Abstract base class for different kinds of events.