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 Member Functions | Private Attributes
HcalHotCellMonitor Class Reference

#include <HcalHotCellMonitor.h>

Inheritance diagram for HcalHotCellMonitor:
HcalBaseDQMonitor DQMEDAnalyzer edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

void analyze (edm::Event const &e, edm::EventSetup const &s)
 
void beginLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
 
void bookHistograms (DQMStore::IBooker &ib, const edm::Run &run, const edm::EventSetup &c)
 
void done ()
 
void endJob ()
 
void endLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
 
void endRun (const edm::Run &run, const edm::EventSetup &c)
 
 HcalHotCellMonitor (const edm::ParameterSet &ps)
 
void periodicReset ()
 
void processEvent (const HBHERecHitCollection &hbHits, const HORecHitCollection &hoHits, const HFRecHitCollection &hfHits, const HcalTopology &topology)
 
void processEvent_rechitenergy (const HBHERecHitCollection &hbheHits, const HORecHitCollection &hoHits, const HFRecHitCollection &hfHits, const HcalTopology &topology)
 
template<class R , class C >
void processHit_rechitNeighbors (R &rechititer, C &collection, hotNeighborParams &params, const HcalTopology &topology)
 
template<class RECHIT , class RECHITCOLLECTION >
void processHit_rechitNeighbors (RECHIT &rechit, RECHITCOLLECTION &coll, hotNeighborParams &params, const HcalTopology &topology)
 
void reset ()
 
void setup (DQMStore::IBooker &)
 
 ~HcalHotCellMonitor ()
 
- Public Member Functions inherited from HcalBaseDQMonitor
 HcalBaseDQMonitor (const edm::ParameterSet &ps)
 
 HcalBaseDQMonitor ()
 
virtual ~HcalBaseDQMonitor ()
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer (void)
 
virtual void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
virtual void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Member Functions

void fillNevents_energy (const HcalTopology &)
 
void fillNevents_neighbor (const HcalTopology &)
 
void fillNevents_persistentenergy (const HcalTopology &)
 
void fillNevents_problemCells (const HcalTopology &)
 
void zeroCounters ()
 

Private Attributes

int aboveenergy [85][72][4]
 
EtaPhiHists AboveEnergyThresholdCellsByDepth
 
int aboveet [85][72][4]
 
EtaPhiHists AboveETThresholdCellsByDepth
 
int aboveneighbors [85][72][4]
 
EtaPhiHists AboveNeighborsHotCellsByDepth
 
int abovepersistent [85][72][4]
 
int abovepersistentET [85][72][4]
 
EtaPhiHists AbovePersistentETThresholdCellsByDepth
 
EtaPhiHists AbovePersistentThresholdCellsByDepth
 
MonitorElementd_HBenergyVsNeighbor
 
MonitorElementd_HEenergyVsNeighbor
 
MonitorElementd_HFenergyVsNeighbor
 
MonitorElementd_HOenergyVsNeighbor
 
double energyThreshold_
 
double ETThreshold_
 
bool excludeHORing2_
 
double HBenergyThreshold_
 
double HBETThreshold_
 
hotNeighborParams HBHENeighborParams_
 
edm::InputTag hbheRechitLabel_
 
double HBnsigma_
 
double HBpersistentETThreshold_
 
double HBpersistentThreshold_
 
int hbVsNeighbor [500]
 
double HEenergyThreshold_
 
double HEETThreshold_
 
double HEnsigma_
 
double HEpersistentETThreshold_
 
double HEpersistentThreshold_
 
int heVsNeighbor [500]
 
double HFenergyThreshold_
 
double HFETThreshold_
 
double HFfarfwdScale_
 
hotNeighborParams HFNeighborParams_
 
double HFnsigma_
 
double HFpersistentETThreshold_
 
double HFpersistentThreshold_
 
edm::InputTag hfRechitLabel_
 
int hfVsNeighbor [500]
 
double HOenergyThreshold_
 
double HOETThreshold_
 
hotNeighborParams HONeighborParams_
 
double HOnsigma_
 
double HOpersistentETThreshold_
 
double HOpersistentThreshold_
 
edm::InputTag hoRechitLabel_
 
int hoVsNeighbor [500]
 
double minErrorFlag_
 
int minEvents_
 
