#include <DQMEventProcessor.h>
Public Member Functions | |
DQMEventProcessor (xdaq::Application *, SharedResourcesPtr sr) | |
bool | processDQMEvents (toolbox::task::WorkLoop *) |
void | startWorkLoop (std::string workloopName) |
~DQMEventProcessor () | |
Private Member Functions | |
DQMEventProcessor (DQMEventProcessor const &) | |
void | endOfRun () |
DQMEventProcessor & | operator= (DQMEventProcessor const &) |
void | processNextDQMEvent () |
Private Attributes | |
bool | actionIsActive_ |
xdaq::Application * | app_ |
unsigned int | discardDQMUpdatesForOlderLS_ |
DQMEventStore< I2OChain, DataSenderMonitorCollection, AlarmHandler > | dqmEventStore_ |
uint32_t | latestLumiSection_ |
toolbox::task::WorkLoop * | processWL_ |
SharedResourcesPtr | sharedResources_ |
boost::posix_time::time_duration | timeout_ |
Processes the DQM event (histograms)
It retrieves the next DQM event from the DQMEventQueue, adds up the histograms belonging to one lumi-section, and puts it into the appropriate DQMConsumerQueues. Depending on the configuration, it also writes the histograms to disk every N lumi-sections.
Definition at line 39 of file DQMEventProcessor.h.
stor::DQMEventProcessor::DQMEventProcessor | ( | xdaq::Application * | app, |
SharedResourcesPtr | sr | ||
) |
Definition at line 33 of file DQMEventProcessor.cc.
References stor::WorkerThreadParams::DQMEPdeqWaitTime_, sharedResources_, and timeout_.
stor::DQMEventProcessor::~DQMEventProcessor | ( | ) |
Definition at line 57 of file DQMEventProcessor.cc.
References actionIsActive_, and processWL_.
|
private |
|
private |
Purge instances and process all completed DQM records
Definition at line 190 of file DQMEventProcessor.cc.
References dqmEventStore_, and latestLumiSection_.
Referenced by processNextDQMEvent().
|
private |
bool stor::DQMEventProcessor::processDQMEvents | ( | toolbox::task::WorkLoop * | ) |
The workloop action taking the next DQM event from the DQMEventQueue, processes it, and puts it into the appropriate DQMConsumerQueues when the lumi-section has finished.
Definition at line 94 of file DQMEventProcessor.cc.
References actionIsActive_, alignCSCRings::e, cppFunctionSkipper::exception, edm::hlt::Exception, processNextDQMEvent(), and sharedResources_.
Referenced by startWorkLoop().
|
private |
Pops the next DQM event from the DQMEventQueue and adds it to the DQMStore
Definition at line 127 of file DQMEventProcessor.cc.
References stor::DQMEventProcessorResources::Requests::configuration, stor::DQMProcessingParams::discardDQMUpdatesForOlderLS_, discardDQMUpdatesForOlderLS_, dqmEventStore_, stor::DQMEventProcessorResources::Requests::endOfRun, endOfRun(), Vispa.Plugins.EdmBrowser.EdmDataAccessor::eq(), stor::utils::getCurrentTime(), latestLumiSection_, max(), sharedResources_, stor::DQMEventProcessorResources::Requests::storeDestruction, and timeout_.
Referenced by processDQMEvents().
void stor::DQMEventProcessor::startWorkLoop | ( | std::string | workloopName | ) |
Creates and starts the DQM event processing workloop
Definition at line 67 of file DQMEventProcessor.cc.
References app_, alignCSCRings::e, edm::hlt::Exception, stor::utils::getIdentifier(), lumiQueryAPI::msg, processDQMEvents(), and processWL_.
|
private |
Definition at line 83 of file DQMEventProcessor.h.
Referenced by processDQMEvents(), and ~DQMEventProcessor().
|
private |
Definition at line 79 of file DQMEventProcessor.h.
Referenced by startWorkLoop().
|
private |
Definition at line 85 of file DQMEventProcessor.h.
Referenced by processNextDQMEvent().
|
private |
Definition at line 89 of file DQMEventProcessor.h.
Referenced by endOfRun(), and processNextDQMEvent().
|
private |
Definition at line 84 of file DQMEventProcessor.h.
Referenced by endOfRun(), and processNextDQMEvent().
|
private |
Definition at line 87 of file DQMEventProcessor.h.
Referenced by startWorkLoop(), and ~DQMEventProcessor().
|
private |
Definition at line 80 of file DQMEventProcessor.h.
Referenced by DQMEventProcessor(), processDQMEvents(), and processNextDQMEvent().
|
private |
Definition at line 82 of file DQMEventProcessor.h.
Referenced by DQMEventProcessor(), and processNextDQMEvent().