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 {
22
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) { m_SaveTCWaveForm = wave;}
48 void setFADC(int fadc) { m_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:
66
70 double m_TCEnergy[576][80];
72 double m_TCTiming[576][80];
74 double m_TCEnergy_tot[576];
76 double m_TCTiming_tot[576];
77
78 // background TC Energy [GeV]
79 // double TCBGEnergy[576][80];
80 // background TC Timing [GeV]
81 // double TCBGTiming[576][80];
82
84 double m_TCRawEnergy[576][60];
86 double m_TCRawTiming[576][60];
88 double m_TCRawBkgTag[576][60];
89
94
97 std::vector<std::vector<double>> m_MatrixParallel;
99 std::vector<std::vector<double>> m_MatrixSerial;
101 double m_TCBkgContribution[576][80];
103 double m_TCSigContribution[576][80];
105 int m_TCBeambkgTag[576][80];
109 double m_WaveForm[576][64];
114 };
115
116} // end namespace Belle2
class TrgEclDataBase;
virtual ~TrgEclDigitizer()
Destructor.
void save(int)
save fitting result into tables
std::vector< std::vector< double > > m_MatrixParallel
Noise Matrix of Parallel and Serial Noise.
void setup(int)
setup fam module
void setFADC(int fadc)
Set flag of waveform table.
double m_TCTiming[576][80]
TC Timing converted from Xtarl Timing [GeV].
double m_TCRawBkgTag[576][60]
Input Beambackground tag.
void setWaveform(int wave)
Set flag of waveform table.
void digitization01(std::vector< std::vector< double > > &, std::vector< std::vector< double > > &)
fit method, digi with 125ns interval
int m_SaveTCWaveForm
Flag of waveform table.
double m_TCRawEnergy[576][60]
Input TC energy[GeV].
double m_TCBkgContribution[576][80]
Beambackground contribution.
double m_TCEnergy_tot[576]
TC Energy converted from Xtarl Energy [GeV].
double m_TCRawTiming[576][60]
Input TC timing[ns].
double interFADC(double)
Faster FADC using interpolation.
double m_TCSigContribution[576][80]
Signal contribution.
TrgEclDataBase * m_DataBase
Object of DataBase.
double m_TCTiming_tot[576]
TC Timing converted from Xtarl Timing [GeV].
double FADC(int, double)
FADC.
double SimplifiedFADC(int, double)
FADC.
std::vector< std::vector< double > > m_MatrixSerial
Noise Low triangle Matrix of Serial noise.
double m_WaveForm[576][64]
TC Energy converted from Xtarl Energy [GeV].
double u_max(double, double)
Find max value between 2 vals;.
double m_TCEnergy[576][80]
TC Energy converted from Xtarl Energy [GeV].
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
int m_TCBeambkgTag[576][80]
Beambackground tag.
void getTCHit(int)
get TC Hits from Xtal hits
int m_FADC
Flag of choosing the method of waveform generation function 0: use simplifiedFADC,...
TrgEclMapping * m_TCMap
Object of TC Mapping.
int m_BeambkgTag
Flag of saving beam background tag or not.
double m_TimeRange
time range(default : -4000 ~ 4000 ns )
A class of TC Mapping.
Abstract base class for different kinds of events.