Belle II Software  release-05-02-19
SVDUnpackerDQMModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2018 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Jarek Wiechczynski *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #ifndef SVDUnpackerDQMModule_H
12 #define SVDUnpackerDQMModule_H
13 
14 #include <framework/datastore/StoreArray.h>
15 #include <framework/datastore/StoreObjPtr.h>
16 #include <svd/dataobjects/SVDDAQDiagnostic.h>
17 #include <svd/dataobjects/SVDEventInfo.h>
18 #include <mdst/dataobjects/TRGSummary.h>
19 
20 #include <framework/dataobjects/EventMetaData.h>
21 #include <svd/online/SVDOnlineToOfflineMap.h>
22 #include <framework/database/PayloadFile.h>
23 #include <memory>
24 
25 #include <framework/core/HistoModule.h>
26 #include <string>
27 #include <TH2S.h>
28 
29 namespace Belle2 {
39  class SVDUnpackerDQMModule : public HistoModule {
40 
41  public:
42 
45 
46  /* Destructor */
48 
50  void initialize() override final;
52  void beginRun() override final;
54  void event() override final;
56  void endRun() override final;
57 
62  void defineHisto() override final;
63 
65  std::string m_histogramDirectoryName;
66 
67  private:
70 
73 
76 
78  std::string m_ShaperDigitName;
79 
81  std::string m_SVDDAQDiagnosticsName;
82 
84  std::string m_SVDEventInfoName;
85 
87  std::unique_ptr<SVDOnlineToOfflineMap> m_map;
88  static std::string m_xmlFileName;
94  bool m_changeFADCaxis = false;
95  bool m_shutUpNoData = true;
97  int m_expNumber = 0;
98  int m_runNumber = 0;
100  bool m_badEvent = false;
101  unsigned int m_nEvents = 0;
102  unsigned int m_nBadEvents = 0;
103  float m_errorFraction = 0;
105  uint16_t m_ftbError = 0;
106  uint16_t m_ftbFlags = 0;
107  uint16_t m_apvError = 0;
108  bool m_apvMatch = true;
109  bool m_fadcMatch = true;
110  bool m_upsetAPV = false;
111  bool m_badMapping = false;
112  bool m_badHeader = false;
113  bool m_badTrailer = false;
114  bool m_missedHeader = false;
115  bool m_missedTrailer = false;
117  unsigned short m_fadcNo = 0;
118  //unsigned short apvNo;
119 
120  std::unordered_set<unsigned char>* m_FADCs;
121  std::unordered_map<unsigned short, unsigned short> m_fadc_map;
122  std::vector<unsigned short> m_vec_fadc;
124  //histogram
125  TH2F* m_DQMUnpackerHisto = nullptr;
126  TH1F* m_DQMEventFractionHisto = nullptr;
127  TH2F* m_DQMnSamplesHisto = nullptr;
128  TH2F* m_DQMnSamplesHisto2 = nullptr;
129  TH2F* m_DQMtrgQuality = nullptr;
131  };
132 
134 }
135 
136 #endif // SVDUnpackerDQMModule_H
137 
Belle2::SVDUnpackerDQMModule::m_FADCs
std::unordered_set< unsigned char > * m_FADCs
FADC boards number.
Definition: SVDUnpackerDQMModule.h:128
Belle2::SVDEventInfo
Stores SVDModeByte object with Trigger time, DAQ mode, Run type & Event type! Also - the information ...
Definition: SVDEventInfo.h:39
Belle2::SVDUnpackerDQMModule::event
void event() override final
Module function event.
Definition: SVDUnpackerDQMModule.cc:207
Belle2::SVDUnpackerDQMModule::endRun
void endRun() override final
Module function endRun.
Definition: SVDUnpackerDQMModule.cc:348
Belle2::SVDUnpackerDQMModule::m_badMapping
bool m_badMapping
bad mapping error
Definition: SVDUnpackerDQMModule.h:119
Belle2::SVDUnpackerDQMModule::m_expNumber
int m_expNumber
experiment number
Definition: SVDUnpackerDQMModule.h:105
Belle2::SVDUnpackerDQMModule::m_fadcNo
unsigned short m_fadcNo
fadc number
Definition: SVDUnpackerDQMModule.h:125
Belle2::SVDUnpackerDQMModule::m_nEvents
unsigned int m_nEvents
event counter
Definition: SVDUnpackerDQMModule.h:109
Belle2::SVDUnpackerDQMModule::m_errorFraction
float m_errorFraction
fraction of events with any kind of error
Definition: SVDUnpackerDQMModule.h:111
Belle2::SVDUnpackerDQMModule::m_mapping
DBObjPtr< PayloadFile > m_mapping
channel map payload
Definition: SVDUnpackerDQMModule.h:97
Belle2::SVDUnpackerDQMModule::m_svdEventInfo
StoreObjPtr< SVDEventInfo > m_svdEventInfo
SVDEventInfo StoreObjectPointer.
Definition: SVDUnpackerDQMModule.h:80
Belle2::SVDUnpackerDQMModule::m_changeFADCaxis
bool m_changeFADCaxis
change FADC (y) axis
Definition: SVDUnpackerDQMModule.h:102
Belle2::SVDUnpackerDQMModule::m_upsetAPV
bool m_upsetAPV
upset APV error
Definition: SVDUnpackerDQMModule.h:118
Belle2::SVDUnpackerDQMModule::m_eventMetaData
StoreObjPtr< EventMetaData > m_eventMetaData
EvtMetaData StoreObjectPointer.
Definition: SVDUnpackerDQMModule.h:100
Belle2::SVDUnpackerDQMModule::m_ftbFlags
uint16_t m_ftbFlags
FTB flags container.
Definition: SVDUnpackerDQMModule.h:114
Belle2::SVDUnpackerDQMModule::m_missedTrailer
bool m_missedTrailer
missed Trailer error
Definition: SVDUnpackerDQMModule.h:123
Belle2::SVDUnpackerDQMModule::m_objTrgSummary
StoreObjPtr< TRGSummary > m_objTrgSummary
Trigger Summary data object.
Definition: SVDUnpackerDQMModule.h:83
Belle2::SVDUnpackerDQMModule::m_badEvent
bool m_badEvent
indicates if the particular event has any SVD error
Definition: SVDUnpackerDQMModule.h:108
Belle2::SVDUnpackerDQMModule::m_missedHeader
bool m_missedHeader
missed Header error
Definition: SVDUnpackerDQMModule.h:122
Belle2::DBObjPtr
Class for accessing objects in the database.
Definition: DBObjPtr.h:31
Belle2::SVDUnpackerDQMModule::m_badHeader
bool m_badHeader
bad header error
Definition: SVDUnpackerDQMModule.h:120
Belle2::TRGSummary
Trigger Summary Information input bits input bits from subdetectors ftdl (Final Trigger Decision Logi...
Definition: TRGSummary.h:43
Belle2::SVDUnpackerDQMModule
SVD DQM Module for the Unpacker.
Definition: SVDUnpackerDQMModule.h:47
Belle2::SVDUnpackerDQMModule::SVDUnpackerDQMModule
SVDUnpackerDQMModule()
Constructor.
Definition: SVDUnpackerDQMModule.cc:42
Belle2::SVDUnpackerDQMModule::m_ftbError
uint16_t m_ftbError
FTB error container.
Definition: SVDUnpackerDQMModule.h:113
Belle2::SVDUnpackerDQMModule::m_SVDEventInfoName
std::string m_SVDEventInfoName
SVDEventInfo name.
Definition: SVDUnpackerDQMModule.h:92
Belle2::SVDUnpackerDQMModule::beginRun
void beginRun() override final
Module function beginRun.
Definition: SVDUnpackerDQMModule.cc:152
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::SVDUnpackerDQMModule::m_DQMnSamplesHisto2
TH2F * m_DQMnSamplesHisto2
TH2F histogram showing number of samples in data VS daqMode (2bins only)
Definition: SVDUnpackerDQMModule.h:136
Belle2::SVDUnpackerDQMModule::m_fadc_map
std::unordered_map< unsigned short, unsigned short > m_fadc_map
FADC board number map.
Definition: SVDUnpackerDQMModule.h:129
Belle2::SVDUnpackerDQMModule::m_runNumber
int m_runNumber
run number
Definition: SVDUnpackerDQMModule.h:106
Belle2::SVDUnpackerDQMModule::m_eventMetaDataPtr
StoreObjPtr< EventMetaData > m_eventMetaDataPtr
Required input for EventMetaData.
Definition: SVDUnpackerDQMModule.h:77
Belle2::SVDUnpackerDQMModule::m_map
std::unique_ptr< SVDOnlineToOfflineMap > m_map
mapping implementation
Definition: SVDUnpackerDQMModule.h:95
Belle2::SVDUnpackerDQMModule::m_DQMnSamplesHisto
TH2F * m_DQMnSamplesHisto
TH2F histogram showing number of samples in data VS daqMode.
Definition: SVDUnpackerDQMModule.h:135
Belle2::SVDUnpackerDQMModule::m_shutUpNoData
bool m_shutUpNoData
shut up if no data comes
Definition: SVDUnpackerDQMModule.h:103
Belle2::SVDUnpackerDQMModule::m_badTrailer
bool m_badTrailer
bad trailer error
Definition: SVDUnpackerDQMModule.h:121
Belle2::SVDUnpackerDQMModule::m_DQMtrgQuality
TH2F * m_DQMtrgQuality
TH2F histogram showing number of samples in data VS Trigger Quality.
Definition: SVDUnpackerDQMModule.h:137
Belle2::EventMetaData
Store event, run, and experiment numbers.
Definition: EventMetaData.h:43
Belle2::SVDUnpackerDQMModule::initialize
void initialize() override final
Module function initialize.
Definition: SVDUnpackerDQMModule.cc:140
Belle2::SVDOnlineToOfflineMap
This class implements the methods to map raw SVD hits to BASF2 SVD hits.
Definition: SVDOnlineToOfflineMap.h:47
Belle2::SVDUnpackerDQMModule::m_svdDAQDiagnostics
StoreArray< SVDDAQDiagnostic > m_svdDAQDiagnostics
SVDDAQDiagnostic StoreArray.
Definition: SVDUnpackerDQMModule.h:99
Belle2::SVDUnpackerDQMModule::m_histogramDirectoryName
std::string m_histogramDirectoryName
Name of the histogram directory in ROOT file.
Definition: SVDUnpackerDQMModule.h:73
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::SVDDAQDiagnostic
Class to store SVD DAQ diagnostic information.
Definition: SVDDAQDiagnostic.h:33
Belle2::SVDUnpackerDQMModule::m_nBadEvents
unsigned int m_nBadEvents
counter of events with any kind of error
Definition: SVDUnpackerDQMModule.h:110
Belle2::PayloadFile
A wrapper class for payload files used by the Database and DBStore classes.
Definition: PayloadFile.h:33
Belle2::SVDUnpackerDQMModule::m_DQMEventFractionHisto
TH1F * m_DQMEventFractionHisto
TH1F histogram showing the fraction of events affected by errors.
Definition: SVDUnpackerDQMModule.h:134
Belle2::SVDUnpackerDQMModule::m_apvError
uint16_t m_apvError
APV error container.
Definition: SVDUnpackerDQMModule.h:115
Belle2::SVDUnpackerDQMModule::m_xmlFileName
static std::string m_xmlFileName
xml filename
Definition: SVDUnpackerDQMModule.h:96
Belle2::SVDUnpackerDQMModule::m_ShaperDigitName
std::string m_ShaperDigitName
SVDShaperDigits StoreArray name.
Definition: SVDUnpackerDQMModule.h:86
Belle2::SVDUnpackerDQMModule::m_vec_fadc
std::vector< unsigned short > m_vec_fadc
vector of FADC boards
Definition: SVDUnpackerDQMModule.h:130
Belle2::SVDUnpackerDQMModule::m_DQMUnpackerHisto
TH2F * m_DQMUnpackerHisto
TH2F histogram with Unpacking errors.
Definition: SVDUnpackerDQMModule.h:133
Belle2::SVDUnpackerDQMModule::m_apvMatch
bool m_apvMatch
apv match error
Definition: SVDUnpackerDQMModule.h:116
Belle2::SVDUnpackerDQMModule::defineHisto
void defineHisto() override final
Histogram definitions such as TH1(), TH2(), TNtuple(), TTree()....
Definition: SVDUnpackerDQMModule.cc:65
Belle2::SVDUnpackerDQMModule::m_fadcMatch
bool m_fadcMatch
fadcc match error
Definition: SVDUnpackerDQMModule.h:117
Belle2::SVDUnpackerDQMModule::m_SVDDAQDiagnosticsName
std::string m_SVDDAQDiagnosticsName
SVD diagnostics module name.
Definition: SVDUnpackerDQMModule.h:89