30 :
collection(p_config), processor(p_config), processorFract(p_config) {
48 :
collection(p_config), processor(p_config, itag, coco), processorFract(p_config) {
61 config->fnGetCacheFEDHisto =
62 std::bind(&
Cache::getFED, &
cache, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3);
63 config->fnGetCacheDDUHisto =
64 std::bind(&
Cache::getDDU, &
cache, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3);
67 std::placeholders::_1,
68 std::placeholders::_2,
69 std::placeholders::_3,
70 std::placeholders::_4,
71 std::placeholders::_5);
86 std::placeholders::_1,
87 std::placeholders::_2,
88 std::placeholders::_3);
108 if (
config->getPREBOOK_ALL_HISTOS()) {
110 for (
HwId FEDId = 750; FEDId < 758; FEDId++) {
116 if (
config->getPROCESS_DDU()) {
118 for (
HwId DDUId = 1; DDUId <= 36; DDUId++) {
125 if (
config->getPROCESS_CSC()) {
127 for (
HwId CrateId = 1; CrateId <= 60; CrateId++) {
128 for (
HwId DMBId = 1; DMBId <= 10; DMBId++) {
138 if (
config->getPROCESS_EFF_PARAMETERS()) {
247 if (
config->getFRAEFF_AUTO_UPDATE() && (
config->getNEventsCSC() >=
config->getFRAEFF_AUTO_UPDATE_START()) &&
248 (
config->getNEventsCSC() %
config->getFRAEFF_AUTO_UPDATE_FREQ()) == 0) {
259 if (
config->getFRAEFF_SEPARATE_THREAD()) {
260 std::function<void()> fnUpdate =
263 threads.create_thread(std::ref(fnUpdate));
278 if (
config->getFRAEFF_SEPARATE_THREAD()) {
279 std::function<void(HWStandbyType&)> fnUpdate =
282 threads.create_thread(std::ref(fnUpdate));
302 const int32_t dataSize,
303 const uint32_t errorStat,
304 const int32_t nodeNumber) {
305 config->eventProcessTimer(
true);
306 processor.processEvent(
data, dataSize, errorStat, nodeNumber);
307 config->eventProcessTimer(
false);
322 config->eventProcessTimer(
true);
325 if (standby.process) {
328 config->setIN_FULL_STANDBY(
config->getIN_FULL_STANDBY() && standby.fullStandby());
338 if (standby.fullStandby()) {
345 config->eventProcessTimer(
false);
virtual const HwId getAddId() const
Get CSC Additional ID (used to store Layer, CLCT, ALCT and other identifiers.
const bool getFED(const HistoId &id, const HwId &fedId, MonitorObject *&mo)
Get FED MO on Histogram Id and FED Id.
void init()
Initialize Dispatcher: book histograms, init processor, etc.
static const std::type_info & FEDHistoDefT
virtual const HwId getFEDId() const
Get FED ID.
const bool getEMU(const HistoId &id, MonitorObject *&mo)
Get EMU MO on Histogram Id.
void updateFractionAndEfficiencyHistos()
On demand update fraction and efficiency MOs.
Monitoring Object interface used to cover Root object and provide common interface to EventProcessor ...
dispatcher processEvent(e, inputTag, standby)
Abstract Base Histogram Definition.
const bool isBookedFED(const HwId &fedId) const
Check if FED was booked on given identifier.
Parameter Histogram Definition.
const bool isOnDemand(const HistoName &name) const
Check if the histogram is on demand (by histogram name)
EventProcessorMutex processorFract
virtual const HwId getDMBId() const
Get CSC DMB ID.
void bookEMUHistos() const
Book EMU histograms.
void init()
Initialize EventProcessor: reading out config information.
const bool nextBookedCSC(unsigned int &n, unsigned int &crateId, unsigned int &dmbId) const
Iterator to get booked CSC identifiers on enumerator.
void updateFractionAndEfficiencyHistosAuto()
Automatically called fraction and efficiency MOs update function.
const HistoId getId() const
Get Histogram ID.
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!
virtual const HwId getCrateId() const
Get CSC Crate ID.
virtual MonitorObject * bookMonitorObject(const HistoBookRequest &p_req)=0
Dispatcher(Configuration *const p_config, MonitorObjectProvider *const p_provider)
Constructor.
const bool isBookedCSC(const HwId &crateId, const HwId &dmbId) const
Check if CSC was booked on given identifiers.
CSCDQM Framework Global Configuration.
const bool getPar(const HistoId &id, MonitorObject *&mo)
Get Parameter MO on Histogram Id.
unsigned int maskHWElements(std::vector< std::string > &tokens)
Mask HW elements from the efficiency calculations. Can be applied on runtime!
virtual bool getCSCDetId(const unsigned int crateId, const unsigned int dmbId, CSCDetId &detId) const =0
static const std::type_info & CSCHistoDefT
void processStandby(HWStandbyType &standby)
Process standby information.
void load()
Load XML file and fill definition map(s)
static const std::type_info & ParHistoDefT
const bool isBookedDDU(const HwId &dduId) const
Check if DDU was booked on given identifier.
void bookDDUHistos(const HwId dduId) const
Book DDU histograms.
const HistoName & getHistoName() const
Get raw histogram name.
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! ...
const bool getDDU(const HistoId &id, const HwId &dduId, MonitorObject *&mo)
Get DDU MO on Histogram Id and DDU Id.
static const std::type_info & DDUHistoDefT
void put(const HistoDef &histo, MonitorObject *mo)
Put Monitoring Object into cache.
void bookFEDHistos(const HwId fedId) const
Book FED histograms.
virtual const HwId getDDUId() const
Get DDU ID.
char data[epos_bytes_allocation]
const bool get(const HistoDef &histo, MonitorObject *&mo)
Get Monitoring Object on Histogram Definition.
MonitorObjectProvider * provider
void bookCSCHistos(const HwId crateId, const HwId dmbId) const
Book Chamber Histograms.
Interface for Histogram providing objects. Used by Event Processor to retrieve MonitorObject 's and b...
const bool getCSC(const HistoId &id, const HwId &crateId, const HwId &dmbId, const HwId &addId, MonitorObject *&mo)
Get CSC MO on Histogram Id and CSC Crate and DMB Ids.
void updateFractionAndEfficiencyHistos()
Update Fraction and Efficiency histograms.
void commonConstruct(Configuration *const p_config, MonitorObjectProvider *const p_provider)