|
|
Go to the documentation of this file.
30 :
collection(p_config), processor(p_config), processorFract(p_config) {
48 :
collection(p_config), processor(p_config, itag, coco), processorFract(p_config) {
95 if (
config->getPREBOOK_ALL_HISTOS()) {
97 for (
HwId FEDId = 750; FEDId < 758; FEDId++) {
103 if (
config->getPROCESS_DDU()) {
105 for (
HwId DDUId = 1; DDUId <= 36; DDUId++) {
112 if (
config->getPROCESS_CSC()) {
114 for (
HwId CrateId = 1; CrateId <= 60; CrateId++) {
115 for (
HwId DMBId = 1; DMBId <= 10; DMBId++) {
125 if (
config->getPROCESS_EFF_PARAMETERS()) {
129 parameters.push_back(h::PAR_CSC_SIDEPLUS_STATION01_RING01);
130 parameters.push_back(h::PAR_CSC_SIDEPLUS_STATION01_RING02);
131 parameters.push_back(h::PAR_CSC_SIDEPLUS_STATION01_RING03);
132 parameters.push_back(h::PAR_CSC_SIDEPLUS_STATION01);
133 parameters.push_back(h::PAR_CSC_SIDEPLUS_STATION02_RING01);
134 parameters.push_back(h::PAR_CSC_SIDEPLUS_STATION02_RING02);
135 parameters.push_back(h::PAR_CSC_SIDEPLUS_STATION02);
136 parameters.push_back(h::PAR_CSC_SIDEPLUS_STATION03_RING01);
137 parameters.push_back(h::PAR_CSC_SIDEPLUS_STATION03_RING02);
138 parameters.push_back(h::PAR_CSC_SIDEPLUS_STATION03);
139 parameters.push_back(h::PAR_CSC_SIDEPLUS_STATION04_RING01);
140 parameters.push_back(h::PAR_CSC_SIDEPLUS_STATION04_RING02);
141 parameters.push_back(h::PAR_CSC_SIDEPLUS_STATION04);
143 parameters.push_back(h::PAR_CSC_SIDEMINUS_STATION01_RING01);
144 parameters.push_back(h::PAR_CSC_SIDEMINUS_STATION01_RING02);
145 parameters.push_back(h::PAR_CSC_SIDEMINUS_STATION01_RING03);
146 parameters.push_back(h::PAR_CSC_SIDEMINUS_STATION01);
147 parameters.push_back(h::PAR_CSC_SIDEMINUS_STATION02_RING01);
148 parameters.push_back(h::PAR_CSC_SIDEMINUS_STATION02_RING02);
149 parameters.push_back(h::PAR_CSC_SIDEMINUS_STATION02);
150 parameters.push_back(h::PAR_CSC_SIDEMINUS_STATION03_RING01);
151 parameters.push_back(h::PAR_CSC_SIDEMINUS_STATION03_RING02);
152 parameters.push_back(h::PAR_CSC_SIDEMINUS_STATION03);
153 parameters.push_back(h::PAR_CSC_SIDEMINUS_STATION04_RING01);
154 parameters.push_back(h::PAR_CSC_SIDEMINUS_STATION04_RING02);
155 parameters.push_back(h::PAR_CSC_SIDEMINUS_STATION04);
234 if (
config->getFRAEFF_AUTO_UPDATE() && (
config->getNEventsCSC() >=
config->getFRAEFF_AUTO_UPDATE_START()) &&
235 (
config->getNEventsCSC() %
config->getFRAEFF_AUTO_UPDATE_FREQ()) == 0) {
246 if (
config->getFRAEFF_SEPARATE_THREAD()) {
250 threads.create_thread(boost::ref(fnUpdate));
265 if (
config->getFRAEFF_SEPARATE_THREAD()) {
269 threads.create_thread(boost::ref(fnUpdate));
289 const int32_t dataSize,
290 const uint32_t errorStat,
291 const int32_t nodeNumber) {
292 config->eventProcessTimer(
true);
293 processor.processEvent(
data, dataSize, errorStat, nodeNumber);
294 config->eventProcessTimer(
false);
309 config->eventProcessTimer(
true);
312 if (standby.process) {
315 config->setIN_FULL_STANDBY(
config->getIN_FULL_STANDBY() && standby.fullStandby());
325 if (standby.fullStandby()) {
332 config->eventProcessTimer(
false);
Abstract Base Histogram Definition.
const bool getFED(const HistoId &id, const HwId &fedId, MonitorObject *&mo)
Get FED MO on Histogram Id and FED Id.
void bookCSCHistos(const HwId crateId, const HwId dmbId) const
Book Chamber Histograms.
Dispatcher(Configuration *const p_config, MonitorObjectProvider *const p_provider)
Constructor.
void updateFractionAndEfficiencyHistos()
On demand update fraction and efficiency MOs.
const bool nextBookedCSC(unsigned int &n, unsigned int &crateId, unsigned int &dmbId) const
Iterator to get booked CSC identifiers on enumerator.
const bool isBookedDDU(const HwId &dduId) const
Check if DDU was booked on given identifier.
static const std::type_info & CSCHistoDefT
Parameter Histogram Definition.
EventProcessorMutex processorFract
virtual const HwId getAddId() const
Get CSC Additional ID (used to store Layer, CLCT, ALCT and other identifiers.
const bool isBookedCSC(const HwId &crateId, const HwId &dmbId) const
Check if CSC was booked on given identifiers.
void init()
Initialize EventProcessor: reading out config information.
const bool get(const HistoDef &histo, MonitorObject *&mo)
Get Monitoring Object on Histogram Definition.
static const std::type_info & DDUHistoDefT
void updateFractionAndEfficiencyHistosAuto()
Automatically called fraction and efficiency MOs update function.
dispatcher processEvent(e, inputTag, standby)
virtual const HwId getCrateId() const
Get CSC Crate ID.
void processStandby(HWStandbyType &standby)
Process standby information.
virtual const HwId getDDUId() const
Get DDU ID.
const bool getPar(const HistoId &id, MonitorObject *&mo)
Get Parameter MO on Histogram Id.
void bookDDUHistos(const HwId dduId) const
Book DDU histograms.
const bool getDDU(const HistoId &id, const HwId &dduId, MonitorObject *&mo)
Get DDU MO on Histogram Id and DDU Id.
unsigned int maskHWElements(std::vector< std::string > &tokens)
Mask HW elements from the efficiency calculations. Can be applied on runtime!
void commonConstruct(Configuration *const p_config, MonitorObjectProvider *const p_provider)
const HistoId getId() const
Get Histogram ID.
unsigned int maskHWElements(std::vector< std::string > &tokens)
Mask HW elements from the efficiency calculations. Can be applied on runtime!
void bookFEDHistos(const HwId fedId) const
Book FED histograms.
void load()
Load XML file and fill definition map(s)
static const std::type_info & ParHistoDefT
void processStandby(HWStandbyType &standby)
Set HW Standby modes.
static const std::type_info & FEDHistoDefT
CSCDQM Framework Global Configuration.
const bool isOnDemand(const HistoName &name) const
Check if the histogram is on demand (by histogram name)
const HistoName & getHistoName() const
Get raw histogram name.
MonitorObjectProvider * provider
const bool isBookedFED(const HwId &fedId) const
Check if FED was booked on given identifier.
void put(const HistoDef &histo, MonitorObject *mo)
Put Monitoring Object into cache.
void init()
Initialize Dispatcher: book histograms, init processor, etc.
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!
void bookEMUHistos() const
Book EMU histograms.
const bool getEMU(const HistoId &id, MonitorObject *&mo)
Get EMU MO on Histogram Id.
Monitoring Object interface used to cover Root object and provide common interface to EventProcessor ...
char data[epos_bytes_allocation]
TEMPL(T2) struct Divides void
virtual const HwId getFEDId() const
Get FED ID.
virtual MonitorObject * bookMonitorObject(const HistoBookRequest &p_req)=0
void updateFractionAndEfficiencyHistos()
Update Fraction and Efficiency histograms.
virtual const HwId getDMBId() const
Get CSC DMB ID.
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.
Interface for Histogram providing objects. Used by Event Processor to retrieve MonitorObject 's and b...
virtual bool getCSCDetId(const unsigned int crateId, const unsigned int dmbId, CSCDetId &detId) const =0