10 #include <dqm/analysis/modules/DQMHistAnalysisInputSrv.h>
31 addParam(
"HistMemoryPath", m_mempath,
"Path to Input Hist memory",
string(
""));
32 addParam(
"HistMemorySize", m_memsize,
"Size of Input Hist memory", 10000000);
33 addParam(
"RefreshInterval", m_interval,
"Refresh interval of histograms in ms", 2000);
34 B2DEBUG(20,
"DQMHistAnalysisInputSrv: Constructor done.");
38 DQMHistAnalysisInputSrvModule::~DQMHistAnalysisInputSrvModule() { }
40 void DQMHistAnalysisInputSrvModule::initialize()
42 if (m_memory !=
nullptr)
delete m_memory;
44 m_eventMetaDataPtr.registerInDataStore();
47 B2DEBUG(20,
"DQMHistAnalysisInputSrv: initialized.");
51 void DQMHistAnalysisInputSrvModule::beginRun()
53 B2DEBUG(20,
"DQMHistAnalysisInputSrv: beginRun called.");
56 void DQMHistAnalysisInputSrvModule::event()
59 TMemFile* file = m_memory->LoadMemFile();
61 TIter next(file->GetListOfKeys());
63 while ((key = (TKey*)next())) {
64 h.push_back((TH1*)key->ReadObj());
67 for (
size_t i = 0; i < h.size(); i++) {
68 addHist(
"", h[i]->GetName(), h[i]);
69 B2DEBUG(2,
"Found : " << h[i]->GetName() <<
" : " << h[i]->GetEntries());
70 std::string vname = h[i]->GetName();
71 setFloatValue(vname +
".entries", h[i]->GetEntries());
72 if (h[i]->GetDimension() == 1) {
73 setFloatValue(vname +
".rms", h[i]->GetRMS());
74 setFloatValue(vname +
".rmserr", h[i]->GetRMSError());
75 setFloatValue(vname +
".mean", h[i]->GetMean());
76 setFloatValue(vname +
".meanerr", h[i]->GetMeanError());
77 }
else if (h[i]->GetDimension() == 2) {
78 setFloatValue(vname +
".xrms", h[i]->GetRMS(1));
79 setFloatValue(vname +
".xrmserr", h[i]->GetRMSError(1));
80 setFloatValue(vname +
".xmean", h[i]->GetMean(1));
81 setFloatValue(vname +
".xmeanerr", h[i]->GetMeanError(1));
82 setFloatValue(vname +
".yrms", h[i]->GetRMS(2));
83 setFloatValue(vname +
".yrmserr", h[i]->GetRMSError(2));
84 setFloatValue(vname +
".ymean", h[i]->GetMean(2));
85 setFloatValue(vname +
".ymeanerr", h[i]->GetMeanError(2));
89 m_eventMetaDataPtr.create();
90 m_eventMetaDataPtr->setExperiment(m_expno);
91 m_eventMetaDataPtr->setRun(m_runno);
92 m_eventMetaDataPtr->setEvent(m_count);
94 TTimer t(m_interval, kFALSE);
99 }
while (!t.CheckTimer(gSystem->Now()));
103 void DQMHistAnalysisInputSrvModule::endRun()
105 B2DEBUG(20,
"DQMHistAnalysisInputSrv: endRun called");
109 void DQMHistAnalysisInputSrvModule::terminate()
111 B2DEBUG(20,
"DQMHistAnalysisInputSrv: terminate called");