Belle II Software development
SVDUnpackerDQMModule.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#ifndef SVDUnpackerDQMModule_H
10#define SVDUnpackerDQMModule_H
11
12#include <framework/datastore/StoreArray.h>
13#include <framework/datastore/StoreObjPtr.h>
14#include <svd/dataobjects/SVDDAQDiagnostic.h>
15#include <svd/dataobjects/SVDEventInfo.h>
16#include <mdst/dataobjects/TRGSummary.h>
17#include <svd/dataobjects/SVDSummaryPlots.h>
18
19#include <framework/dataobjects/EventMetaData.h>
20#include <svd/online/SVDOnlineToOfflineMap.h>
21#include <framework/database/PayloadFile.h>
22#include <memory>
23
24#include <framework/core/HistoModule.h>
25#include <string>
26#include <TH2S.h>
27
28namespace Belle2 {
33
36
37 public:
38
41
42 /* Destructor */
43 virtual ~SVDUnpackerDQMModule();
44
46 void initialize() override final;
48 void beginRun() override final;
50 void event() override final;
52 void endRun() override final;
53
58 void defineHisto() override final;
59
62
63 private:
66
69
72
75
77 std::string m_SVDEventInfoName;
78
80 std::unique_ptr<SVDOnlineToOfflineMap> m_map;
81 static std::string m_xmlFileName;
83
86
87 bool m_changeFADCaxis = false;
88 bool m_shutUpNoData = true;
89
90 int m_expNumber = 0;
91 int m_runNumber = 0;
92
93 bool m_badEvent = false;
94 bool m_seuRecoEvent = false;
95 bool m_seuEvent = false;
96
97 unsigned int m_nEvents = 0;
98 unsigned int m_nBadEvents = 0;
99 float m_errorFraction = 0;
100
101 uint16_t m_ftbError = 0;
102 uint16_t m_ftbFlags = 0;
103 uint16_t m_apvError = 0;
104 bool m_apvMatch = true;
105 bool m_fadcMatch = true;
106 bool m_upsetAPV = false;
107 bool m_badMapping = false;
108 bool m_badHeader = false;
109 bool m_badTrailer = false;
110 bool m_missedHeader = false;
111 bool m_missedTrailer = false;
112 bool m_seuRecoData = false;
113
114 unsigned short m_fadcNo = 0;
115 unsigned short m_apvNo = 0;
116
117 std::unordered_set<unsigned char>* m_FADCs;
118 std::unordered_set<unsigned char> m_seuFADCs;
119 std::unordered_map<unsigned short, unsigned short> m_fadc_map;
120 std::vector<unsigned short> m_vec_fadc;
121
122 //histograms
123 TH2F* m_DQMUnpackerHisto = nullptr;
124 TH1F* m_DQMErrorEventsHisto = nullptr;
126 TH2F* m_DQMnSamplesHisto = nullptr;
127 TH2F* m_DQMnSamplesHisto2 = nullptr;
128 TH2F* m_DQMtrgQuality = nullptr;
129
131
132 };
133
135}
136
137#endif // SVDUnpackerDQMModule_H
138
Class for accessing objects in the database.
Definition DBObjPtr.h:21
HistoModule()
Constructor.
Definition HistoModule.h:32
class to summarize SVD quantities per sensor and side
TH1F * m_DQMSeuRecoveryFADCsEventHisto
TH1F histogram showing the number of FADC with SEU recoveries per event.
unsigned int m_nBadEvents
counter of events with any kind of error
void initialize() override final
Module function initialize.
TH2F * m_DQMnSamplesHisto2
TH2F histogram showing number of samples in data VS daqMode (2bins only)
unsigned short m_apvNo
apv number
bool m_seuEvent
indicates if the particular event is SEU case
unsigned int m_nEvents
event counter
bool m_seuRecoData
special SEU recovery data
StoreObjPtr< SVDEventInfo > m_svdEventInfo
SVDEventInfo StoreObjectPointer.
bool m_missedHeader
missed Header error
bool m_shutUpNoData
shut up if no data comes
TH2F * m_DQMUnpackerHisto
TH2F histogram with Unpacking errors.
std::string m_SVDDAQDiagnosticsName
SVD diagnostics module name.
StoreArray< SVDDAQDiagnostic > m_svdDAQDiagnostics
SVDDAQDiagnostic StoreArray.
std::vector< unsigned short > m_vec_fadc
vector of FADC boards
std::unordered_map< unsigned short, unsigned short > m_fadc_map
FADC board number map.
void defineHisto() override final
Histogram definitions such as TH1(), TH2(), TNtuple(), TTree()....
DBObjPtr< PayloadFile > m_mapping
channel map payload
float m_errorFraction
fraction of events with any kind of error
TH2F * m_DQMnSamplesHisto
TH2F histogram showing number of samples in data VS daqMode.
bool m_seuRecoEvent
indicates if the particular event is SEU recovery case
StoreObjPtr< EventMetaData > m_eventMetaData
EvtMetaData StoreObjectPointer.
static std::string m_xmlFileName
xml filename
void event() override final
Module function event.
StoreObjPtr< TRGSummary > m_objTrgSummary
Trigger Summary data object.
std::string m_histogramDirectoryName
Name of the histogram directory in ROOT file.
bool m_missedTrailer
missed Trailer error
std::unordered_set< unsigned char > * m_FADCs
FADC boards number.
TH2F * m_DQMtrgQuality
TH2F histogram showing number of samples in data VS Trigger Quality.
void endRun() override final
Module function endRun.
uint16_t m_apvError
APV error container.
std::string m_SVDEventInfoName
SVDEventInfo name.
unsigned short m_fadcNo
fadc number
std::unordered_set< unsigned char > m_seuFADCs
FADC numbers affected by SEU.
void beginRun() override final
Module function beginRun.
StoreObjPtr< EventMetaData > m_eventMetaDataPtr
Required input for EventMetaData.
bool m_badEvent
indicates if the particular event has any SVD error
SVDSummaryPlots * m_SEUonSensors
histogram showing SEU Reco events for given sensor
std::unique_ptr< SVDOnlineToOfflineMap > m_map
mapping implementation
TH1F * m_DQMErrorEventsHisto
TH1F histogram showing the events affected by errors.
uint16_t m_ftbError
FTB error container.
uint16_t m_ftbFlags
FTB flags container.
bool m_changeFADCaxis
change FADC (y) axis
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
Abstract base class for different kinds of events.