Belle II Software development
DQMHistAnalysisDAQMonObj.cc
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// Own header.
10#include <dqm/analysis/modules/DQMHistAnalysisDAQMonObj.h>
11#include <TH1F.h>
12
13using namespace std;
14using namespace Belle2;
15
16//-----------------------------------------------------------------
17// Register module
18//-----------------------------------------------------------------
19
20REG_MODULE(DQMHistAnalysisDAQMonObj);
21
24{
25 setDescription("Module to monitor DAQ information.");
26 B2DEBUG(20, "DQMHistAnalysisDAQMonObj: Constructor done.");
27}
28
30{
32 B2DEBUG(20, "DQMHistAnalysisDAQMonObj: initialized.");
33}
34
36{
37 B2DEBUG(20, "DQMHistAnalysisDAQMonObj: beginRun called.");
38}
39
41{
42 B2DEBUG(20, "DQMHistAnalysisDAQMonObj: event called.");
43}
44
46{
47 B2DEBUG(20, "DQMHistAnalysisDAQMonObj: endRun called.");
48
49 auto* PXDDataSize = findHist("DAQ/PXDDataSize");
50 auto* SVDDataSize = findHist("DAQ/SVDDataSize");
51 auto* CDCDataSize = findHist("DAQ/CDCDataSize");
52 auto* TOPDataSize = findHist("DAQ/TOPDataSize");
53 auto* ARICHDataSize = findHist("DAQ/ARICHDataSize");
54 auto* ECLDataSize = findHist("DAQ/ECLDataSize");
55 auto* KLMDataSize = findHist("DAQ/KLMDataSize");
56 auto* TRGDataSize = findHist("DAQ/TRGDataSize");
57 auto* HLTDataSize = findHist("DAQ/HLTDataSize");
58 auto* TotalDataSize = findHist("DAQ/TotalDataSize");
59
60 m_monObj->setVariable("PXDEventSize", PXDDataSize ? PXDDataSize->GetMean() : 0,
61 PXDDataSize ? PXDDataSize->GetMeanError() : -1);
62 m_monObj->setVariable("SVDEventSize", SVDDataSize ? SVDDataSize->GetMean() : 0,
63 SVDDataSize ? SVDDataSize->GetMeanError() : -1);
64 m_monObj->setVariable("CDCEventSize", CDCDataSize ? CDCDataSize->GetMean() : 0,
65 CDCDataSize ? CDCDataSize->GetMeanError() : -1);
66 m_monObj->setVariable("TOPEventSize", TOPDataSize ? TOPDataSize->GetMean() : 0,
67 TOPDataSize ? TOPDataSize->GetMeanError() : -1);
68 m_monObj->setVariable("ARICHEventSize", ARICHDataSize ? ARICHDataSize->GetMean() : 0,
69 ARICHDataSize ? ARICHDataSize->GetMeanError() : -1);
70 m_monObj->setVariable("ECLEventSize", ECLDataSize ? ECLDataSize->GetMean() : 0,
71 ECLDataSize ? ECLDataSize->GetMeanError() : -1);
72 m_monObj->setVariable("KLMEventSize", KLMDataSize ? KLMDataSize->GetMean() : 0,
73 KLMDataSize ? KLMDataSize->GetMeanError() : -1);
74 m_monObj->setVariable("TRGEventSize", TRGDataSize ? TRGDataSize->GetMean() : 0,
75 TRGDataSize ? TRGDataSize->GetMeanError() : -1);
76 m_monObj->setVariable("HLTEventSize", HLTDataSize ? HLTDataSize->GetMean() : 0,
77 HLTDataSize ? HLTDataSize->GetMeanError() : -1);
78 m_monObj->setVariable("TotalEventSize", TotalDataSize ? TotalDataSize->GetMean() : 0,
79 TotalDataSize ? TotalDataSize->GetMeanError() : -1);
80}
81
83{
84
85 B2DEBUG(20, "terminate called");
86}
87
void initialize() override final
Initialize the Module.
MonitoringObject * m_monObj
monitoring object
void terminate() override final
Termination action.
void event() override final
This method is called for each event.
void endRun() override final
End-of-run action.
void beginRun() override final
Called when entering a new run.
static MonitoringObject * getMonitoringObject(const std::string &name)
Get MonitoringObject with given name (new object is created if non-existing)
static TH1 * findHist(const std::string &histname, bool onlyIfUpdated=false)
Get histogram from list (no other search).
DQMHistAnalysisModule()
Constructor / Destructor.
void setDescription(const std::string &description)
Sets the description of the module.
Definition Module.cc:214
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Definition Module.h:649
Abstract base class for different kinds of events.
STL namespace.