Belle II Software  release-05-02-19
TOPRawDigitConverterModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Marko Staric *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <framework/core/Module.h>
14 #include <string>
15 
16 #include <framework/datastore/StoreArray.h>
17 #include <framework/datastore/StoreObjPtr.h>
18 #include <top/dataobjects/TOPRawDigit.h>
19 #include <top/dataobjects/TOPProductionEventDebug.h>
20 #include <top/dataobjects/TOPDigit.h>
21 #include <top/dataobjects/TOPAsicMask.h>
22 
23 #include <framework/database/DBObjPtr.h>
24 #include <top/dbobjects/TOPCalTimebase.h>
25 #include <top/dbobjects/TOPCalChannelT0.h>
26 #include <top/dbobjects/TOPCalAsicShift.h>
27 #include <top/dbobjects/TOPCalModuleT0.h>
28 #include <top/dbobjects/TOPCalCommonT0.h>
29 #include <top/dbobjects/TOPCalChannelNoise.h>
30 #include <top/dbobjects/TOPFrontEndSetting.h>
31 #include <top/dbobjects/TOPCalTimeWalk.h>
32 
33 namespace Belle2 {
42  class TOPRawDigitConverterModule : public Module {
43 
44  public:
45 
50 
55 
60  virtual void initialize() override;
61 
66  virtual void beginRun() override;
67 
71  virtual void event() override;
72 
77  virtual void endRun() override;
78 
83  virtual void terminate() override;
84 
85  private:
86 
87  // steering parameters
88  std::string m_inputRawDigitsName;
89  std::string m_outputDigitsName;
96  double m_pedestalRMS;
97  double m_minPulseWidth;
98  double m_maxPulseWidth;
100  unsigned m_storageDepth;
102  bool m_setPhase;
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 
Belle2::TOPRawDigitConverterModule::TOPRawDigitConverterModule
TOPRawDigitConverterModule()
Constructor.
Definition: TOPRawDigitConverterModule.cc:50
Belle2::TOPRawDigitConverterModule::m_setPhase
bool m_setPhase
if true, set phase in TOPRawDigits
Definition: TOPRawDigitConverterModule.h:110
Belle2::TOPRawDigitConverterModule::m_useAsicShiftCalibration
bool m_useAsicShiftCalibration
if true, use asic shifts calibration
Definition: TOPRawDigitConverterModule.h:99
Belle2::TOPRawDigitConverterModule::m_rawDigits
StoreArray< TOPRawDigit > m_rawDigits
collection of raw digits
Definition: TOPRawDigitConverterModule.h:136
Belle2::TOPRawDigitConverterModule::m_calpulseHeightMin
int m_calpulseHeightMin
minimal height of calibration pulse
Definition: TOPRawDigitConverterModule.h:115
Belle2::TOPRawDigitConverterModule::m_feSetting
DBObjPtr< TOPFrontEndSetting > m_feSetting
front-end settings
Definition: TOPRawDigitConverterModule.h:121
Belle2::TOPRawDigitConverterModule::event
virtual void event() override
Event processor.
Definition: TOPRawDigitConverterModule.cc:195
Belle2::TOPRawDigitConverterModule::terminate
virtual void terminate() override
Termination action.
Definition: TOPRawDigitConverterModule.cc:479
Belle2::TOPRawDigitConverterModule::m_calpulseTimeMin
double m_calpulseTimeMin
minimal time of calibration pulse
Definition: TOPRawDigitConverterModule.h:117
Belle2::TOPRawDigitConverterModule::~TOPRawDigitConverterModule
virtual ~TOPRawDigitConverterModule()
Destructor.
Definition: TOPRawDigitConverterModule.cc:109
Belle2::TOPRawDigitConverterModule::m_useCommonT0Calibration
bool m_useCommonT0Calibration
if true, use common T0 calibration
Definition: TOPRawDigitConverterModule.h:102
Belle2::TOPRawDigitConverterModule::m_pedestalRMS
double m_pedestalRMS
r.m.s of pedestals [ADC counts]
Definition: TOPRawDigitConverterModule.h:104
Belle2::TOPRawDigitConverterModule::m_timeWalk
OptionalDBObjPtr< TOPCalTimeWalk > m_timeWalk
time-walk calibration constants
Definition: TOPRawDigitConverterModule.h:129
Belle2::TOPRawDigitConverterModule::m_useModuleT0Calibration
bool m_useModuleT0Calibration
if true, use module T0 calibration
Definition: TOPRawDigitConverterModule.h:101
Belle2::TOPRawDigitConverterModule::m_calpulseWidthMin
double m_calpulseWidthMin
minimal width of calibration pulse
Definition: TOPRawDigitConverterModule.h:113
Belle2::TOPRawDigitConverterModule::beginRun
virtual void beginRun() override
Called when entering a new run.
Definition: TOPRawDigitConverterModule.cc:132
Belle2::TOPRawDigitConverterModule::m_digits
StoreArray< TOPDigit > m_digits
collection of digits
Definition: TOPRawDigitConverterModule.h:138
Belle2::TOPRawDigitConverterModule::m_storageDepth
unsigned m_storageDepth
ASIC analog storage depth.
Definition: TOPRawDigitConverterModule.h:108
Belle2::TOPRawDigitConverterModule::m_syncTimeBase
double m_syncTimeBase
SSTin period.
Definition: TOPRawDigitConverterModule.h:142
Belle2::DBObjPtr
Class for accessing objects in the database.
Definition: DBObjPtr.h:31
Belle2::OptionalDBObjPtr
Optional DBObjPtr: This class behaves the same as the DBObjPtr except that it will not raise errors w...
Definition: DBObjPtr.h:55
Belle2::TOPRawDigitConverterModule::m_noises
DBObjPtr< TOPCalChannelNoise > m_noises
r.m.s.
Definition: TOPRawDigitConverterModule.h:133
Belle2::TOPRawDigitConverterModule::endRun
virtual void endRun() override
End-of-run action.
Definition: TOPRawDigitConverterModule.cc:475
Belle2::TOPSampleTimes
Calibration constants of a singe ASIC channel: time axis (sample times)
Definition: TOPSampleTimes.h:34
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::TOPRawDigitConverterModule::m_asicMask
StoreObjPtr< TOPAsicMask > m_asicMask
masked asics in firmware
Definition: TOPRawDigitConverterModule.h:139
Belle2::TOPRawDigitConverterModule::m_inputRawDigitsName
std::string m_inputRawDigitsName
name of TOPRawDigit store array
Definition: TOPRawDigitConverterModule.h:96
Belle2::TOPRawDigitConverterModule::m_eventDebugs
StoreArray< TOPProductionEventDebug > m_eventDebugs
collection of debug data
Definition: TOPRawDigitConverterModule.h:137
Belle2::TOPRawDigitConverterModule::m_channelT0
DBObjPtr< TOPCalChannelT0 > m_channelT0
channel T0 calibration constants
Definition: TOPRawDigitConverterModule.h:125
Belle2::TOPRawDigitConverterModule::m_commonT0
DBObjPtr< TOPCalCommonT0 > m_commonT0
common T0 calibration constants
Definition: TOPRawDigitConverterModule.h:128
Belle2::TOPRawDigitConverterModule::m_outputDigitsName
std::string m_outputDigitsName
name of TOPDigit store array
Definition: TOPRawDigitConverterModule.h:97
Belle2::TOPRawDigitConverterModule::initialize
virtual void initialize() override
Initialize the Module.
Definition: TOPRawDigitConverterModule.cc:114
Belle2::TOPRawDigitConverterModule::m_useTimeWalkCalibration
bool m_useTimeWalkCalibration
if true, use time-walk calibration
Definition: TOPRawDigitConverterModule.h:103
Belle2::TOPRawDigitConverterModule::m_minPulseWidth
double m_minPulseWidth
min pulse width to set digit as good [ns]
Definition: TOPRawDigitConverterModule.h:105
Belle2::TOPRawDigitConverterModule::m_calpulseHeightMax
int m_calpulseHeightMax
maximal height of calibration pulse
Definition: TOPRawDigitConverterModule.h:116
Belle2::TOPRawDigitConverterModule::m_moduleT0
DBObjPtr< TOPCalModuleT0 > m_moduleT0
module T0 calibration constants
Definition: TOPRawDigitConverterModule.h:127
Belle2::TOPRawDigitConverterModule::m_useSampleTimeCalibration
bool m_useSampleTimeCalibration
if true, use sample time calibration
Definition: TOPRawDigitConverterModule.h:98
Belle2::TOPRawDigitConverterModule::m_timebase
DBObjPtr< TOPCalTimebase > m_timebase
sample time calibration constants
Definition: TOPRawDigitConverterModule.h:124
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::TOPRawDigitConverterModule::m_minWidthXheight
double m_minWidthXheight
minimal width * height [ns * ADC counts]
Definition: TOPRawDigitConverterModule.h:107
Belle2::TOPRawDigitConverterModule::m_useChannelT0Calibration
bool m_useChannelT0Calibration
if true, use channel T0 calibration
Definition: TOPRawDigitConverterModule.h:100
Belle2::TOPRawDigitConverterModule::m_sampleTimes
TOPSampleTimes m_sampleTimes
equidistant in case no calibration required
Definition: TOPRawDigitConverterModule.h:130
Belle2::TOPRawDigitConverterModule::m_maxPulseWidth
double m_maxPulseWidth
max pulse width to set digit as good [ns]
Definition: TOPRawDigitConverterModule.h:106
Belle2::TOPRawDigitConverterModule::m_asicShift
DBObjPtr< TOPCalAsicShift > m_asicShift
ASIC shifts calibration constants.
Definition: TOPRawDigitConverterModule.h:126
Belle2::TOPRawDigitConverterModule::m_calpulseTimeMax
double m_calpulseTimeMax
maximal time of calibration pulse
Definition: TOPRawDigitConverterModule.h:118
Belle2::TOPRawDigitConverterModule::m_calpulseWidthMax
double m_calpulseWidthMax
maximal width of calibration pulse
Definition: TOPRawDigitConverterModule.h:114
Belle2::TOPRawDigitConverterModule::m_lookBackWindows
int m_lookBackWindows
number of "look back" windows
Definition: TOPRawDigitConverterModule.h:109
Belle2::TOPRawDigitConverterModule::m_calibrationChannel
int m_calibrationChannel
ASIC channel number with calibration pulse.
Definition: TOPRawDigitConverterModule.h:112