 |
Belle II Software
release-05-02-19
|
19 #include <framework/core/Module.h>
20 #include <framework/datastore/StoreArray.h>
21 #include <framework/datastore/StoreObjPtr.h>
22 #include <ecl/dbobjects/ECLDigitWaveformParametersForMC.h>
23 #include <framework/database/DBObjPtr.h>
26 #include <ecl/digitization/EclConfiguration.h>
34 class ECLWaveformData;
36 class ECLWFAlgoParams;
41 class ECLDspWithExtraMCInfo;
69 class ECLDigitizerModule :
public Module {
91 virtual void event()
override;
94 virtual void endRun()
override;
107 fitparams_t::int_array_24x16_t;
108 using uint_pair_t = std::pair<unsigned int, unsigned int>;
112 short unsigned int idn;
113 short unsigned int inoise;
114 short unsigned int ifunc;
115 short unsigned int iss;
118 std::vector<crystallinks_t> m_tbl;
122 std::vector<fitparams_t> m_fitparams;
123 std::vector<ECLNoiseData>
m_noise;
124 std::vector<signalsample_t>
m_ss;
128 std::vector<adccounts_t>
m_adc;
136 std::vector<calibration_t>
m_calib;
143 int& m_lar,
int& m_ltr,
int& m_lq,
int& m_chi)
const ;
virtual void initialize() override
Initialize variables
virtual void event() override
Actual digitization of all hits in the ECL.
StoreArray< ECLDspWithExtraMCInfo > m_eclDspsWithExtraMCInfo
generated waveforms with extra MC information
StoreArray< ECLSimHit > m_eclSimHits
SimHits array
StoreArray< ECLHit > m_eclDiodeHits
diode hits array
std::pair< unsigned int, unsigned int > uint_pair_t
a pair of unsigned ints
StoreArray< ECLHit > m_eclHits
input arrays
void getfitparams(const ECLWaveformData &, const ECLWFAlgoParams &, fitparams_t &)
load waveform fit parameters for the shapeFitter function
std::vector< ECLNoiseData > m_noise
parameters for correlated noise simulation
std::vector< signalsample_t > m_ss
tabulated shape line
fitparams_t::int_array_24x16_t int_array_24x16_t
weighting coefficients amplitude calculation.
a struct for the parameters of the algorithm
std::string m_eclWaveformsName
name of background waveforms storage
void makeElectronicNoiseAndPedestal(int j, int *FitA)
fill the waveform array FitA by electronic noise and bias it for channel J [0-8735]
a struct for a signal sample
void shapeFitterWrapper(const int j, const int *FitA, const int m_ttrig, int &m_lar, int &m_ltr, int &m_lq, int &m_chi) const
function wrapper for waveform fit
std::vector< double > m_Awave
Storage for waveform saving thresholds.
ffsets for storages of ECL channels
virtual void beginRun() override
Nothing so far.
bool m_inter
internuclear counter effect
Class for accessing objects in the database.
std::vector< adccounts_t > m_adc
Storage for adc hits from entire calorimeter (8736 crystals)
bool m_storeDspWithExtraMCInfo
DSP with extra info flag.
void callbackHadronSignalShapes()
callback hadron signal shapes from database
std::vector< signalsample_t > m_ss_HadronShapeSimulations
tabulated shape line for hadron shape simulations
bool m_dspDataTest
DSP data usage flag.
std::vector< algoparams_t > m_idn
Fit algorihtm parameters shared by group of crystals.
void repack(const ECLWFAlgoParams &, algoparams_t &)
repack waveform fit parameters from ROOT format to plain array of unsigned short for the shapeFitter ...
StoreArray< ECLDsp > m_eclDsps
generated waveforms
a struct for the fit parameters
Abstract base class for different kinds of events.
fitparams_t::int_array_192x16_t int_array_192x16_t
weighting coefficients for time and amplitude calculation
Type-safe access to single objects in the data store.
StoreObjPtr< ECLWaveforms > m_eclWaveforms
compressed waveforms
float ascale
amplitude scale
unsigned int m_compAlgo
compression algorithm for background waveforms
void readDSPDB()
read Shaper-DSP data from root file
double m_WaveformThresholdOverride
If gt 0, value will override ECL_FPGA_StoreWaveform and apply value (in GeV) as threshold for all cry...
bool m_calibration
calibration flag
DBObjPtr< ECLDigitWaveformParametersForMC > m_waveformParametersMC
dbobject for hadron signal shapes
void makeWaveforms()
Produce and compress waveforms for beam background overlay.
StoreArray< ECLDigit > m_eclDigits
Output Arrays.
std::vector< calibration_t > m_calib
Storage for calibration constants.
ECLDigitizerModule()
Constructor.
virtual void terminate() override
Free memory.
StoreArray< ECLTrig > m_eclTrigs
trigger information
Accessor to arrays stored in the data store.
bool m_HadronPulseShape
hadron pulse shape flag
calibration constants per channel
virtual void endRun() override
Nothing so far.
a struct for the ADC count
int shapeSignals()
Emulate response of energy deposition in a crystal and attached photodiode and make waveforms.
double m_DspWithExtraMCInfoThreshold
Energy threshold above which to store DSPs with extra information.
Container for constant parameters used in waveform fits.
int m_ADCThreshold
ADC threshold for wavefom fits.
bool m_waveformMaker
produce only waveform digits
~ECLDigitizerModule()
Destructor.
bool m_background
Module parameters.