14#include <dqm/modules/DAQMonitor.h>
17#include <TDirectory.h>
25 setDescription(
"This module produces general DAQ DQM histograms.");
31 TDirectory* oldDir = gDirectory;
34 h_nEvt =
new TH1F(
"Nevent",
"Total Number of Events", 3, 0.0, 2.0);
35 h_pxdSize =
new TH1F(
"PXDDataSize",
"PXD Data Size;Size [kB];", 200, 0.0, 1000.0);
36 h_svdSize =
new TH1F(
"SVDDataSize",
"SVD Data Size;Size [kB];", 100, 0.0, 300.0);
37 h_cdcSize =
new TH1F(
"CDCDataSize",
"CDC Data Size;Size [kB];", 100, 0.0, 100.0);
38 h_topSize =
new TH1F(
"TOPDataSize",
"TOP Data Size;Size [kB];", 100, 0.0, 100.0);
39 h_arichSize =
new TH1F(
"ARICHDataSize",
"ARICH Data Size;Size [kB];", 100, 0.0, 40.0);
40 h_eclSize =
new TH1F(
"ECLDataSize",
"ECL Data Size;Size [kB];", 100, 0.0, 100.0);
41 h_klmSize =
new TH1F(
"KLMDataSize",
"KLM Data Size;Size [kB];", 100, 0.0, 40.0);
42 h_trgSize =
new TH1F(
"TRGDataSize",
"TRG Data Size;Size [kB];", 100, 0.0, 40.0);
43 h_hltSize =
new TH1F(
"HLTDataSize",
"HLT (Total - PXD) Data Size;Size [kB];", 200, 0.0, 1000.0);
44 h_totalSize =
new TH1F(
"TotalDataSize",
"Total (HLT + PXD) Data Size;Size [kB];", 200, 0.0, 2000.0);
45 h_runNr =
new TH1F(
"hRunnr",
"Run Number", 1, 0, 1);
86 if (
h_runNr->GetXaxis()->GetNbins() == 1) {
89 h_runNr->SetBins(10, runNr - 5, runNr + 5);
96 h_runNr->GetXaxis()->SetCanExtend(kTRUE);
106 pxdSize += (pxdRaw.size()) *
sizeof(
unsigned int);
107 h_pxdSize->Fill(
static_cast<float>(pxdSize) / 1000.);
112 svdSize += svdRaw.GetBlockNwords(0) *
sizeof(
unsigned int);
113 h_svdSize->Fill(
static_cast<float>(svdSize) / 1000.);
118 cdcSize += cdcRaw.GetBlockNwords(0) *
sizeof(
unsigned int);
119 h_cdcSize->Fill(
static_cast<float>(cdcSize) / 1000.);
124 topSize += topRaw.GetBlockNwords(0) *
sizeof(
unsigned int);
125 h_topSize->Fill(
static_cast<float>(topSize) / 1000.);
130 arichSize += arichRaw.GetBlockNwords(0) *
sizeof(
unsigned int);
131 h_arichSize->Fill(
static_cast<float>(arichSize) / 1000.);
136 eclSize += eclRaw.GetBlockNwords(0) *
sizeof(
unsigned int);
137 h_eclSize->Fill(
static_cast<float>(eclSize) / 1000.);
142 klmSize += klmRaw.GetBlockNwords(0) *
sizeof(
unsigned int);
143 h_klmSize->Fill(
static_cast<float>(klmSize) / 1000.);
148 trgSize += trgRaw.GetBlockNwords(0) *
sizeof(
unsigned int);
149 h_trgSize->Fill(
static_cast<float>(trgSize) / 1000.);
153 int hltSize = svdSize + cdcSize + topSize + arichSize + eclSize + klmSize + trgSize;
154 h_hltSize->Fill(
static_cast<float>(hltSize) / 1000.);
155 int totalSize = pxdSize + hltSize;
156 h_totalSize->Fill(
static_cast<float>(totalSize) / 1000.);
TH1F * h_hltSize
Histogram for HLT data size.
void initialize() override final
Initialize.
StoreArray< RawARICH > m_arichRaw
ARICH raw data.
DAQMonitorModule()
Constructor.
TH1F * h_totalSize
Histogram for total data size.
StoreArray< RawSVD > m_svdRaw
SVD raw data.
StoreArray< RawTOP > m_topRaw
TOP raw data.
StoreArray< RawKLM > m_klmRaw
KLM raw data.
void defineHisto() override final
Histograms definition.
TH1F * h_nEvt
Histogram for total number of events.
StoreArray< RawPXD > m_pxdRaw
PXD raw data.
TH1F * h_cdcSize
Histogram for CDC data size.
StoreObjPtr< EventMetaData > m_eventMetaData
Input ptr for EventMetaData.
TH1F * h_arichSize
Histogram for ARICH data size.
void event() override final
Event.
TH1F * h_svdSize
Histogram for SVD data size.
TH1F * h_pxdSize
Histogram for PXD data size.
TH1F * h_runNr
Histogram for run nr crosscheck.
void beginRun() override final
Begin run.
TH1F * h_trgSize
Histogram for TRG data size.
TH1F * h_eclSize
Histogram for ECL data size.
StoreArray< RawTRG > m_trgRaw
TRG raw data.
TH1F * h_klmSize
Histogram for KLM data size.
StoreArray< RawECL > m_eclRaw
ECL raw data.
StoreArray< RawCDC > m_cdcRaw
CDC raw data.
TH1F * h_topSize
Histogram for TOP data size.
HistoModule.h is supposed to be used instead of Module.h for the modules with histogram definitions t...
void setDescription(const std::string &description)
Sets the description of the module.
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
The Raw ARICH class Class for RawCOPPER class data taken by ARICH Currently, this class is almost sam...
The Raw CDC class Class for RawCOPPER class data taken by CDC Currently, this class is almost same as...
The Raw ECL class Class for RawCOPPER class data taken by ECL Currently, this class is almost same as...
The Raw KLM class Class for RawCOPPER class data taken by KLM.
The Raw SVD class Class for RawCOPPER class data taken by SVD Currently, this class is almost same as...
The Raw TOP class Class for RawCOPPER class data taken by TOP Currently, this class is almost same as...
The Raw TOP class Class for RawCOPPER class data taken by TOP Currently, this class is almost same as...
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Abstract base class for different kinds of events.