double nsigma_
 
double persistentETThreshold_
 
double persistentThreshold_
 
int rechit_occupancy_sum [85][72][4]
 
bool setupDone_
 
double SiPMscale_
 
bool test_energy_
 
bool test_et_
 
bool test_neighbor_
 
bool test_persistent_
 
edm::EDGetTokenT
< HBHERecHitCollection
tok_hbhe_
 
edm::EDGetTokenT
< HFRecHitCollection
tok_hf_
 
edm::EDGetTokenT
< HORecHitCollection
tok_ho_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr
< dqmDetails::NoCache
globalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr
< dqmDetails::NoCache
globalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from HcalBaseDQMonitor
virtual void cleanup (void)
 
virtual void dqmBeginRun (const edm::Run &run, const edm::EventSetup &c)
 
void getLogicalMap (const edm::EventSetup &c)
 
bool IsAllowedCalibType ()
 
bool LumiInOrder (int lumisec)
 
void SetupEtaPhiHists (DQMStore::IBooker &ib, EtaPhiHists &hh, std::string Name, std::string Units)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
- Protected Attributes inherited from HcalBaseDQMonitor
std::vector< int > AllowedCalibTypes_
 
int badChannelStatusMask_
 
int currentLS
 
int currenttype_
 
int debug_
 
bool enableCleanup_
 
bool eventAllowed_
 
bool HBpresent_
 
bool HEpresent_
 
bool HFpresent_
 
bool HOpresent_
 
int ievt_
 
std::map< unsigned int, int > KnownBadCells_
 
int levt_
 
HcalLogicalMaplogicalMap_
 
bool makeDiagnostics_
 
MonitorElementmeIevt_
 
MonitorElementmeLevt_
 
bool mergeRuns_
 
MonitorElementmeTevt_
 
MonitorElementmeTevtHist_
 
bool needLogicalMap_
 
int NLumiBlocks_
 
bool Online_
 
std::string prefixME_
 
MonitorElementProblemsCurrentLB
 
MonitorElementProblemsVsLB
 
MonitorElementProblemsVsLB_HB
 
MonitorElementProblemsVsLB_HBHEHF
 
MonitorElementProblemsVsLB_HE
 
MonitorElementProblemsVsLB_HF
 
MonitorElementProblemsVsLB_HO
 
bool skipOutOfOrderLS_
 
std::string subdir_
 
int tevt_
 

Detailed Description

Author
J. Temple - Univ. of Maryland

Definition at line 29 of file HcalHotCellMonitor.h.

Constructor & Destructor Documentation

HcalHotCellMonitor::HcalHotCellMonitor ( const edm::ParameterSet ps)

Definition at line 5 of file HcalHotCellMonitor.cc.

HcalHotCellMonitor::~HcalHotCellMonitor ( )

Definition at line 107 of file HcalHotCellMonitor.cc.

Member Function Documentation

void HcalHotCellMonitor::analyze ( edm::Event const &  e,
edm::EventSetup const &  s 
)
virtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 374 of file HcalHotCellMonitor.cc.

void HcalHotCellMonitor::beginLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup c 
)
virtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 328 of file HcalHotCellMonitor.cc.

void HcalHotCellMonitor::bookHistograms ( DQMStore::IBooker ib,
const edm::Run run,
const edm::EventSetup c 
)
virtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 282 of file HcalHotCellMonitor.cc.

void HcalHotCellMonitor::done ( )

Definition at line 366 of file HcalHotCellMonitor.cc.

void HcalHotCellMonitor::endJob ( void  )

Definition at line 1088 of file HcalHotCellMonitor.cc.

void HcalHotCellMonitor::endLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup c 
)
virtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 339 of file HcalHotCellMonitor.cc.

void HcalHotCellMonitor::endRun ( const edm::Run run,
const edm::EventSetup c 
)
virtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 1083 of file HcalHotCellMonitor.cc.

void HcalHotCellMonitor::fillNevents_energy ( const HcalTopology topology)
private

Definition at line 778 of file HcalHotCellMonitor.cc.

void HcalHotCellMonitor::fillNevents_neighbor ( const HcalTopology topology)
private

Definition at line 860 of file HcalHotCellMonitor.cc.

