Belle II Software release-09-00-11
KLMDQMModule.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/* KLM headers. */
12#include <klm/dataobjects/bklm/BKLMElementNumbers.h>
13#include <klm/dataobjects/bklm/BKLMHit1d.h>
14#include <klm/dataobjects/eklm/EKLMElementNumbers.h>
15#include <klm/dataobjects/KLMHit2d.h>
16#include <klm/dataobjects/KLMDigit.h>
17#include <klm/dataobjects/KLMChannelArrayIndex.h>
18#include <klm/dataobjects/KLMElementNumbers.h>
19#include <klm/dataobjects/KLMSectorArrayIndex.h>
20#include <klm/time/KLMTime.h>
21
22/* Basf2 headers. */
23#include <framework/core/HistoModule.h>
24#include <framework/datastore/StoreArray.h>
25#include <framework/datastore/StoreObjPtr.h>
26#include <mdst/dataobjects/TRGSummary.h>
27#include <rawdata/dataobjects/RawFTSW.h>
28#include <rawdata/dataobjects/RawKLM.h>
29
30/* ROOT headers. */
31#include <TH1F.h>
32#include <TH2F.h>
33
34#include <array>
35
36namespace Belle2 {
48 class KLMDQMModule : public HistoModule {
49
50 public:
51
56
61
65 void defineHisto() override;
66
70 void initialize() override;
71
75 void beginRun() override;
76
80 void event() override;
81
85 void endRun() override;
86
90 void terminate() override;
91
92 private:
93
96
98 c_0x8 = 1,
99
101 c_0x4 = 2,
102
104 c_0x2 = 3,
105
107 c_0x1 = 4,
108
109 };
110
113
116
119
122
125
128
131
134
137
140
143
146
149
152
155
158
161
164
167
172
175
178
181
184
187
190
193
196
199
202
205
208
211
214
217
220
223
226
229
232
235
238
241
244
247
250
253
256
259
262
264 static constexpr std::array<TRGSummary::ETimingType, 3> c_KlmL1Triggers = {
268 };
269
270 };
271
273}
static constexpr int getMaximalSectorGlobalNumber()
Get maximal sector global number.
EKLM element numbers.
static constexpr int getMaximalSectionNumber()
Get maximal section number.
static constexpr int getMaximalSectorGlobalNumberKLMOrder()
Get maximal sector global number with KLM ordering (section, sector).
HistoModule.h is supposed to be used instead of Module.h for the modules with histogram definitions t...
Definition: HistoModule.h:29
KLM channel array index.
KLM data quality monitor module.
Definition: KLMDQMModule.h:48
double m_BKLMScintTimeMin
Min time for BKLM Scint.
Definition: KLMDQMModule.h:124
TH1F * m_DigitsMultiStripEKLM
Number of multi-strip digits: EKLM scintillators.
Definition: KLMDQMModule.h:192
StoreArray< RawFTSW > m_RawFtsws
Raw FTSW.
Definition: KLMDQMModule.h:246
const int m_ChannelHitHistogramsEKLM
Number of channel hit histograms per sector for EKLM.
Definition: KLMDQMModule.h:115
TH1F * m_FE_EKLM_Plane_1
feature extraction status for EKLM
Definition: KLMDQMModule.h:228
TH1F * m_PlaneBKLMPhi
Plane occupancy: BKLM, phi readout.
Definition: KLMDQMModule.h:160
TH1F * m_TriggerBitsBKLM
Trigger bits: BKLM scintillators.
Definition: KLMDQMModule.h:195
~KLMDQMModule()
Destructor.
Definition: KLMDQMModule.cc:79
TH1F * m_TimeScintillatorEKLM
Time: EKLM scintillators.
Definition: KLMDQMModule.h:157
double m_RPCTimeMax
Max time for RPC.
Definition: KLMDQMModule.h:121
StoreArray< KLMDigit > m_Digits
KLM digits.
Definition: KLMDQMModule.h:255
double m_RPCTimeMin
Min time for RPC.
Definition: KLMDQMModule.h:118
void initialize() override
Initializer.
TH1F * m_DigitsScintillatorEKLM
Number of digits: EKLM scintillators.
Definition: KLMDQMModule.h:186
TH1F ** m_ChannelHits[EKLMElementNumbers::getMaximalSectorGlobalNumberKLMOrder()+BKLMElementNumbers::getMaximalSectorGlobalNumber()]
Number of hits per channel.
Definition: KLMDQMModule.h:171
TH1F * m_TimeRPC
Time: BKLM RPCs.
Definition: KLMDQMModule.h:148
TH1F * m_DigitsKLM
Number of digits: whole KLM.
Definition: KLMDQMModule.h:177
double m_Revo9DCArrivalTimeMax
Max time for revo9DCArrivalTime for RPC.
Definition: KLMDQMModule.h:139
void event() override
This method is called for each event.
const KLMElementNumbers * m_ElementNumbers
KLM element numbers.
Definition: KLMDQMModule.h:237
KLMDQMModule()
Constructor.
Definition: KLMDQMModule.cc:23
double m_Revo9DCArrivalTimeMin
Min time for revo9DCArrivalTime for RPC.
Definition: KLMDQMModule.h:136
double m_EKLMScintTimeMax
Max time for EKLM Scint.
Definition: KLMDQMModule.h:133
const int m_ChannelHitHistogramsBKLM
Number of channel hit histograms per sector for BKLM.
Definition: KLMDQMModule.h:112
TH1F * m_TriggerBitsEKLM
Trigger bits: EKLM scintillators.
Definition: KLMDQMModule.h:198
void endRun() override
This method is called if the current run ends.
const EKLMElementNumbers * m_eklmElementNumbers
Element numbers.
Definition: KLMDQMModule.h:240
double m_BKLMScintTimeMax
Max time for BKLM Scint.
Definition: KLMDQMModule.h:127
StoreObjPtr< TRGSummary > m_trgSummary
Trigger summary (event-level L1 bits).
Definition: KLMDQMModule.h:252
void terminate() override
This method is called at the end of the event processing.
TH1F * m_TimeRevo9DCArrivalTime
Time: revo9DCArrivalTime for RPC.
Definition: KLMDQMModule.h:151
TH1F * m_PlaneBKLMZ
Plane occupancy: BKLM, z readout.
Definition: KLMDQMModule.h:163
TH1F * m_TimeScintillatorBKLM
Time: BKLM scintillators.
Definition: KLMDQMModule.h:154
TH1F * m_FE_BKLM_Layer_1
feature extraction status for BKLM Scintillator
Definition: KLMDQMModule.h:222
TH1F * m_DigitsRPC
Number of digits: BKLM RPCs.
Definition: KLMDQMModule.h:180
TH1F * m_TriggersHERInj
Histogram to be used for normalization of occupancy after HER injection.
Definition: KLMDQMModule.h:213
void beginRun() override
Called when entering a new run.
TH1F * m_DigitsAfterHERInj
Number of KLM Digits after LER injection.
Definition: KLMDQMModule.h:210
TH1F * m_DigitsScintillatorBKLM
Number of digits: BKLM scintillators.
Definition: KLMDQMModule.h:183
TH1F * m_TriggersLERInj
Histogram to be used for normalization of occupancy after LER injection.
Definition: KLMDQMModule.h:207
TH1F * m_DigitsMultiStripBKLM
Number of multi-strip digits: BKLM scintillators.
Definition: KLMDQMModule.h:189
const KLMSectorArrayIndex * m_SectorArrayIndex
KLM sector array index.
Definition: KLMDQMModule.h:234
TriggerBitsBin
Bins for the trigger bits historgrams.
Definition: KLMDQMModule.h:95
StoreArray< BKLMHit1d > m_BklmHit1ds
BKLM 1d hits.
Definition: KLMDQMModule.h:258
TH1F * m_DigitsAfterLERInj
Number of KLM Digits after LER injection.
Definition: KLMDQMModule.h:204
TH1F * m_DAQInclusion
KLM DAQ inclusion.
Definition: KLMDQMModule.h:145
TH1F * m_FE_EKLM_Plane_0
Standard Readout status for EKLM.
Definition: KLMDQMModule.h:225
StoreArray< RawKLM > m_RawKlms
Raw KLM.
Definition: KLMDQMModule.h:249
KLMTime * m_klmTime
KLM time conversion (for revo9DCArrivalTime).
Definition: KLMDQMModule.h:243
TH1F * m_PlaneEKLM
Plane occupancy: EKLM.
Definition: KLMDQMModule.h:166
TH2F ** m_Spatial2DHitsEKLM[EKLMElementNumbers::getMaximalSectionNumber()]
Spatial distribution of EKLM 2d hits per layer.
Definition: KLMDQMModule.h:216
TH1F * m_EventBackgroundTriggerSummary
Event-level background trigger summary (from TRGSummary).
Definition: KLMDQMModule.h:201
TH1F * m_MaskedChannelsPerSector
Masked channels per sector.
Definition: KLMDQMModule.h:174
double m_EKLMScintTimeMin
Min time for EKLM Scint.
Definition: KLMDQMModule.h:130
const KLMChannelArrayIndex * m_ChannelArrayIndex
KLM channel array index.
Definition: KLMDQMModule.h:231
static constexpr std::array< TRGSummary::ETimingType, 3 > c_KlmL1Triggers
L1 timing trigger bits of interest for KLM DQM (event-level).
Definition: KLMDQMModule.h:264
std::string m_HistogramDirectoryName
Directory for KLM DQM histograms in ROOT file.
Definition: KLMDQMModule.h:142
TH1F * m_FE_BKLM_Layer_0
Standard Readout status for BKLM Scintillator.
Definition: KLMDQMModule.h:219
void defineHisto() override
Definition of the histograms.
Definition: KLMDQMModule.cc:99
StoreArray< KLMHit2d > m_Hit2ds
KLM 2d hits.
Definition: KLMDQMModule.h:261
KLM element numbers.
KLM sector array index.
KLM time conversion.
Definition: KLMTime.h:27
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
@ TTYP_DPHY
delayed physics events for background
Definition: TRGSummary.h:65
@ TTYP_POIS
poisson random trigger
Definition: TRGSummary.h:73
@ TTYP_RAND
random trigger events
Definition: TRGSummary.h:67
Abstract base class for different kinds of events.