Belle II Software development
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
17namespace 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
void digitization01(std::vector< std::vector< double > > &, std::vector< std::vector< double > > &)
fit method, digi with 125ns interval
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.
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 digitization02(std::vector< std::vector< double > > &, std::vector< std::vector< double > > &)
original no fit method, digi with 12ns interval
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].
A class of TC Mapping.
Definition: TrgEclMapping.h:26
Abstract base class for different kinds of events.