void HcalHotCellMonitor::fillNevents_persistentenergy ( const HcalTopology topology)
private

Definition at line 682 of file HcalHotCellMonitor.cc.

void HcalHotCellMonitor::fillNevents_problemCells ( const HcalTopology topology)
private

Definition at line 922 of file HcalHotCellMonitor.cc.

void HcalHotCellMonitor::periodicReset ( )

Definition at line 1114 of file HcalHotCellMonitor.cc.

void HcalHotCellMonitor::processEvent ( const HBHERecHitCollection hbHits,
const HORecHitCollection hoHits,
const HFRecHitCollection hfHits,
const HcalTopology topology 
)

Definition at line 419 of file HcalHotCellMonitor.cc.

void HcalHotCellMonitor::processEvent_rechitenergy ( const HBHERecHitCollection hbheHits,
const HORecHitCollection hoHits,
const HFRecHitCollection hfHits,
const HcalTopology topology 
)

Definition at line 438 of file HcalHotCellMonitor.cc.

template<class R , class C >
void HcalHotCellMonitor::processHit_rechitNeighbors ( R &  rechititer,
C &  collection,
hotNeighborParams params,
const HcalTopology topology 
)
template<class RECHIT , class RECHITCOLLECTION >
void HcalHotCellMonitor::processHit_rechitNeighbors ( RECHIT &  rechit,
RECHITCOLLECTION &  coll,
hotNeighborParams params,
const HcalTopology topology 
)

Definition at line 585 of file HcalHotCellMonitor.cc.

void HcalHotCellMonitor::reset ( void  )
virtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 297 of file HcalHotCellMonitor.cc.

void HcalHotCellMonitor::setup ( DQMStore::IBooker ib)
virtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 112 of file HcalHotCellMonitor.cc.

void HcalHotCellMonitor::zeroCounters ( void  )
private

Definition at line 1052 of file HcalHotCellMonitor.cc.

Member Data Documentation

int HcalHotCellMonitor::aboveenergy[85][72][4]
private

Definition at line 108 of file HcalHotCellMonitor.h.

EtaPhiHists HcalHotCellMonitor::AboveEnergyThresholdCellsByDepth
private

Definition at line 101 of file HcalHotCellMonitor.h.

int HcalHotCellMonitor::aboveet[85][72][4]
private

Definition at line 109 of file HcalHotCellMonitor.h.

EtaPhiHists HcalHotCellMonitor::AboveETThresholdCellsByDepth
private

Definition at line 102 of file HcalHotCellMonitor.h.

int HcalHotCellMonitor::aboveneighbors[85][72][4]
private

Definition at line 107 of file HcalHotCellMonitor.h.

EtaPhiHists HcalHotCellMonitor::AboveNeighborsHotCellsByDepth
private

Definition at line 100 of file HcalHotCellMonitor.h.

int HcalHotCellMonitor::abovepersistent[85][72][4]
private

Definition at line 110 of file HcalHotCellMonitor.h.

int HcalHotCellMonitor::abovepersistentET[85][72][4]
private

Definition at line 111 of file HcalHotCellMonitor.h.

EtaPhiHists HcalHotCellMonitor::AbovePersistentETThresholdCellsByDepth
private

Definition at line 104 of file HcalHotCellMonitor.h.

EtaPhiHists HcalHotCellMonitor::AbovePersistentThresholdCellsByDepth
private

Definition at line 103 of file HcalHotCellMonitor.h.

MonitorElement* HcalHotCellMonitor::d_HBenergyVsNeighbor
private

Definition at line 118 of file HcalHotCellMonitor.h.

MonitorElement* HcalHotCellMonitor::d_HEenergyVsNeighbor
private

Definition at line 119 of file HcalHotCellMonitor.h.

MonitorElement* HcalHotCellMonitor::d_HFenergyVsNeighbor
private

Definition at line 121 of file HcalHotCellMonitor.h.

MonitorElement* HcalHotCellMonitor::d_HOenergyVsNeighbor
private

Definition at line 120 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::energyThreshold_
private

Definition at line 89 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::ETThreshold_
private

Definition at line 90 of file HcalHotCellMonitor.h.

bool HcalHotCellMonitor::excludeHORing2_
private

Definition at line 114 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HBenergyThreshold_
private

