Belle II Software development
TOPRawDigitConverterModule.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 <framework/core/Module.h>
12#include <string>
13
14#include <framework/datastore/StoreArray.h>
15#include <framework/datastore/StoreObjPtr.h>
16#include <top/dataobjects/TOPRawDigit.h>
17#include <top/dataobjects/TOPProductionEventDebug.h>
18#include <top/dataobjects/TOPDigit.h>
19#include <top/dataobjects/TOPAsicMask.h>
20
21#include <framework/database/DBObjPtr.h>
22#include <top/dbobjects/TOPCalTimebase.h>
23#include <top/dbobjects/TOPCalChannelT0.h>
24#include <top/dbobjects/TOPCalAsicShift.h>
25#include <top/dbobjects/TOPCalModuleT0.h>
26#include <top/dbobjects/TOPCalCommonT0.h>
27#include <top/dbobjects/TOPCalChannelNoise.h>
28#include <top/dbobjects/TOPFrontEndSetting.h>
29#include <top/dbobjects/TOPCalTimeWalk.h>
30
31namespace Belle2 {
41
42 public:
43
48
53
58 virtual void initialize() override;
59
64 virtual void beginRun() override;
65
69 virtual void event() override;
70
75 virtual void endRun() override;
76
81 virtual void terminate() override;
82
83 private:
84
85 // steering parameters
87 std::string m_outputDigitsName;
98 unsigned m_storageDepth;
110 bool m_addRelations = false;
112 // front-end settings (lookback, storage depths etc)
115 // time calibration
124 // r.m.s of pedestals (noise) of individual channels
127 // collections
133 // other
134 double m_syncTimeBase = 0;
136 };
137
139} // Belle2 namespace
140
Class for accessing objects in the database.
Definition: DBObjPtr.h:21
Base class for Modules.
Definition: Module.h:72
Optional DBObjPtr: This class behaves the same as the DBObjPtr except that it will not raise errors w...
Definition: DBObjPtr.h:48
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
TOPRawDigits to TOPDigits converter.
double m_pedestalRMS
r.m.s of pedestals [ADC counts]
StoreArray< TOPRawDigit > m_rawDigits
collection of raw digits
DBObjPtr< TOPCalTimebase > m_timebase
sample time calibration constants
int m_lookBackWindows
number of "look back" windows
DBObjPtr< TOPCalAsicShift > m_asicShift
ASIC shifts calibration constants.
DBObjPtr< TOPFrontEndSetting > m_feSetting
front-end settings
double m_maxPulseWidth
max pulse width to set digit as good [ns]
int m_calpulseHeightMax
maximal height of calibration pulse
double m_calpulseWidthMax
maximal width of calibration pulse
DBObjPtr< TOPCalCommonT0 > m_commonT0
common T0 calibration constants
bool m_useAsicShiftCalibration
if true, use asic shifts calibration
double m_minPulseWidth
min pulse width to set digit as good [ns]
bool m_useSampleTimeCalibration
if true, use sample time calibration
DBObjPtr< TOPCalChannelT0 > m_channelT0
channel T0 calibration constants
bool m_useTimeWalkCalibration
if true, use time-walk calibration
DBObjPtr< TOPCalChannelNoise > m_noises
r.m.s.
StoreArray< TOPProductionEventDebug > m_eventDebugs
collection of debug data
double m_calpulseTimeMin
minimal time of calibration pulse
int m_calpulseHeightMin
minimal height of calibration pulse
std::string m_outputDigitsName
name of TOPDigit store array
std::string m_inputRawDigitsName
name of TOPRawDigit store array
OptionalDBObjPtr< TOPCalTimeWalk > m_timeWalk
time-walk calibration constants
bool m_useChannelT0Calibration
if true, use channel T0 calibration
bool m_useCommonT0Calibration
if true, use common T0 calibration
bool m_useModuleT0Calibration
if true, use module T0 calibration
StoreArray< TOPDigit > m_digits
collection of digits
DBObjPtr< TOPCalModuleT0 > m_moduleT0
module T0 calibration constants
int m_calibrationChannel
ASIC channel number with calibration pulse.
double m_calpulseWidthMin
minimal width of calibration pulse
double m_minWidthXheight
minimal width * height [ns * ADC counts]
StoreObjPtr< TOPAsicMask > m_asicMask
masked asics in firmware
bool m_setPhase
if true, set phase in TOPRawDigits
double m_calpulseTimeMax
maximal time of calibration pulse
bool m_addRelations
switch ON/OFF relations to TOPRawDigits
TOPSampleTimes m_sampleTimes
equidistant in case no calibration required
unsigned m_storageDepth
ASIC analog storage depth.
Calibration constants of a singe ASIC channel: time axis (sample times)
virtual void initialize() override
Initialize the Module.
virtual void event() override
Event processor.
virtual void endRun() override
End-of-run action.
virtual void terminate() override
Termination action.
virtual void beginRun() override
Called when entering a new run.
Abstract base class for different kinds of events.