Belle II Software  release-05-02-19
SVDDQMExpressRecoModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Peter Kodys *
7  * *
8  * Prepared for Phase 2 and Belle II geometry *
9  * *
10  * This software is provided "as is" without any warranty. *
11  **************************************************************************/
12 
13 #pragma once
14 
15 #include <framework/core/HistoModule.h>
16 #include <mdst/dataobjects/SoftwareTriggerResult.h>
17 #include <framework/datastore/StoreObjPtr.h>
18 #include <vxd/dataobjects/VxdID.h>
19 #include <svd/geometry/SensorInfo.h>
20 #include <vxd/geometry/GeoCache.h>
21 #include <svd/dataobjects/SVDEventInfo.h>
22 #include <vector>
23 #include "TList.h"
24 #include "TH1F.h"
25 #include "TH2F.h"
26 
27 namespace Belle2 {
37  class SVDDQMExpressRecoModule : public HistoModule { // <- derived from HistoModule class
38 
39  public:
40 
43  /* Destructor */
44  virtual ~SVDDQMExpressRecoModule();
45 
47  void initialize() override final;
49  void terminate() override final;
51  void beginRun() override final;
53  void event() override final;
54 
59  void defineHisto() override final;
60 
61  private:
62 
65  bool m_desynchSVDTime = false;
66 
70  bool m_skipRejectedEvents = true;
71 
73  TList* m_histoList = nullptr;
74 
76  int m_expNumber = 0;
78  int m_runNumber = 0;
79 
81  int m_ShowAllHistos = 0;
82 
84  float m_CutSVDCharge = 0.0;
85 
87  float m_CutSVDClusterCharge = 0.0;
88 
90  std::string m_histogramDirectoryName;
91 
95  std::string m_storeSVDShaperDigitsName;
98 
100  TH1F* m_nEvents = nullptr;
101 
103  TH1F* m_hitMapCountsU = nullptr;
105  TH1F* m_hitMapCountsV = nullptr;
107  TH1F* m_hitMapClCountsU = nullptr;
109  TH1F* m_hitMapClCountsV = nullptr;
111  TH1F* m_hitMapCountsChip = nullptr;
113  TH1F* m_hitMapClCountsChip = nullptr;
115  TH1F** m_firedU = nullptr;
117  TH1F** m_firedV = nullptr;
119  TH1F** m_clustersU = nullptr;
121  TH1F** m_clustersV = nullptr;
122 
124  TH1F** m_clusterChargeU = nullptr;
126  TH1F** m_clusterChargeV = nullptr;
128  TH1F* m_clusterChargeUAll = nullptr;
130  TH1F* m_clusterChargeVAll = nullptr;
132  TH1F* m_clusterChargeU3 = nullptr;
134  TH1F* m_clusterChargeV3 = nullptr;
136  TH1F* m_clusterChargeU456 = nullptr;
138  TH1F* m_clusterChargeV456 = nullptr;
139 
141  TH1F** m_clusterSNRU = nullptr;
143  TH1F** m_clusterSNRV = nullptr;
145  TH1F* m_clusterSNRUAll = nullptr;
147  TH1F* m_clusterSNRVAll = nullptr;
149  TH1F* m_clusterSNRU3 = nullptr;
151  TH1F* m_clusterSNRV3 = nullptr;
153  TH1F* m_clusterSNRU456 = nullptr;
155  TH1F* m_clusterSNRV456 = nullptr;
156 
158  TH1F* m_stripMaxBinUAll = nullptr;
160  TH1F* m_stripMaxBinVAll = nullptr;
162  TH1F* m_stripMaxBinU3 = nullptr;
164  TH1F* m_stripMaxBinV3 = nullptr;
166  TH1F* m_stripMaxBinU6 = nullptr;
168  TH1F* m_stripMaxBinV6 = nullptr;
169 
171  TH1F** m_stripSignalU = nullptr;
173  TH1F** m_stripSignalV = nullptr;
175  TH1F** m_stripCountU = nullptr;
177  TH1F** m_stripCountV = nullptr;
179  TH1F** m_onlineZSstripCountU = nullptr;
181  TH1F** m_onlineZSstripCountV = nullptr;
183  TH1F** m_clusterSizeU = nullptr;
185  TH1F** m_clusterSizeV = nullptr;
186 
188  TH1F** m_clusterTimeU = nullptr;
190  TH1F** m_clusterTimeV = nullptr;
192  TH1F* m_clusterTimeUAll = nullptr;
194  TH1F* m_clusterTimeVAll = nullptr;
196  TH1F* m_clusterTimeU3 = nullptr;
198  TH1F* m_clusterTimeV3 = nullptr;
200  TH1F* m_clusterTimeU456 = nullptr;
202  TH1F* m_clusterTimeV456 = nullptr;
203 
204  //----------------------------------------------------------------
205  // Additional histograms for out of ExpressReco
206  //----------------------------------------------------------------
207 
209  TH2F** m_hitMapU = nullptr;
211  TH2F** m_hitMapV = nullptr;
213  TH1F** m_hitMapUCl = nullptr;
215  TH1F** m_hitMapVCl = nullptr;
216 
217  };
218 
220 }
Belle2::SVDDQMExpressRecoModule::m_storeSVDShaperDigitsName
std::string m_storeSVDShaperDigitsName
SVDShaperDigits StoreArray name.
Definition: SVDDQMExpressRecoModule.h:105
Belle2::SVDDQMExpressRecoModule::beginRun
void beginRun() override final
Module function beginRun.
Definition: SVDDQMExpressRecoModule.cc:613
Belle2::SVDDQMExpressRecoModule::m_clusterSNRUAll
TH1F * m_clusterSNRUAll
u SNR of clusters for all sensors
Definition: SVDDQMExpressRecoModule.h:155
Belle2::SVDDQMExpressRecoModule::m_hitMapCountsChip
TH1F * m_hitMapCountsChip
Hitmaps of digits on chips.
Definition: SVDDQMExpressRecoModule.h:121
Belle2::SVDEventInfo
Stores SVDModeByte object with Trigger time, DAQ mode, Run type & Event type! Also - the information ...
Definition: SVDEventInfo.h:39
Belle2::SVDDQMExpressRecoModule::m_firedU
TH1F ** m_firedU
Fired u strips per event.
Definition: SVDDQMExpressRecoModule.h:125
Belle2::SVDDQMExpressRecoModule::m_onlineZSstripCountU
TH1F ** m_onlineZSstripCountU
u strip count (online Zero Suppression)
Definition: SVDDQMExpressRecoModule.h:189
Belle2::SVDDQMExpressRecoModule::m_clusterSNRV
TH1F ** m_clusterSNRV
v SNR of clusters per sensor
Definition: SVDDQMExpressRecoModule.h:153
Belle2::SVDDQMExpressRecoModule::m_histoList
TList * m_histoList
list of cumulative histograms
Definition: SVDDQMExpressRecoModule.h:83
Belle2::SVDDQMExpressRecoModule::m_clusterSizeV
TH1F ** m_clusterSizeV
v size
Definition: SVDDQMExpressRecoModule.h:195
Belle2::SVDDQMExpressRecoModule::m_hitMapClCountsU
TH1F * m_hitMapClCountsU
Hitmaps u of Clusters.
Definition: SVDDQMExpressRecoModule.h:117
Belle2::SVDDQMExpressRecoModule::m_clusterSNRU3
TH1F * m_clusterSNRU3
u SNR of clusters for layer 3 sensors
Definition: SVDDQMExpressRecoModule.h:159
Belle2::SVDDQMExpressRecoModule::m_clusterTimeV456
TH1F * m_clusterTimeV456
v Time of clusters for layer 4,5,6 sensors
Definition: SVDDQMExpressRecoModule.h:212
Belle2::SVDDQMExpressRecoModule::m_CutSVDCharge
float m_CutSVDCharge
cut for accepting strips to hitmap histogram default = 0 ADU
Definition: SVDDQMExpressRecoModule.h:94
Belle2::SVDDQMExpressRecoModule::m_clusterSNRV456
TH1F * m_clusterSNRV456
v SNR of clusters for layer 4,5,6 sensors
Definition: SVDDQMExpressRecoModule.h:165
Belle2::SVDDQMExpressRecoModule::defineHisto
void defineHisto() override final
Histogram definitions such as TH1(), TH2(), TNtuple(), TTree()....
Definition: SVDDQMExpressRecoModule.cc:79
Belle2::SVDDQMExpressRecoModule::m_clusterTimeU
TH1F ** m_clusterTimeU
u time
Definition: SVDDQMExpressRecoModule.h:198
Belle2::SVDDQMExpressRecoModule::m_stripMaxBinVAll
TH1F * m_stripMaxBinVAll
v MaxBin of strips for all sensors (offline Zero Suppression)
Definition: SVDDQMExpressRecoModule.h:170
Belle2::SVDDQMExpressRecoModule::m_stripCountU
TH1F ** m_stripCountU
u strip count
Definition: SVDDQMExpressRecoModule.h:185
Belle2::SVDDQMExpressRecoModule::m_clusterTimeUAll
TH1F * m_clusterTimeUAll
u time of clusters for all sensors
Definition: SVDDQMExpressRecoModule.h:202
Belle2::SVDDQMExpressRecoModule::m_stripMaxBinUAll
TH1F * m_stripMaxBinUAll
u MaxBin of strips for all sensors (offline Zero Suppression)
Definition: SVDDQMExpressRecoModule.h:168
Belle2::SVDDQMExpressRecoModule::m_clusterSNRU456
TH1F * m_clusterSNRU456
u SNR of clusters for layer 4,5,6 sensors
Definition: SVDDQMExpressRecoModule.h:163
Belle2::SVDDQMExpressRecoModule::m_resultStoreObjectPointer
StoreObjPtr< SoftwareTriggerResult > m_resultStoreObjectPointer
Store Object for reading the trigger decision.
Definition: SVDDQMExpressRecoModule.h:78
Belle2::SVDDQMExpressRecoModule::m_desynchSVDTime
bool m_desynchSVDTime
if TRUE: svdTime back in SVD time reference
Definition: SVDDQMExpressRecoModule.h:75
Belle2::SVDDQMExpressRecoModule::m_clustersU
TH1F ** m_clustersU
number of u clusters per event
Definition: SVDDQMExpressRecoModule.h:129
Belle2::SVDDQMExpressRecoModule::m_stripMaxBinU6
TH1F * m_stripMaxBinU6
u MaxBin of strips for layer 6 sensors (offline Zero Suppression)
Definition: SVDDQMExpressRecoModule.h:176
Belle2::SVDDQMExpressRecoModule::m_hitMapU
TH2F ** m_hitMapU
Hitmaps pixels for u.
Definition: SVDDQMExpressRecoModule.h:219
Belle2::SVDDQMExpressRecoModule::m_onlineZSstripCountV
TH1F ** m_onlineZSstripCountV
v strip count (online Zero Suppression
Definition: SVDDQMExpressRecoModule.h:191
Belle2::SVDDQMExpressRecoModule::m_clustersV
TH1F ** m_clustersV
number of v clusters per event
Definition: SVDDQMExpressRecoModule.h:131
Belle2::SVDDQMExpressRecoModule::m_firedV
TH1F ** m_firedV
Fired v strips per event.
Definition: SVDDQMExpressRecoModule.h:127
Belle2::SVDDQMExpressRecoModule::m_storeSVDClustersName
std::string m_storeSVDClustersName
SVDClusters StoreArray name.
Definition: SVDDQMExpressRecoModule.h:107
Belle2::SVDDQMExpressRecoModule::m_clusterTimeU456
TH1F * m_clusterTimeU456
u Time of clusters for layer 4,5,6 sensors
Definition: SVDDQMExpressRecoModule.h:210
Belle2::SVDDQMExpressRecoModule::m_stripSignalV
TH1F ** m_stripSignalV
v charge of strips
Definition: SVDDQMExpressRecoModule.h:183
Belle2::SVDDQMExpressRecoModule::m_svdEventInfo
StoreObjPtr< SVDEventInfo > m_svdEventInfo
SVDEventInfo data object.
Definition: SVDDQMExpressRecoModule.h:73
Belle2::SVDDQMExpressRecoModule::m_clusterChargeV
TH1F ** m_clusterChargeV
v charge of clusters
Definition: SVDDQMExpressRecoModule.h:136
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::SVDDQMExpressRecoModule::m_clusterTimeU3
TH1F * m_clusterTimeU3
u Time of clusters for layer 3 sensors
Definition: SVDDQMExpressRecoModule.h:206
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::SVDDQMExpressRecoModule::m_stripSignalU
TH1F ** m_stripSignalU
u charge of strips
Definition: SVDDQMExpressRecoModule.h:181
Belle2::SVDDQMExpressRecoModule::m_expNumber
int m_expNumber
experiment number
Definition: SVDDQMExpressRecoModule.h:86
Belle2::SVDDQMExpressRecoModule::m_CutSVDClusterCharge
float m_CutSVDClusterCharge
cut for accepting clusters to hitmap histogram, default = 0 ke-
Definition: SVDDQMExpressRecoModule.h:97
Belle2::SVDDQMExpressRecoModule::m_hitMapClCountsChip
TH1F * m_hitMapClCountsChip
Hitmaps of clusters on chips.
Definition: SVDDQMExpressRecoModule.h:123
Belle2::SVDDQMExpressRecoModule::m_hitMapCountsU
TH1F * m_hitMapCountsU
Hitmaps u of Digits.
Definition: SVDDQMExpressRecoModule.h:113
Belle2::SVDDQMExpressRecoModule::m_stripCountV
TH1F ** m_stripCountV
v strip count
Definition: SVDDQMExpressRecoModule.h:187
Belle2::SVDDQMExpressRecoModule::m_storeNoZSSVDShaperDigitsName
std::string m_storeNoZSSVDShaperDigitsName
not zero-suppressed SVDShaperDigits StoreArray name
Definition: SVDDQMExpressRecoModule.h:103
Belle2::SVDDQMExpressRecoModule::m_clusterSizeU
TH1F ** m_clusterSizeU
u size
Definition: SVDDQMExpressRecoModule.h:193
Belle2::SVDDQMExpressRecoModule::m_clusterChargeV3
TH1F * m_clusterChargeV3
v charge of clusters for layer 3 sensors
Definition: SVDDQMExpressRecoModule.h:144
Belle2::SVDDQMExpressRecoModule::m_histogramDirectoryName
std::string m_histogramDirectoryName
Name of the histogram directory in ROOT file.
Definition: SVDDQMExpressRecoModule.h:100
Belle2::SVDDQMExpressRecoModule::m_clusterChargeU
TH1F ** m_clusterChargeU
u charge of clusters
Definition: SVDDQMExpressRecoModule.h:134
Belle2::SVDDQMExpressRecoModule::m_clusterChargeV456
TH1F * m_clusterChargeV456
v charge of clusters for layer 4,5,6 sensors
Definition: SVDDQMExpressRecoModule.h:148
Belle2::SoftwareTriggerResult
Dataobject to store the results of the cut calculations performed by the SoftwareTriggerModule.
Definition: SoftwareTriggerResult.h:46
Belle2::SVDDQMExpressRecoModule::m_clusterChargeVAll
TH1F * m_clusterChargeVAll
v charge of clusters for all sensors
Definition: SVDDQMExpressRecoModule.h:140
Belle2::SVDDQMExpressRecoModule::m_clusterTimeV3
TH1F * m_clusterTimeV3
v Time of clusters for layer 3 sensors
Definition: SVDDQMExpressRecoModule.h:208
Belle2::SVDDQMExpressRecoModule::event
void event() override final
Module function event.
Definition: SVDDQMExpressRecoModule.cc:634
Belle2::SVDDQMExpressRecoModule::m_clusterChargeU3
TH1F * m_clusterChargeU3
u charge of clusters for layer 3 sensors
Definition: SVDDQMExpressRecoModule.h:142
Belle2::SVDDQMExpressRecoModule::m_hitMapVCl
TH1F ** m_hitMapVCl
Hitmaps clusters for v.
Definition: SVDDQMExpressRecoModule.h:225
Belle2::SVDDQMExpressRecoModule::m_hitMapClCountsV
TH1F * m_hitMapClCountsV
Hitmaps v of Clusters.
Definition: SVDDQMExpressRecoModule.h:119
Belle2::SVDDQMExpressRecoModule::m_hitMapV
TH2F ** m_hitMapV
Hitmaps pixels for v.
Definition: SVDDQMExpressRecoModule.h:221
Belle2::SVDDQMExpressRecoModule::m_runNumber
int m_runNumber
run number
Definition: SVDDQMExpressRecoModule.h:88
Belle2::SVDDQMExpressRecoModule::m_stripMaxBinU3
TH1F * m_stripMaxBinU3
u MaxBin of strips for layer 3 sensors (offline Zero Suppression)
Definition: SVDDQMExpressRecoModule.h:172
Belle2::SVDDQMExpressRecoModule::m_clusterTimeVAll
TH1F * m_clusterTimeVAll
v time of clusters for all sensors
Definition: SVDDQMExpressRecoModule.h:204
Belle2::SVDDQMExpressRecoModule::m_hitMapUCl
TH1F ** m_hitMapUCl
Hitmaps clusters for u.
Definition: SVDDQMExpressRecoModule.h:223
Belle2::SVDDQMExpressRecoModule::m_ShowAllHistos
int m_ShowAllHistos
Flag to show all histos in DQM, default = 0 (do not show)
Definition: SVDDQMExpressRecoModule.h:91
Belle2::SVDDQMExpressRecoModule::m_clusterSNRVAll
TH1F * m_clusterSNRVAll
v SNR of clusters for all sensors
Definition: SVDDQMExpressRecoModule.h:157
Belle2::SVDDQMExpressRecoModule::m_hitMapCountsV
TH1F * m_hitMapCountsV
Hitmaps v of Digits.
Definition: SVDDQMExpressRecoModule.h:115
Belle2::SVDDQMExpressRecoModule::m_stripMaxBinV3
TH1F * m_stripMaxBinV3
v MaxBin of strips for layer 3 sensors (offline Zero Suppression)
Definition: SVDDQMExpressRecoModule.h:174
Belle2::SVDDQMExpressRecoModule::terminate
void terminate() override final
Module function terminate.
Definition: SVDDQMExpressRecoModule.cc:840
Belle2::SVDDQMExpressRecoModule::m_clusterChargeUAll
TH1F * m_clusterChargeUAll
u charge of clusters for all sensors
Definition: SVDDQMExpressRecoModule.h:138
Belle2::SVDDQMExpressRecoModule::SVDDQMExpressRecoModule
SVDDQMExpressRecoModule()
Constructor.
Definition: SVDDQMExpressRecoModule.cc:43
Belle2::SVDDQMExpressRecoModule::m_nEvents
TH1F * m_nEvents
number of events
Definition: SVDDQMExpressRecoModule.h:110
Belle2::SVDDQMExpressRecoModule::m_clusterTimeV
TH1F ** m_clusterTimeV
v time
Definition: SVDDQMExpressRecoModule.h:200
Belle2::SVDDQMExpressRecoModule::m_skipRejectedEvents
bool m_skipRejectedEvents
if true skip events rejected by HLT (default)
Definition: SVDDQMExpressRecoModule.h:80
Belle2::SVDDQMExpressRecoModule::m_stripMaxBinV6
TH1F * m_stripMaxBinV6
v MaxBin of strips for layer 6 sensors (offline Zero Suppression)
Definition: SVDDQMExpressRecoModule.h:178
Belle2::SVDDQMExpressRecoModule::m_clusterSNRU
TH1F ** m_clusterSNRU
u SNR of clusters per sensor
Definition: SVDDQMExpressRecoModule.h:151
Belle2::SVDDQMExpressRecoModule::m_clusterSNRV3
TH1F * m_clusterSNRV3
v SNR of clusters for layer 3 sensors
Definition: SVDDQMExpressRecoModule.h:161
Belle2::SVDDQMExpressRecoModule::m_clusterChargeU456
TH1F * m_clusterChargeU456
u charge of clusters for layer 4,5,6 sensors
Definition: SVDDQMExpressRecoModule.h:146
Belle2::SVDDQMExpressRecoModule::initialize
void initialize() override final
Module function initialize.
Definition: SVDDQMExpressRecoModule.cc:590