18#include <background/modules/BeamBkgHitRateMonitor/HitRateBase.h>
19#include <klm/dataobjects/KLMDigit.h>
20#include <klm/dataobjects/KLMElementNumbers.h>
21#include <klm/dataobjects/KLMModuleArrayIndex.h>
22#include <framework/database/DBObjPtr.h>
23#include <framework/datastore/StoreArray.h>
24#include <klm/dbobjects/KLMChannelStatus.h>
32 namespace Background {
86 virtual void clear()
override;
92 virtual void accumulate(
unsigned timeStamp)
override;
98 virtual void normalize(
unsigned timeStamp)
override;
Abstract base class for monitoring beam background hit rates All the monitoring classes must inherit ...
Class for monitoring beam background hit rates of EKLM.
std::map< unsigned, TreeStruct > m_buffer
Buffer.
TreeStruct m_rates
Tree data.
StoreArray< KLMDigit > m_digits
KLM digits.
DBObjPtr< KLMChannelStatus > m_ChannelStatus
KLM channel status.
virtual void initialize(TTree *tree) override
Class initializer.
const KLMElementNumbers * m_ElementNumbers
KLM element numbers.
virtual void accumulate(unsigned timeStamp) override
Accumulate hits.
const KLMModuleArrayIndex * m_ModuleArrayIndex
KLM module array index.
KLMHitRateCounter()
Constructor.
virtual void normalize(unsigned timeStamp) override
Normalize accumulated hits (i.e.
virtual void clear() override
Clear time-stamp buffer to prepare for 'accumulate'.
Class for accessing objects in the database.
static constexpr int getTotalModuleNumber()
Get total number of modules.
Accessor to arrays stored in the data store.
Abstract base class for different kinds of events.
bool valid
Whether the rates are valid.
float moduleRates[KLMElementNumbers::getTotalModuleNumber()]
Hit rates in each module.
int numEvents
Number of accumulated events.
float averageRate
Total detector average hit rate.
void normalize()
Normalize accumulated hits to single event.