Definition at line 89 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HBETThreshold_
private

Definition at line 90 of file HcalHotCellMonitor.h.

hotNeighborParams HcalHotCellMonitor::HBHENeighborParams_
private

Definition at line 128 of file HcalHotCellMonitor.h.

edm::InputTag HcalHotCellMonitor::hbheRechitLabel_
private

Definition at line 130 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HBnsigma_
private

Definition at line 99 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HBpersistentETThreshold_
private

Definition at line 92 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HBpersistentThreshold_
private

Definition at line 91 of file HcalHotCellMonitor.h.

int HcalHotCellMonitor::hbVsNeighbor[500]
private

Definition at line 123 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HEenergyThreshold_
private

Definition at line 89 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HEETThreshold_
private

Definition at line 90 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HEnsigma_
private

Definition at line 99 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HEpersistentETThreshold_
private

Definition at line 92 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HEpersistentThreshold_
private

Definition at line 91 of file HcalHotCellMonitor.h.

int HcalHotCellMonitor::heVsNeighbor[500]
private

Definition at line 124 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HFenergyThreshold_
private

Definition at line 89 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HFETThreshold_
private

Definition at line 90 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HFfarfwdScale_
private

Definition at line 94 of file HcalHotCellMonitor.h.

hotNeighborParams HcalHotCellMonitor::HFNeighborParams_
private

Definition at line 128 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HFnsigma_
private

Definition at line 99 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HFpersistentETThreshold_
private

Definition at line 92 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HFpersistentThreshold_
private

Definition at line 91 of file HcalHotCellMonitor.h.

edm::InputTag HcalHotCellMonitor::hfRechitLabel_
private

Definition at line 130 of file HcalHotCellMonitor.h.

int HcalHotCellMonitor::hfVsNeighbor[500]
private

Definition at line 126 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HOenergyThreshold_
private

Definition at line 89 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HOETThreshold_
private

Definition at line 90 of file HcalHotCellMonitor.h.

hotNeighborParams HcalHotCellMonitor::HONeighborParams_
private

Definition at line 128 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HOnsigma_
private

Definition at line 99 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HOpersistentETThreshold_
private

Definition at line 92 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::HOpersistentThreshold_
private

Definition at line 91 of file HcalHotCellMonitor.h.

edm::InputTag HcalHotCellMonitor::hoRechitLabel_
private

Definition at line 130 of file HcalHotCellMonitor.h.

int HcalHotCellMonitor::hoVsNeighbor[500]
private

Definition at line 125 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::minErrorFlag_
private

Definition at line 96 of file HcalHotCellMonitor.h.

int HcalHotCellMonitor::minEvents_
private

Definition at line 81 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::nsigma_
private

Definition at line 98 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::persistentETThreshold_
private

Definition at line 92 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::persistentThreshold_
private

Definition at line 91 of file HcalHotCellMonitor.h.

int HcalHotCellMonitor::rechit_occupancy_sum[85][72][4]
private

Definition at line 112 of file HcalHotCellMonitor.h.

bool HcalHotCellMonitor::setupDone_
private

Definition at line 87 of file HcalHotCellMonitor.h.

double HcalHotCellMonitor::SiPMscale_
private

Definition at line 106 of file HcalHotCellMonitor.h.

bool HcalHotCellMonitor::test_energy_
private

Definition at line 84 of file HcalHotCellMonitor.h.

bool HcalHotCellMonitor::test_et_
private

Definition at line 85 of file HcalHotCellMonitor.h.

bool HcalHotCellMonitor::test_neighbor_
private

Definition at line 83 of file HcalHotCellMonitor.h.

bool HcalHotCellMonitor::test_persistent_
private

Definition at line 86 of file HcalHotCellMonitor.h.

edm::EDGetTokenT<HBHERecHitCollection> HcalHotCellMonitor::tok_hbhe_
private

Definition at line 131 of file HcalHotCellMonitor.h.

edm::EDGetTokenT<HFRecHitCollection> HcalHotCellMonitor::tok_hf_
private

Definition at line 133 of file HcalHotCellMonitor.h.

edm::EDGetTokenT<HORecHitCollection> HcalHotCellMonitor::tok_ho_
private

Definition at line 132 of file HcalHotCellMonitor.h.