CMS 3D CMS Logo

Public Member Functions | Private Attributes

cscdqm::EventProcessorMutex Class Reference

Locking object (wrapper) that holds a separate EventProcessor. This object can be used (theoretically) in separate thread. More...

#include <CSCDQM_Dispatcher.h>

Inheritance diagram for cscdqm::EventProcessorMutex:
cscdqm::Lock

List of all members.

Public Member Functions

 EventProcessorMutex (Configuration *const p_config)
 Constructor.
unsigned int maskHWElements (std::vector< std::string > &tokens)
 Mask HW elements from the efficiency calculations. Can be applied on runtime!
void processStandby (HWStandbyType &standby)
 Process standby information.
void updateFractionAndEfficiencyHistos ()
 Update Fraction and Efficiency histograms.

Private Attributes

Configurationconfig
bool fullStandbyProcessed
HWStandbyType lastStandby
EventProcessor processor

Detailed Description

Locking object (wrapper) that holds a separate EventProcessor. This object can be used (theoretically) in separate thread.

Definition at line 42 of file CSCDQM_Dispatcher.h.


Constructor & Destructor Documentation

cscdqm::EventProcessorMutex::EventProcessorMutex ( Configuration *const  p_config) [inline]

Constructor.

Parameters:
p_configPointer to Global Configuration

Definition at line 64 of file CSCDQM_Dispatcher.h.

References config, and fullStandbyProcessed.

                                                         : processor(p_config) {
        config = p_config;
        fullStandbyProcessed = false;
      }

Member Function Documentation

unsigned int cscdqm::EventProcessorMutex::maskHWElements ( std::vector< std::string > &  tokens) [inline]

Mask HW elements from the efficiency calculations. Can be applied on runtime!

Parameters:
tokensString tokens of the HW elements
Returns:
elements masked

Definition at line 90 of file CSCDQM_Dispatcher.h.

References cscdqm::EventProcessor::maskHWElements(), and processor.

Referenced by cscdqm::Dispatcher::maskHWElements().

                                                                {
        return processor.maskHWElements(tokens);
      }
void cscdqm::EventProcessorMutex::processStandby ( HWStandbyType standby) [inline]

Process standby information.

Parameters:
standbyStandby information

Definition at line 99 of file CSCDQM_Dispatcher.h.

References config, fullStandbyProcessed, lastStandby, processor, cscdqm::EventProcessor::standbyEfficiencyHistos(), and cscdqm::EventProcessor::writeShifterHistograms().

Referenced by cscdqm::Dispatcher::processStandby().

                                                  {
        if (lastStandby != standby) {
          processor.standbyEfficiencyHistos(standby);
          if (config->getIN_FULL_STANDBY()) {
            // Lets mark CSCs as BAD - have not ever ever been in !STANDBY 
            if (!fullStandbyProcessed) {
              processor.standbyEfficiencyHistos(standby);
              processor.writeShifterHistograms();
              fullStandbyProcessed = true;
            }
          }
          lastStandby = standby;
        }
      }
void cscdqm::EventProcessorMutex::updateFractionAndEfficiencyHistos ( ) [inline]

Update Fraction and Efficiency histograms.

Returns:

Definition at line 73 of file CSCDQM_Dispatcher.h.

References config, CommonMethods::lock(), cscdqm::Lock::mutex, processor, cscdqm::EventProcessor::updateEfficiencyHistos(), cscdqm::Configuration::updateEffTimer(), cscdqm::EventProcessor::updateFractionHistos(), and cscdqm::Configuration::updateFraTimer().

Referenced by cscdqm::Dispatcher::updateFractionAndEfficiencyHistos().

                                               {
        LockType lock(mutex);
        config->updateFraTimer(true);
        processor.updateFractionHistos();
        config->updateFraTimer(false);
        if (config->getPROCESS_EFF_HISTOS()) {
          config->updateEffTimer(true);
          processor.updateEfficiencyHistos();
          config->updateEffTimer(false);
        }
      }

Member Data Documentation

If full standby was already processed?

Definition at line 53 of file CSCDQM_Dispatcher.h.

Referenced by EventProcessorMutex(), and processStandby().

Last standby value. To be checked for HV changes

Definition at line 56 of file CSCDQM_Dispatcher.h.

Referenced by processStandby().

Local (wrapped) event processor

Definition at line 47 of file CSCDQM_Dispatcher.h.

Referenced by maskHWElements(), processStandby(), and updateFractionAndEfficiencyHistos().