Belle II Software  release-08-00-10
SVDDQMExpressRecoModule.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/HistoModule.h>
12 #include <mdst/dataobjects/SoftwareTriggerResult.h>
13 #include <framework/datastore/StoreObjPtr.h>
14 #include <vxd/dataobjects/VxdID.h>
15 #include <svd/geometry/SensorInfo.h>
16 #include <vxd/geometry/GeoCache.h>
17 #include <svd/dataobjects/SVDEventInfo.h>
18 #include <vector>
19 #include "TList.h"
20 #include "TH1F.h"
21 #include "TH2F.h"
22 
23 namespace Belle2 {
33  class SVDDQMExpressRecoModule : public HistoModule { // <- derived from HistoModule class
34 
35  public:
36 
41  /* Destructor */
42  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  bool m_additionalPlots = false;
74 
76  TList* m_histoList = nullptr;
77 
79  int m_expNumber = 0;
81  int m_runNumber = 0;
82 
84  int m_ShowAllHistos = 0;
85 
87  float m_CutSVDCharge = 0.0;
88 
90  float m_CutSVDClusterCharge = 0.0;
91 
94 
101 
103  TH1F* m_nEvents = nullptr;
104 
106  TH1F* m_hitMapCountsU = nullptr;
108  TH1F* m_hitMapCountsV = nullptr;
110  TH1F* m_hitMapClCountsU = nullptr;
112  TH1F* m_hitMapClCountsV = nullptr;
114  TH1F* m_hitMapCountsChip = nullptr;
116  TH1F* m_hitMapClCountsChip = nullptr;
118  TH1F** m_firedU = nullptr;
120  TH1F** m_firedV = nullptr;
122  TH1F** m_clustersU = nullptr;
124  TH1F** m_clustersV = nullptr;
125 
127  TH1F** m_clusterChargeU = nullptr;
129  TH1F** m_clusterChargeV = nullptr;
131  TH1F* m_clusterChargeUAll = nullptr;
133  TH1F* m_clusterChargeVAll = nullptr;
135  TH1F* m_clusterChargeU3 = nullptr;
137  TH1F* m_clusterChargeV3 = nullptr;
139  TH1F* m_clusterChargeU456 = nullptr;
141  TH1F* m_clusterChargeV456 = nullptr;
142 
144  TH1F** m_clusterSNRU = nullptr;
146  TH1F** m_clusterSNRV = nullptr;
148  TH1F* m_clusterSNRUAll = nullptr;
150  TH1F* m_clusterSNRVAll = nullptr;
152  TH1F* m_clusterSNRU3 = nullptr;
154  TH1F* m_clusterSNRV3 = nullptr;
156  TH1F* m_clusterSNRU456 = nullptr;
158  TH1F* m_clusterSNRV456 = nullptr;
159 
161  TH1F* m_stripMaxBinUAll = nullptr;
163  TH1F* m_stripMaxBinVAll = nullptr;
165  TH1F* m_stripMaxBinU3 = nullptr;
167  TH1F* m_stripMaxBinV3 = nullptr;
169  TH1F* m_stripMaxBinU6 = nullptr;
171  TH1F* m_stripMaxBinV6 = nullptr;
172 
174  TH1F** m_stripSignalU = nullptr;
176  TH1F** m_stripSignalV = nullptr;
178  TH1F** m_stripCountU = nullptr;
180  TH1F** m_stripCountV = nullptr;
182  TH1F** m_onlineZSstripCountU = nullptr;
184  TH1F** m_onlineZSstripCountV = nullptr;
185 
187  TH1F** m_stripCountGroupId0U = nullptr;
188 
190  TH1F** m_stripCountGroupId0V = nullptr;
191 
193  TH1F** m_strip3CountU = nullptr;
195  TH1F** m_strip3CountV = nullptr;
197  TH1F** m_onlineZSstrip3CountU = nullptr;
199  TH1F** m_onlineZSstrip3CountV = nullptr;
200 
201 
203  TH1F** m_strip6CountU = nullptr;
205  TH1F** m_strip6CountV = nullptr;
207  TH1F** m_onlineZSstrip6CountU = nullptr;
209  TH1F** m_onlineZSstrip6CountV = nullptr;
210 
212  TH1F** m_clusterSizeU = nullptr;
214  TH1F** m_clusterSizeV = nullptr;
215 
217  TH2F* m_cluster3TimeGroupId = nullptr;
218 
220  TH2F* m_cluster6TimeGroupId = nullptr;
221 
223  TH1F** m_clusterTimeU = nullptr;
225  TH1F** m_clusterTimeV = nullptr;
227  TH1F* m_clusterTimeUAll = nullptr;
229  TH1F* m_clusterTimeVAll = nullptr;
231  TH1F* m_clusterTimeU3 = nullptr;
233  TH1F* m_clusterTimeV3 = nullptr;
235  TH1F* m_clusterTimeU456 = nullptr;
237  TH1F* m_clusterTimeV456 = nullptr;
238 
240  TH1F* m_cluster3TimeU3 = nullptr;
242  TH1F* m_cluster3TimeV3 = nullptr;
244  TH1F* m_cluster3TimeU456 = nullptr;
246  TH1F* m_cluster3TimeV456 = nullptr;
247 
249  TH1F* m_cluster6TimeU3 = nullptr;
251  TH1F* m_cluster6TimeV3 = nullptr;
253  TH1F* m_cluster6TimeU456 = nullptr;
255  TH1F* m_cluster6TimeV456 = nullptr;
256 
257  //----------------------------------------------------------------
258  // Additional histograms for out of ExpressReco
259  //----------------------------------------------------------------
260 
262  TH2F** m_hitMapU = nullptr;
264  TH2F** m_hitMapV = nullptr;
266  TH1F** m_hitMapUCl = nullptr;
268  TH1F** m_hitMapVCl = nullptr;
269 
270  };
271 
273 }
HistoModule.h is supposed to be used instead of Module.h for the modules with histogram definitions t...
Definition: HistoModule.h:29
SVD DQM Module for Express Reco.
TH1F ** m_hitMapUCl
Hitmaps clusters for u.
TH1F ** m_clustersV
number of v clusters per event
SVDDQMExpressRecoModule(const SVDDQMExpressRecoModule &)=delete
Copy constructor (disabled)
TH1F ** m_onlineZSstrip6CountV
v strip count (online Zero Suppression for 6 samples
TH1F * m_clusterSNRVAll
v SNR of clusters for all sensors
TH1F * m_cluster3TimeV3
v Time of clusters for layer 3 sensors for 3 samples
TH1F * m_clusterTimeV456
v Time of clusters for layer 4,5,6 sensors
TH1F * m_clusterSNRUAll
u SNR of clusters for all sensors
TH1F * m_clusterChargeU3
u charge of clusters for layer 3 sensors
void initialize() override final
Module function initialize.
TH1F * m_clusterSNRV3
v SNR of clusters for layer 3 sensors
TH1F * m_hitMapCountsV
Hitmaps v of Digits.
TH2F ** m_hitMapU
Hitmaps pixels for u.
std::string m_storeNoZSSVDShaperDigitsName
not zero-suppressed SVDShaperDigits StoreArray name
bool m_skipRejectedEvents
if true skip events rejected by HLT (default)
TH1F * m_cluster3TimeU3
u Time of clusters for layer 3 sensors for 3 samples
TH1F * m_stripMaxBinU6
u MaxBin of strips for layer 6 sensors (offline Zero Suppression)
TH1F * m_clusterTimeUAll
u time of clusters for all sensors
TH1F * m_hitMapClCountsU
Hitmaps u of Clusters.
float m_CutSVDCharge
cut for accepting strips to hitmap histogram default = 0 ADU
StoreObjPtr< SVDEventInfo > m_svdEventInfo
SVDEventInfo data object.
TH1F * m_hitMapCountsU
Hitmaps u of Digits.
TH1F ** m_clusterSNRV
v SNR of clusters per sensor
TH1F ** m_clusterChargeV
v charge of clusters
TH1F ** m_stripSignalU
u charge of strips
TH1F * m_clusterChargeUAll
u charge of clusters for all sensors
TH1F * m_clusterChargeU456
u charge of clusters for layer 4,5,6 sensors
void defineHisto() override final
Histogram definitions such as TH1(), TH2(), TNtuple(), TTree()....
TH1F * m_clusterTimeV3
v Time of clusters for layer 3 sensors
TH1F ** m_clusterSNRU
u SNR of clusters per sensor
TH1F ** m_hitMapVCl
Hitmaps clusters for v.
void terminate() override final
Module function terminate.
TH1F * m_stripMaxBinV3
v MaxBin of strips for layer 3 sensors (offline Zero Suppression)
TH1F * m_clusterTimeVAll
v time of clusters for all sensors
void event() override final
Module function event.
TH1F ** m_onlineZSstripCountV
v strip count (online Zero Suppression
TH1F ** m_stripSignalV
v charge of strips
TH1F ** m_strip6CountU
u strip count for 6 samples
SVDDQMExpressRecoModule & operator=(const SVDDQMExpressRecoModule &)=delete
Operator = (disabled)
std::string m_storeSVDShaperDigitsName
SVDShaperDigits StoreArray name.
TH1F * m_cluster6TimeU3
u Time of clusters for layer 3 sensors for 6 samples
TH2F * m_cluster6TimeGroupId
time group id for 6 samples
std::string m_histogramDirectoryName
Name of the histogram directory in ROOT file.
TH1F * m_clusterChargeVAll
v charge of clusters for all sensors
TH1F ** m_onlineZSstrip6CountU
u strip count (online Zero Suppression) for 6 samples
TH1F * m_clusterSNRU3
u SNR of clusters for layer 3 sensors
TH1F * m_cluster6TimeU456
u Time of clusters for layer 4,5,6 sensors for 6 samples
TH1F * m_clusterSNRV456
v SNR of clusters for layer 4,5,6 sensors
TH1F * m_stripMaxBinUAll
u MaxBin of strips for all sensors (offline Zero Suppression)
TList * m_histoList
list of cumulative histograms
TH1F ** m_clusterChargeU
u charge of clusters
TH1F * m_hitMapCountsChip
Hitmaps of digits on chips.
TH1F * m_clusterChargeV3
v charge of clusters for layer 3 sensors
TH2F ** m_hitMapV
Hitmaps pixels for v.
TH2F * m_cluster3TimeGroupId
time group id for 3 samples
TH1F ** m_strip3CountV
v strip count for 3 samples
TH1F * m_stripMaxBinV6
v MaxBin of strips for layer 6 sensors (offline Zero Suppression)
TH1F ** m_stripCountGroupId0V
V strip count for cluster time group Id = 0.
TH1F * m_cluster6TimeV456
v Time of clusters for layer 4,5,6 sensors for 6 samples
TH1F ** m_firedU
Fired u strips per event.
TH1F * m_clusterTimeU3
u Time of clusters for layer 3 sensors
TH1F * m_clusterSNRU456
u SNR of clusters for layer 4,5,6 sensors
void beginRun() override final
Module function beginRun.
TH1F ** m_onlineZSstripCountU
u strip count (online Zero Suppression)
int m_ShowAllHistos
Flag to show all histos in DQM, default = 0 (do not show)
bool m_additionalPlots
additional plots flag
TH1F * m_cluster3TimeV456
v Time of clusters for layer 4,5,6 sensors for 3 samples
TH1F * m_cluster6TimeV3
v Time of clusters for layer 3 sensors for 6 samples
TH1F * m_stripMaxBinU3
u MaxBin of strips for layer 3 sensors (offline Zero Suppression)
bool m_desynchSVDTime
if TRUE: svdTime back in SVD time reference
TH1F * m_cluster3TimeU456
u Time of clusters for layer 4,5,6 sensors for 3 samples
TH1F ** m_onlineZSstrip3CountU
u strip count (online Zero Suppression) for 3 samples
TH1F ** m_onlineZSstrip3CountV
v strip count (online Zero Suppression for 3 samples
TH1F * m_stripMaxBinVAll
v MaxBin of strips for all sensors (offline Zero Suppression)
TH1F * m_hitMapClCountsChip
Hitmaps of clusters on chips.
StoreObjPtr< SoftwareTriggerResult > m_resultStoreObjectPointer
Store Object for reading the trigger decision.
float m_CutSVDClusterCharge
cut for accepting clusters to hitmap histogram, default = 0 ke-
std::string m_storeSVDClustersName
SVDClusters StoreArray name.
TH1F * m_clusterTimeU456
u Time of clusters for layer 4,5,6 sensors
TH1F ** m_firedV
Fired v strips per event.
TH1F * m_clusterChargeV456
v charge of clusters for layer 4,5,6 sensors
TH1F ** m_strip6CountV
v strip count for 3 samples
TH1F ** m_stripCountGroupId0U
U strip count for cluster time group Id = 0.
TH1F * m_hitMapClCountsV
Hitmaps v of Clusters.
TH1F ** m_clustersU
number of u clusters per event
TH1F ** m_strip3CountU
u strip count for 3 samples
Stores SVDModeByte object with Trigger time, DAQ mode, Run type & Event type! Also - the information ...
Definition: SVDEventInfo.h:31
Dataobject to store the results of the cut calculations performed by the SoftwareTriggerModule.
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
Abstract base class for different kinds of events.