12#ifdef HAS_RNTUPLE_SUPPORT
13#include "ROOT/RNTupleModel.hxx"
14#include "ROOT/RField.hxx"
45 for (
size_t i = 0; i <
fScaler.size(); i++) {
83#ifdef HAS_RNTUPLE_SUPPORT
84 void ConstructNTupleAndVector(std::unique_ptr<ROOT::RNTupleModel>& model, TString& prefix, std::vector<Double_t>& values, std::vector<std::shared_ptr<Double_t>>& fieldPtrs)
override;
85 void FillNTupleVector(std::vector<Double_t>& values)
const override;
94 void Scale(Double_t factor)
override;
125 return fScaler.at(index)->GetValue();
150 std::vector< std::pair< VQwScaler_Channel*, double > >
fNorm;
Base and derived classes for scaler channel data handling.
class QwScaler_Channel< 0x00ffffff, 0 > QwSIS3801D24_Channel
class QwScaler_Channel< 0xffffffff, 0 > QwSIS3801D32_Channel
Virtual base class for parity analysis subsystems.
Command-line and configuration file options processor.
Configuration file parser with flexible tokenization and search capabilities.
A helper class to manage a vector of branch entries for ROOT trees.
Abstract base class for scaler channels.
Base class for subsystems implementing container-delegation pattern.
virtual void ConstructHistograms()
Construct the histograms for this subsystem.
static void DefineOptions()
Define options function (note: no virtual static functions in C++)
VQwSubsystem(const TString &name)
Constructor with name.
virtual void ConstructBranchAndVector(TTree *tree, TString &prefix, QwRootTreeBranchVector &values)=0
Construct the branch and tree vector.
void ClearEventData() override
void Scale(Double_t factor) override
Int_t LoadChannelMap(TString mapfile) override
Int_t LoadInputParameters(TString pedestalfile) override
Bool_t Compare(VQwSubsystem *source)
Int_t LoadEventCuts(TString filename) override
Optional event cut file.
void AccumulateRunningSum(VQwSubsystem *value, Int_t count=0, Int_t ErrorMask=0xFFFFFFF) override
void ProcessOptions(QwOptions &options) override
QwScaler(const QwScaler &source)
Copy constructor.
Bool_t ApplySingleEventCuts() override
Apply the single event cuts.
void CalculateRunningAverage() override
void DeaccumulateRunningSum(VQwSubsystem *value, Int_t ErrorMask=0xFFFFFFF) override
VQwSubsystem & operator-=(VQwSubsystem *value) override
virtual void ConstructHistograms()
Construct the histograms for this subsystem.
Name_to_Scaler_Map_t fName_Map
void Ratio(VQwSubsystem *value1, VQwSubsystem *value2) override
Bool_t CheckForBurpFail(const VQwSubsystem *subsys) override
Report the number of events failed due to HW and event cut failures.
std::map< TString, Int_t > Name_to_Scaler_Map_t
Int_t ProcessConfigurationBuffer(const ROCID_t roc_id, const BankID_t bank_id, UInt_t *buffer, UInt_t num_words) override
std::vector< std::pair< VQwScaler_Channel *, double > > fNorm
Double_t GetDataForChannelInModule(Int_t modnum, Int_t channum)
void FillHistograms() override
Module_Channel_to_Scaler_Map_t fModuleChannel_Map
Int_t ProcessEvBuffer(const ROCID_t roc_id, const BankID_t bank_id, UInt_t *buffer, UInt_t num_words) override
UInt_t GetEventcutErrorFlag() override
Return the error flag to the top level routines related to stability checks and ErrorFlag updates.
std::vector< UInt_t > fBufferOffset
void ConstructBranchAndVector(TTree *tree, TString &prefix, QwRootTreeBranchVector &values) override
std::map< std::pair< Int_t, Int_t >, Int_t > Module_Channel_to_Scaler_Map_t
void IncrementErrorCounters() override
Increment the error counters.
std::vector< VQwScaler_Channel * > fScaler
QwScaler()
Private default constructor (not implemented, will throw linker error on use)
VQwSubsystem & operator=(VQwSubsystem *value) override
void FillTreeVector(QwRootTreeBranchVector &values) const override
void PrintErrorCounters() const override
~QwScaler() override
Destructor.
Subbank_to_Scaler_Map_t fSubbank_Map
VQwSubsystem & operator+=(VQwSubsystem *value) override
void PrintInfo() const override
void UpdateErrorFlag(const VQwSubsystem *ev_error) override
update the error flag in the subsystem level from the top level routines related to stability checks....
std::map< Int_t, std::vector< std::vector< Int_t > > > Subbank_to_Scaler_Map_t
void ConstructBranch(TTree *tree, TString &prefix) override
Construct the branch and tree vector.
Int_t GetChannelIndex(TString channelName, UInt_t module_number)
Double_t * GetRawChannelArray()
void ProcessEvent() override
void ConstructBranch(TTree *tree, TString &prefix, QwParameterFile &trim_file) override
Construct the branch and tree vector based on the trim file.
void PrintValue() const override
VQwSubsystemParity()
Private default constructor (not implemented, will throw linker error on use)