18#ifdef HAS_RNTUPLE_SUPPORT
19#include <ROOT/RNTupleModel.hxx>
20#include <ROOT/RNTupleWriter.hxx>
24#ifdef __USE_DATABASE__
70 Bool_t eventokay=kTRUE;
169 std::cout <<
"QwVQWK_Channel Info " << std::endl;
179 Bool_t burpstatus = kFALSE;
181 if(
typeid(*ev_error)==
typeid(*
this)) {
188 TString loc=
"Standard exception from QwHaloMonitor::CheckForBurpFail :"+
191 throw std::invalid_argument(loc.Data());
193 }
catch (std::exception& e) {
194 std::cerr<< e.what()<<std::endl;
260 devicename.ToLower();
266 if (modulelist.
HasValue(devicename)){
288#ifdef HAS_RNTUPLE_SUPPORT
289void QwHaloMonitor::ConstructNTupleAndVector(std::unique_ptr<ROOT::RNTupleModel>& model, TString& prefix, std::vector<Double_t>& values, std::vector<std::shared_ptr<Double_t>>& fieldPtrs)
295 fHalo_Counter.ConstructNTupleAndVector(model, prefix, values, fieldPtrs);
299void QwHaloMonitor::FillNTupleVector(std::vector<Double_t>& values)
const
310#ifdef __USE_DATABASE__
311std::vector<QwDBInterface> QwHaloMonitor::GetDBEntry()
313 std::vector <QwDBInterface> row_list;
320std::vector<QwErrDBInterface> QwHaloMonitor::GetErrDBEntry()
322 std::vector <QwErrDBInterface> row_list;
#define QwMessage
Predefined log drain for regular messages.
Database interface for QwIntegrationPMT and subsystems.
Halo monitor using scaler channels for beam monitoring.
static std::ostream & endl(std::ostream &)
End of the line.
Configuration file parser with flexible tokenization and search capabilities.
Bool_t HasValue(TString &vname)
A helper class to manage a vector of branch entries for ROOT trees.
VQwDataElement()
Default constructor.
virtual const TString & GetElementName() const
Get the name of this element.
void SetElementName(const TString &name)
Set the name of this element.
void ProcessEvent()
Process event (delegated to the underlying counter).
void ConstructBranch(TTree *tree, TString &prefix)
void PrintValue() const override
Print a compact value summary for this monitor.
QwHaloMonitor & operator=(const QwHaloMonitor &value)
Copy-assign from another halo monitor.
QwSIS3801D24_Channel fHalo_Counter
void ClearEventData() override
Clear event-scoped data in the underlying counter.
void ConstructHistograms(TDirectory *folder, TString &prefix) override
Define histograms for this monitor (delegated to underlying counter).
void PrintErrorCounters()
void Sum(QwHaloMonitor &value1, QwHaloMonitor &value2)
Sum two halo monitors into this instance.
void InitializeChannel(TString name)
Initialize the halo monitor with a detector name.
void AccumulateRunningSum(const QwHaloMonitor &value, Int_t count=0, Int_t ErrorMask=0xFFFFFFF)
Accumulate running sums from another monitor into this one.
void ConstructBranchAndVector(TTree *tree, TString &prefix, QwRootTreeBranchVector &values)
Construct ROOT branches and value vector entries.
void Difference(QwHaloMonitor &value1, QwHaloMonitor &value2)
Compute the difference of two halo monitors into this instance.
QwHaloMonitor & operator-=(const QwHaloMonitor &value)
Subtract-assign from another halo monitor (difference counters).
void FillHistograms() override
Fill histograms for this monitor if enabled.
Bool_t ApplyHWChecks()
Apply hardware checks (no hardware errors for simple counters).
QwHaloMonitor & operator+=(const QwHaloMonitor &value)
Add-assign from another halo monitor (sum counters).
Bool_t CheckForBurpFail(const VQwDataElement *ev_error)
Check for burp failures by delegating to the underlying counter.
void FillTreeVector(QwRootTreeBranchVector &values) const
void Ratio(QwHaloMonitor &numer, QwHaloMonitor &denom)
Form the ratio of two halo monitors into this instance.
void DeaccumulateRunningSum(QwHaloMonitor &value, Int_t ErrorMask=0xFFFFFFF)
Remove a single entry from the running sums using a source value.
void CalculateRunningAverage()
Update running averages for the underlying counter.
void Scale(Double_t Offset)
Scale the underlying counter by a constant factor.
Int_t ProcessEvBuffer(UInt_t *buffer, UInt_t num_words_left, UInt_t index=0) override
Decode the raw event buffer into the underlying counter.
void PrintInfo() const override
Print detailed information for this monitor.
Bool_t ApplySingleEventCuts()
Apply single-event cuts on the underlying counter.