20 #ifndef CSCDQM_Dispatcher_H
21 #define CSCDQM_Dispatcher_H
26 #include <boost/thread.hpp>
79 if (
config->getPROCESS_EFF_HISTOS()) {
103 if (
config->getIN_FULL_STANDBY()) {
175 boost::thread_group threads;
183 void processEvent(
const char*
data,
const int32_t dataSize,
const uint32_t errorStat,
const int32_t nodeNumber);
void updateFraTimer(const bool start)
Switch on/off fractional MO processing timer.
Object used to process Events and compute statistics.
void init()
Initialize Dispatcher: book histograms, init processor, etc.
void updateFractionAndEfficiencyHistos()
On demand update fraction and efficiency MOs.
Monitoring Object interface used to cover Root object and provide common interface to EventProcessor ...
void updateEfficiencyHistos()
Update Efficiency MOs.
dispatcher processEvent(e, inputTag, standby)
Abstract Base Histogram Definition.
EventProcessorMutex processorFract
void updateEffTimer(const bool start)
Switch on/off efficiency MO processing timer.
~Dispatcher()
Destructor. Joins and waits to complete all threads.
CSCDQM Framework frontend and Histogram Cache controller.
void updateFractionAndEfficiencyHistosAuto()
Automatically called fraction and efficiency MOs update function.
HWStandbyType lastStandby
void processStandby(HWStandbyType &standby)
Set HW Standby modes.
unsigned int maskHWElements(std::vector< std::string > &tokens)
Mask HW elements from the efficiency calculations. Can be applied on runtime!
Dispatcher(Configuration *const p_config, MonitorObjectProvider *const p_provider)
Constructor.
void writeShifterHistograms()
EventProcessorMutex(Configuration *const p_config)
Constructor.
CSCDQM Framework Global Configuration.
unsigned int maskHWElements(std::vector< std::string > &tokens)
Mask HW elements from the efficiency calculations. Can be applied on runtime!
MonitorObject cache - list objects and routines to manage cache.
Manage collection of histograms, load histogram definitions from XML file and book histograms by call...
void processStandby(HWStandbyType &standby)
Process standby information.
const bool getHisto(const HistoDef &histoD, MonitorObject *&me)
Global get MO function. If request has reached this function it means that histo is not in cache! ...
unsigned int maskHWElements(std::vector< std::string > &tokens)
Mask HW elements from the efficiency calculations. Can be applied on runtime!
bool fullStandbyProcessed
char data[epos_bytes_allocation]
MonitorObjectProvider * provider
Interface for Histogram providing objects. Used by Event Processor to retrieve MonitorObject 's and b...
void updateFractionAndEfficiencyHistos()
Update Fraction and Efficiency histograms.
void updateFractionHistos()
Update Fractional MOs.
void standbyEfficiencyHistos(HWStandbyType &standby)
apply standby flags/parameters
void commonConstruct(Configuration *const p_config, MonitorObjectProvider *const p_provider)
Lockable interface that blocks thread.
Locking object (wrapper) that holds a separate EventProcessor. This object can be used (theoretically...