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 115 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 129 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 104 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(), hlt_dqm_clientPB-live_cfg::me, 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 54 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 200 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(), hlt_dqm_clientPB-live_cfg::me, 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 98 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 190 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 276 of file CSCDQM_Dispatcher.cc.
References CommonMethods::lock(), cscdqm::Lock::mutex, processorFract, and cscdqm::EventProcessorMutex::processStandby().
void cscdqm::Dispatcher::updateFractionAndEfficiencyHistos | ( | ) |
On demand update fraction and efficiency MOs.
Definition at line 257 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 246 of file CSCDQM_Dispatcher.cc.
References updateFractionAndEfficiencyHistos().
|
private |
MO Cache object
Definition at line 161 of file CSCDQM_Dispatcher.h.
Referenced by book(), commonConstruct(), and getHisto().
|
private |
MO Collection object
Definition at line 155 of file CSCDQM_Dispatcher.h.
Referenced by book(), getHisto(), and init().
|
private |
Pointer to Global Configuration
Definition at line 149 of file CSCDQM_Dispatcher.h.
Referenced by confdb.HLTProcess::addEras(), confdb.HLTProcess::addGlobalOptions(), confdb.HLTProcess::build_source(), confdb.HLTProcess::buildOptions(), confdb.HLTProcess::customize(), confdb.HLTProcess::dump(), confdb.HLTProcess::fixPrescales(), pkg.AbstractPkg::generate(), pkg.AbstractPkg::get_kwds(), confdb.HLTProcess::getPathList(), confdb.HLTProcess::getRawConfigurationFromDB(), confdb.HLTProcess::getSetupConfigurationFromDB(), confdb.HLTProcess::instrumentDQM(), confdb.HLTProcess::instrumentErrorEventType(), confdb.HLTProcess::instrumentOpenMode(), confdb.HLTProcess::instrumentTiming(), confdb.HLTProcess::loadCffCommand(), confdb.HLTProcess::loadSetupCff(), confdb.HLTProcess::overrideGlobalTag(), confdb.HLTProcess::overrideL1MenuXml(), confdb.HLTProcess::overrideOutput(), confdb.HLTProcess::overrideProcessName(), pkg.AbstractPkg::parse_etags(), confdb.HLTProcess::runL1Emulator(), and confdb.HLTProcess::specificCustomize().
|
private |
Event Processor object
Definition at line 158 of file CSCDQM_Dispatcher.h.
Referenced by clustering2d_v2.RozBinTruncation::__call__(), vfe.CreateVfe::__call__(), concentrator.CreateSuperTriggerCell::__call__(), concentrator.CreateThreshold::__call__(), concentrator.CreateBestChoice::__call__(), clustering2d.RozBinTruncation::__call__(), concentrator.CreateAutoencoder::__call__(), concentrator.CreateOneBitFraction::__call__(), concentrator.CreateMixedFeOptions::__call__(), concentrator.CreateCustom::__call__(), and book().
|
private |
Lockable Fractional and Efficiency MO update object
Definition at line 164 of file CSCDQM_Dispatcher.h.
Referenced by maskHWElements(), processStandby(), and updateFractionAndEfficiencyHistos().
|
private |
Pointer to MO provider
Definition at line 152 of file CSCDQM_Dispatcher.h.
Referenced by book(), commonConstruct(), and getHisto().