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 collection, commonConstruct(), processor, and processorFract.
|
inline |
Destructor. Joins and waits to complete all threads.
Definition at line 136 of file CSCDQM_Dispatcher.h.
References init, cscdqm::EventProcessorMutex::maskHWElements(), cscdqm::EventProcessorMutex::processStandby(), and cscdqm::EventProcessorMutex::updateFractionAndEfficiencyHistos().
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, mps_fire::i, cscdqm::EventProcessor::init(), cscdqm::Cache::isBookedCSC(), cscdqm::Cache::isBookedDDU(), cscdqm::Cache::isBookedFED(), cscdqm::h::PAR_CSC_SIDEMINUS, cscdqm::h::PAR_CSC_SIDEMINUS_STATION01, cscdqm::h::PAR_CSC_SIDEMINUS_STATION01_RING01, cscdqm::h::PAR_CSC_SIDEMINUS_STATION01_RING02, cscdqm::h::PAR_CSC_SIDEMINUS_STATION01_RING03, cscdqm::h::PAR_CSC_SIDEMINUS_STATION02, cscdqm::h::PAR_CSC_SIDEMINUS_STATION02_RING01, cscdqm::h::PAR_CSC_SIDEMINUS_STATION02_RING02, cscdqm::h::PAR_CSC_SIDEMINUS_STATION03, cscdqm::h::PAR_CSC_SIDEMINUS_STATION03_RING01, cscdqm::h::PAR_CSC_SIDEMINUS_STATION03_RING02, cscdqm::h::PAR_CSC_SIDEMINUS_STATION04, cscdqm::h::PAR_CSC_SIDEMINUS_STATION04_RING01, cscdqm::h::PAR_CSC_SIDEMINUS_STATION04_RING02, cscdqm::h::PAR_CSC_SIDEPLUS, cscdqm::h::PAR_CSC_SIDEPLUS_STATION01, cscdqm::h::PAR_CSC_SIDEPLUS_STATION01_RING01, cscdqm::h::PAR_CSC_SIDEPLUS_STATION01_RING02, cscdqm::h::PAR_CSC_SIDEPLUS_STATION01_RING03, cscdqm::h::PAR_CSC_SIDEPLUS_STATION02, cscdqm::h::PAR_CSC_SIDEPLUS_STATION02_RING01, cscdqm::h::PAR_CSC_SIDEPLUS_STATION02_RING02, cscdqm::h::PAR_CSC_SIDEPLUS_STATION03, cscdqm::h::PAR_CSC_SIDEPLUS_STATION03_RING01, cscdqm::h::PAR_CSC_SIDEPLUS_STATION03_RING02, cscdqm::h::PAR_CSC_SIDEPLUS_STATION04, cscdqm::h::PAR_CSC_SIDEPLUS_STATION04_RING01, cscdqm::h::PAR_CSC_SIDEPLUS_STATION04_RING02, cscdqm::h::PAR_REPORT_SUMMARY, 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, 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
cache.printContent();
For the Parameters - book parameter histogram
If not found after booking - mark it as not existent
Definition at line 191 of file CSCDQM_Dispatcher.cc.
References cscdqm::Collection::bookCSCHistos(), cscdqm::Collection::bookDDUHistos(), cscdqm::Collection::bookFEDHistos(), cscdqm::MonitorObjectProvider::bookMonitorObject(), cache, collection, 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(), 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 181 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 265 of file CSCDQM_Dispatcher.cc.
References data, MillePedeFileConverter_cfg::e, cscdqm::HWStandbyType::fullStandby(), HiClusterCompatibility_cfi::inputTag, CommonMethods::lock(), cscdqm::Lock::mutex, cscdqm::HWStandbyType::process, processEvent(), processor, processorFract, cscdqm::EventProcessorMutex::processStandby(), and updateFractionAndEfficiencyHistosAuto().
void cscdqm::Dispatcher::updateFractionAndEfficiencyHistos | ( | ) |
On demand update fraction and efficiency MOs.
Definition at line 247 of file CSCDQM_Dispatcher.cc.
References CommonMethods::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 235 of file CSCDQM_Dispatcher.cc.
References updateFractionAndEfficiencyHistos().
Referenced by processStandby().
|
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(), Dispatcher(), getHisto(), and init().
|
private |
Pointer to Global Configuration
Definition at line 157 of file CSCDQM_Dispatcher.h.
|
private |
Event Processor object
Definition at line 166 of file CSCDQM_Dispatcher.h.
Referenced by book(), Dispatcher(), and processStandby().
|
private |
Lockable Fractional and Efficiency MO update object
Definition at line 172 of file CSCDQM_Dispatcher.h.
Referenced by Dispatcher(), maskHWElements(), processStandby(), and updateFractionAndEfficiencyHistos().
|
private |
Pointer to MO provider
Definition at line 160 of file CSCDQM_Dispatcher.h.
Referenced by book(), commonConstruct(), and getHisto().