CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | 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

Public Member Functions

 EventProcessorMutex (Configuration *const p_config)
 Constructor. 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)
 Process standby information. More...
 
void updateFractionAndEfficiencyHistos ()
 Update Fraction and Efficiency histograms. More...
 
- Public Member Functions inherited from cscdqm::Lock
 Lock ()
 Constructor. More...
 
virtual ~Lock ()
 Destructor. More...
 

Private Attributes

Configurationconfig
 
bool fullStandbyProcessed
 
HWStandbyType lastStandby
 
EventProcessor processor
 

Additional Inherited Members

- Public Attributes inherited from cscdqm::Lock
bool mutex
 

Detailed Description

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

Definition at line 43 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 65 of file CSCDQM_Dispatcher.h.

References config, and fullStandbyProcessed.

65  : processor(p_config) {
66  config = p_config;
67  fullStandbyProcessed = false;
68  }

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 91 of file CSCDQM_Dispatcher.h.

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

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

91  {
92  return processor.maskHWElements(tokens);
93  }
unsigned int maskHWElements(std::vector< std::string > &tokens)
Mask HW elements from the efficiency calculations. Can be applied on runtime!
void cscdqm::EventProcessorMutex::processStandby ( HWStandbyType standby)
inline

Process standby information.

Parameters
standbyStandby information

Definition at line 100 of file CSCDQM_Dispatcher.h.

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

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

100  {
101  if (lastStandby != standby) {
103  if (config->getIN_FULL_STANDBY()) {
104  // Lets mark CSCs as BAD - have not ever ever been in !STANDBY
105  if (!fullStandbyProcessed) {
108  fullStandbyProcessed = true;
109  }
110  }
111  lastStandby = standby;
112  }
113  }
void standbyEfficiencyHistos(HWStandbyType &standby)
apply standby flags/parameters
void cscdqm::EventProcessorMutex::updateFractionAndEfficiencyHistos ( )
inline

Update Fraction and Efficiency histograms.

Returns

Definition at line 74 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().

74  {
75  LockType lock(mutex);
76  config->updateFraTimer(true);
78  config->updateFraTimer(false);
79  if (config->getPROCESS_EFF_HISTOS()) {
80  config->updateEffTimer(true);
82  config->updateEffTimer(false);
83  }
84  }
void updateFraTimer(const bool start)
Switch on/off fractional MO processing timer.
void updateEfficiencyHistos()
Update Efficiency MOs.
void updateEffTimer(const bool start)
Switch on/off efficiency MO processing timer.
void updateFractionHistos()
Update Fractional MOs.

Member Data Documentation

Configuration* cscdqm::EventProcessorMutex::config
private
bool cscdqm::EventProcessorMutex::fullStandbyProcessed
private

If full standby was already processed?

Definition at line 54 of file CSCDQM_Dispatcher.h.

Referenced by EventProcessorMutex(), and processStandby().

HWStandbyType cscdqm::EventProcessorMutex::lastStandby
private

Last standby value. To be checked for HV changes

Definition at line 57 of file CSCDQM_Dispatcher.h.

Referenced by processStandby().

EventProcessor cscdqm::EventProcessorMutex::processor
private

Local (wrapped) event processor

Definition at line 48 of file CSCDQM_Dispatcher.h.

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