CSCDQM Framework frontend and Histogram Cache controller. More...
#include <CSCDQM_Dispatcher.h>
Public Member Functions | |
void | book () |
Dispatcher (Configuration *const p_config, MonitorObjectProvider *const p_provider) | |
Constructor. More... | |
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! More... | |
void | init () |
Initialize Dispatcher: book histograms, init processor, etc. More... | |
unsigned int | maskHWElements (std::vector< std::string > &tokens) |
Mask HW elements from the efficiency calculations. Can be applied on runtime! More... | |
void | processStandby (HWStandbyType &standby) |
Set HW Standby modes. More... | |
void | updateFractionAndEfficiencyHistos () |
On demand update fraction and efficiency MOs. More... | |
~Dispatcher () | |
Destructor. Joins and waits to complete all threads. More... | |
Private Member Functions | |
void | commonConstruct (Configuration *const p_config, MonitorObjectProvider *const p_provider) |
void | updateFractionAndEfficiencyHistosAuto () |
Automatically called fraction and efficiency MOs update function. More... | |
Private Attributes | |
Cache | cache |
Collection | collection |
Configuration * | config |
EventProcessor | processor |
EventProcessorMutex | processorFract |
MonitorObjectProvider * | provider |
CSCDQM Framework frontend and Histogram Cache controller.
Definition at line 122 of file CSCDQM_Dispatcher.h.
cscdqm::Dispatcher::Dispatcher | ( | Configuration *const | p_config, |
MonitorObjectProvider *const | p_provider | ||
) |
Constructor.
p_config | Pointer to Global Configuration |
p_provider | Pointer to MonitorObjectProvider |
Definition at line 29 of file CSCDQM_Dispatcher.cc.
References commonConstruct().
|
inline |
Destructor. Joins and waits to complete all threads.
Definition at line 136 of file CSCDQM_Dispatcher.h.
void cscdqm::Dispatcher::book | ( | ) |
For the first FED - book general
For the first DDU - book general
For the first and specific CSCs - book general and specific
No DMB in slot 6
For the Parameters - book parameter histograms
Definition at line 91 of file CSCDQM_Dispatcher.cc.
References cscdqm::Collection::bookCSCHistos(), cscdqm::Collection::bookDDUHistos(), cscdqm::Collection::bookEMUHistos(), cscdqm::Collection::bookFEDHistos(), cscdqm::MonitorObjectProvider::bookMonitorObject(), cache, collection, config, i, cscdqm::EventProcessor::init(), cscdqm::Cache::isBookedCSC(), cscdqm::Cache::isBookedDDU(), cscdqm::Cache::isBookedFED(), Parameters::parameters, processor, provider, and cscdqm::Cache::put().
Referenced by CSCMonitorModule::bookHistograms(), and CSCOfflineClient::dqmEndJob().
|
private |
Save pointers to class properties
Link/share Cache methods to function pointers in configuration
Link/share local functions
Link/share getCSCDetId function
Link/share booking function
Definition at line 52 of file CSCDQM_Dispatcher.cc.
References cscdqm::MonitorObjectProvider::bookMonitorObject(), cache, config, cscdqm::Configuration::fnBook, cscdqm::Configuration::fnGetCacheCSCHisto, cscdqm::Configuration::fnGetCacheDDUHisto, cscdqm::Configuration::fnGetCacheEMUHisto, cscdqm::Configuration::fnGetCacheFEDHisto, cscdqm::Configuration::fnGetCacheParHisto, cscdqm::Configuration::fnGetCSCDetId, cscdqm::Configuration::fnGetHisto, cscdqm::Configuration::fnIsBookedCSC, cscdqm::Configuration::fnIsBookedDDU, cscdqm::Configuration::fnIsBookedFED, cscdqm::Configuration::fnNextBookedCSC, cscdqm::Configuration::fnPutHisto, cscdqm::Cache::getCSC(), cscdqm::MonitorObjectProvider::getCSCDetId(), cscdqm::Cache::getDDU(), cscdqm::Cache::getEMU(), cscdqm::Cache::getFED(), getHisto(), cscdqm::Cache::getPar(), cscdqm::Cache::isBookedCSC(), cscdqm::Cache::isBookedDDU(), cscdqm::Cache::isBookedFED(), cscdqm::Cache::nextBookedCSC(), provider, and cscdqm::Cache::put().
Referenced by Dispatcher().
const bool cscdqm::Dispatcher::getHisto | ( | const HistoDef & | histoD, |
MonitorObject *& | me | ||
) |
Global get MO function. If request has reached this function it means that histo is not in cache!
histoD | Histogram Definition to get |
me | MO to return |
For the first FED - book general
For the first DDU - book general
For the first and specific CSCs - book general and specific
For the Parameters - book parameter histogram
If not found after booking - mark it as not existent
Definition at line 190 of file CSCDQM_Dispatcher.cc.
References cscdqm::Collection::bookCSCHistos(), cscdqm::Collection::bookDDUHistos(), cscdqm::Collection::bookFEDHistos(), cscdqm::MonitorObjectProvider::bookMonitorObject(), cache, collection, config, cscdqm::CSCHistoDefT, cscdqm::DDUHistoDefT, cscdqm::FEDHistoDefT, cscdqm::Cache::get(), cscdqm::HistoDef::getAddId(), cscdqm::HistoDef::getCrateId(), cscdqm::HistoDef::getDDUId(), cscdqm::HistoDef::getDMBId(), cscdqm::HistoDef::getFEDId(), cscdqm::HistoDef::getHistoName(), cscdqm::HistoDef::getId(), cscdqm::Cache::isBookedCSC(), cscdqm::Cache::isBookedDDU(), cscdqm::Cache::isBookedFED(), cscdqm::Collection::isOnDemand(), NULL, cscdqm::ParHistoDefT, provider, and cscdqm::Cache::put().
Referenced by commonConstruct().
void cscdqm::Dispatcher::init | ( | void | ) |
Initialize Dispatcher: book histograms, init processor, etc.
Definition at line 85 of file CSCDQM_Dispatcher.cc.
References collection, and cscdqm::Collection::load().
Referenced by CSCMonitorModule::CSCMonitorModule(), and CSCOfflineClient::CSCOfflineClient().
unsigned int cscdqm::Dispatcher::maskHWElements | ( | std::vector< std::string > & | tokens | ) |
Mask HW elements from the efficiency calculations. Can be applied on runtime!
tokens | String tokens of the HW elements |
Definition at line 180 of file CSCDQM_Dispatcher.cc.
References cscdqm::EventProcessorMutex::maskHWElements(), and processorFract.
Referenced by CSCMonitorModule::bookHistograms(), and CSCOfflineClient::dqmEndJob().
void cscdqm::Dispatcher::processStandby | ( | HWStandbyType & | standby | ) |
Set HW Standby modes.
Definition at line 264 of file CSCDQM_Dispatcher.cc.
References config, fff_deleter::lock(), cscdqm::Lock::mutex, processorFract, and cscdqm::EventProcessorMutex::processStandby().
void cscdqm::Dispatcher::updateFractionAndEfficiencyHistos | ( | ) |
On demand update fraction and efficiency MOs.
Definition at line 246 of file CSCDQM_Dispatcher.cc.
References config, fff_deleter::lock(), cscdqm::Lock::mutex, processorFract, and cscdqm::EventProcessorMutex::updateFractionAndEfficiencyHistos().
Referenced by CSCMonitorModule::bookHistograms(), CSCOfflineClient::dqmEndJob(), and updateFractionAndEfficiencyHistosAuto().
|
private |
Automatically called fraction and efficiency MOs update function.
Definition at line 234 of file CSCDQM_Dispatcher.cc.
References config, cscdqm::Configuration::getNEventsCSC(), and updateFractionAndEfficiencyHistos().
|
private |
MO Cache object
Definition at line 169 of file CSCDQM_Dispatcher.h.
Referenced by book(), commonConstruct(), and getHisto().
|
private |
MO Collection object
Definition at line 163 of file CSCDQM_Dispatcher.h.
Referenced by book(), getHisto(), and init().
|
private |
Pointer to Global Configuration
Definition at line 157 of file CSCDQM_Dispatcher.h.
Referenced by book(), commonConstruct(), getHisto(), processStandby(), updateFractionAndEfficiencyHistos(), and updateFractionAndEfficiencyHistosAuto().
|
private |
|
private |
Lockable Fractional and Efficiency MO update object
Definition at line 172 of file CSCDQM_Dispatcher.h.
Referenced by maskHWElements(), processStandby(), and updateFractionAndEfficiencyHistos().
|
private |
Pointer to MO provider
Definition at line 160 of file CSCDQM_Dispatcher.h.
Referenced by book(), commonConstruct(), and getHisto().