Belle II Software  release-05-02-19
KLMDQMModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2018 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Kirill Chilikin, Vipin Gaur, Leo Piilonen *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 /* KLM headers. */
14 #include <klm/dataobjects/bklm/BKLMElementNumbers.h>
15 #include <klm/dataobjects/bklm/BKLMHit1d.h>
16 #include <klm/dataobjects/eklm/EKLMElementNumbers.h>
17 #include <klm/dataobjects/eklm/EKLMHit2d.h>
18 #include <klm/dataobjects/KLMDigit.h>
19 #include <klm/dataobjects/KLMChannelArrayIndex.h>
20 #include <klm/dataobjects/KLMElementNumbers.h>
21 #include <klm/dataobjects/KLMSectorArrayIndex.h>
22 
23 /* Belle 2 headers. */
24 #include <framework/core/HistoModule.h>
25 #include <framework/datastore/StoreArray.h>
26 #include <rawdata/dataobjects/RawFTSW.h>
27 #include <rawdata/dataobjects/RawKLM.h>
28 
29 /* ROOT headers. */
30 #include <TH1F.h>
31 #include <TH2F.h>
32 
33 namespace Belle2 {
45  class KLMDQMModule : public HistoModule {
46 
47  public:
48 
52  KLMDQMModule();
53 
57  ~KLMDQMModule();
58 
62  void defineHisto() override;
63 
67  void initialize() override;
68 
72  void beginRun() override;
73 
77  void event() override;
78 
82  void endRun() override;
83 
87  void terminate() override;
88 
89  private:
90 
92  enum TriggerBitsBin {
93 
95  c_0x8 = 1,
96 
98  c_0x4 = 2,
99 
101  c_0x2 = 3,
102 
104  c_0x1 = 4,
105 
106  };
107 
110 
113 
115  std::string m_HistogramDirectoryName;
116 
118  TH1F* m_DAQInclusion;
119 
121  TH1F* m_TimeRPC;
122 
125 
128 
130  TH1F* m_PlaneBKLMPhi;
131 
133  TH1F* m_PlaneBKLMZ;
134 
136  TH1F* m_PlaneEKLM;
137 
139  TH1F** m_ChannelHits[
142 
145 
147  TH1F* m_DigitsKLM;
148 
150  TH1F* m_DigitsRPC;
151 
154 
157 
160 
163 
165  TH1F* m_TriggerBitsBKLM;
166 
168  TH1F* m_TriggerBitsEKLM;
169 
171  TH1F* m_DigitsAfterLERInj;
172 
174  TH1F* m_TriggersLERInj;
175 
177  TH1F* m_DigitsAfterHERInj;
178 
180  TH1F* m_TriggersHERInj;
181 
184 
187 
190 
193 
196 
199 
202 
205 
208 
211 
212  };
213 
215 }
Belle2::KLMDQMModule::c_0x2
@ c_0x2
0x2.
Definition: KLMDQMModule.h:109
Belle2::EKLMElementNumbers::getMaximalSectorGlobalNumberKLMOrder
static constexpr int getMaximalSectorGlobalNumberKLMOrder()
Get maximal sector global number with KLM ordering (section, sector).
Definition: EKLMElementNumbers.h:353
Belle2::KLMDQMModule::m_Digits
StoreArray< KLMDigit > m_Digits
KLM digits.
Definition: KLMDQMModule.h:212
Belle2::KLMDQMModule::m_TriggerBitsEKLM
TH1F * m_TriggerBitsEKLM
Trigger bits: EKLM scintillators.
Definition: KLMDQMModule.h:176
Belle2::EKLMElementNumbers::getMaximalSectionNumber
static constexpr int getMaximalSectionNumber()
Get maximal section number.
Definition: EKLMElementNumbers.h:283
Belle2::EKLMElementNumbers
EKLM element numbers.
Definition: EKLMElementNumbers.h:34
Belle2::KLMDQMModule::beginRun
void beginRun() override
Called when entering a new run.
Definition: KLMDQMModule.cc:283
Belle2::KLMDQMModule::m_Spatial2DHitsEKLM
TH2F ** m_Spatial2DHitsEKLM[EKLMElementNumbers::getMaximalSectionNumber()]
Spatial distribution of EKLM 2d hits per layer.
Definition: KLMDQMModule.h:191
Belle2::KLMDQMModule::m_ChannelHitHistogramsEKLM
const int m_ChannelHitHistogramsEKLM
Number of channel hit histograms per sector for EKLM.
Definition: KLMDQMModule.h:120
Belle2::KLMDQMModule::TriggerBitsBin
TriggerBitsBin
Bins for the trigger bits historgrams.
Definition: KLMDQMModule.h:100
Belle2::KLMDQMModule::m_RawKlms
StoreArray< RawKLM > m_RawKlms
Raw KLM.
Definition: KLMDQMModule.h:209
Belle2::KLMSectorArrayIndex
KLM sector array index.
Definition: KLMSectorArrayIndex.h:33
Belle2::KLMDQMModule::m_PlaneBKLMPhi
TH1F * m_PlaneBKLMPhi
Plane occupancy: BKLM, phi readout.
Definition: KLMDQMModule.h:138
Belle2::KLMDQMModule::m_DAQInclusion
TH1F * m_DAQInclusion
KLM DAQ inclusion.
Definition: KLMDQMModule.h:126
Belle2::KLMDQMModule::m_ChannelHitHistogramsBKLM
const int m_ChannelHitHistogramsBKLM
Number of channel hit histograms per sector for BKLM.
Definition: KLMDQMModule.h:117
Belle2::KLMDQMModule::m_PlaneBKLMZ
TH1F * m_PlaneBKLMZ
Plane occupancy: BKLM, z readout.
Definition: KLMDQMModule.h:141
Belle2::KLMDQMModule::m_TriggersHERInj
TH1F * m_TriggersHERInj
Histogram to be used for normalization of occupancy after HER injection.
Definition: KLMDQMModule.h:188
Belle2::KLMDQMModule::m_MaskedChannelsPerSector
TH1F * m_MaskedChannelsPerSector
Masked channels per sector.
Definition: KLMDQMModule.h:152
Belle2::KLMDQMModule::endRun
void endRun() override
This method is called if the current run ends.
Definition: KLMDQMModule.cc:482
Belle2::KLMDQMModule::~KLMDQMModule
~KLMDQMModule()
Destructor.
Definition: KLMDQMModule.cc:59
Belle2::KLMDQMModule::m_HistogramDirectoryName
std::string m_HistogramDirectoryName
Directory for KLM DQM histograms in ROOT file.
Definition: KLMDQMModule.h:123
Belle2::KLMDQMModule::m_TriggerBitsBKLM
TH1F * m_TriggerBitsBKLM
Trigger bits: BKLM scintillators.
Definition: KLMDQMModule.h:173
Belle2::KLMDQMModule::m_PlaneEKLM
TH1F * m_PlaneEKLM
Plane occupancy: EKLM.
Definition: KLMDQMModule.h:144
Belle2::KLMDQMModule::m_ChannelHits
TH1F ** m_ChannelHits[EKLMElementNumbers::getMaximalSectorGlobalNumberKLMOrder()+BKLMElementNumbers::getMaximalSectorGlobalNumber()]
Number of hits per channel.
Definition: KLMDQMModule.h:149
Belle2::KLMDQMModule::m_DigitsRPC
TH1F * m_DigitsRPC
Number of digits: BKLM RPCs.
Definition: KLMDQMModule.h:158
Belle2::KLMDQMModule::c_0x8
@ c_0x8
0x8.
Definition: KLMDQMModule.h:103
Belle2::KLMDQMModule::m_DigitsAfterHERInj
TH1F * m_DigitsAfterHERInj
Number of KLM Digits after LER injection.
Definition: KLMDQMModule.h:185
Belle2::KLMDQMModule::c_0x1
@ c_0x1
0x1.
Definition: KLMDQMModule.h:112
Belle2::KLMDQMModule::m_ChannelArrayIndex
const KLMChannelArrayIndex * m_ChannelArrayIndex
KLM channel array index.
Definition: KLMDQMModule.h:194
Belle2::KLMDQMModule::event
void event() override
This method is called for each event.
Definition: KLMDQMModule.cc:340
Belle2::KLMDQMModule::initialize
void initialize() override
Initializer.
Definition: KLMDQMModule.cc:273
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::BKLMElementNumbers::getMaximalSectorGlobalNumber
static constexpr int getMaximalSectorGlobalNumber()
Get maximal sector global number.
Definition: BKLMElementNumbers.h:267
Belle2::KLMDQMModule::m_BklmHit1ds
StoreArray< BKLMHit1d > m_BklmHit1ds
BKLM 1d hits.
Definition: KLMDQMModule.h:215
Belle2::KLMDQMModule::defineHisto
void defineHisto() override
Definition of the histograms.
Definition: KLMDQMModule.cc:79
Belle2::KLMDQMModule::m_TriggersLERInj
TH1F * m_TriggersLERInj
Histogram to be used for normalization of occupancy after LER injection.
Definition: KLMDQMModule.h:182
Belle2::KLMDQMModule::m_RawFtsws
StoreArray< RawFTSW > m_RawFtsws
Raw FTSW.
Definition: KLMDQMModule.h:206
Belle2::KLMDQMModule::m_DigitsAfterLERInj
TH1F * m_DigitsAfterLERInj
Number of KLM Digits after LER injection.
Definition: KLMDQMModule.h:179
Belle2::KLMDQMModule::m_TimeScintillatorBKLM
TH1F * m_TimeScintillatorBKLM
Time: BKLM scintillators.
Definition: KLMDQMModule.h:132
Belle2::KLMDQMModule::m_DigitsScintillatorEKLM
TH1F * m_DigitsScintillatorEKLM
Number of digits: EKLM scintillators.
Definition: KLMDQMModule.h:164
Belle2::KLMDQMModule::m_DigitsMultiStripEKLM
TH1F * m_DigitsMultiStripEKLM
Number of multi-strip digits: EKLM scintillators.
Definition: KLMDQMModule.h:170
Belle2::KLMDQMModule::m_ElementNumbers
const KLMElementNumbers * m_ElementNumbers
KLM element numbers.
Definition: KLMDQMModule.h:200
Belle2::KLMDQMModule::terminate
void terminate() override
This method is called at the end of the event processing.
Definition: KLMDQMModule.cc:486
Belle2::KLMDQMModule::m_DigitsMultiStripBKLM
TH1F * m_DigitsMultiStripBKLM
Number of multi-strip digits: BKLM scintillators.
Definition: KLMDQMModule.h:167
Belle2::KLMDQMModule::m_eklmElementNumbers
const EKLMElementNumbers * m_eklmElementNumbers
Element numbers.
Definition: KLMDQMModule.h:203
Belle2::KLMDQMModule::m_DigitsKLM
TH1F * m_DigitsKLM
Number of digits: whole KLM.
Definition: KLMDQMModule.h:155
Belle2::KLMElementNumbers
KLM element numbers.
Definition: KLMElementNumbers.h:37
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::KLMDQMModule::m_DigitsScintillatorBKLM
TH1F * m_DigitsScintillatorBKLM
Number of digits: BKLM scintillators.
Definition: KLMDQMModule.h:161
Belle2::KLMDQMModule::m_SectorArrayIndex
const KLMSectorArrayIndex * m_SectorArrayIndex
KLM sector array index.
Definition: KLMDQMModule.h:197
Belle2::KLMChannelArrayIndex
KLM channel array index.
Definition: KLMChannelArrayIndex.h:33
Belle2::KLMDQMModule::m_TimeScintillatorEKLM
TH1F * m_TimeScintillatorEKLM
Time: EKLM scintillators.
Definition: KLMDQMModule.h:135
Belle2::KLMDQMModule::m_TimeRPC
TH1F * m_TimeRPC
Time: BKLM RPCs.
Definition: KLMDQMModule.h:129
Belle2::KLMDQMModule::c_0x4
@ c_0x4
0x4.
Definition: KLMDQMModule.h:106
Belle2::KLMDQMModule::m_EklmHit2ds
StoreArray< EKLMHit2d > m_EklmHit2ds
EKLM 2d hits.
Definition: KLMDQMModule.h:218
Belle2::KLMDQMModule::KLMDQMModule
KLMDQMModule()
Constructor.
Definition: KLMDQMModule.cc:25