102#ifdef __USE_DATABASE__
103 void FillDB(QwParityDB *db, TString datatype);
110 const std::string& treeprefix =
"",
111 const std::string& branchprefix =
"");
117 const std::string& treeprefix =
"",
118 const std::string& branchprefix =
"");
130#ifdef HAS_RNTUPLE_SUPPORT
131 void ConstructNTupleAndVector(std::unique_ptr<ROOT::RNTupleModel>& model, TString& prefix, std::vector<Double_t>& values, std::vector<std::shared_ptr<Double_t>>& fieldPtrs);
132 void FillNTupleVector(std::vector<Double_t>& values)
const;
166 std::vector< const VQwHardwareChannel* > &ivs,
167 std::vector< Double_t > &sens);
Factory pattern implementation for creating analysis objects.
class VQwCloneable< VQwDataHandler > VQwDataHandlerCloneable
Mix-in factory functionality for datahandlers.
Subsystem array container for parity analysis with asymmetry calculations.
Helicity pattern analysis and management.
Configuration file parser with flexible tokenization and search capabilities.
A helper class to manage a vector of branch entries for ROOT trees.
A wrapper class for a ROOT file or memory mapped file.
Abstract base for concrete hardware channels implementing dual-operator pattern.
Virtual base class for the parity handlers.
Manages yields/differences/asymmetries for helicity patterns.
QwSubsystemArrayParity & GetDifference()
QwSubsystemArrayParity & GetYield()
QwSubsystemArrayParity & GetAsymmetry()
const UInt_t * GetEventcutErrorFlagPointer() const
Subsystem array container specialized for parity analysis with asymmetry calculations.
const UInt_t * GetEventcutErrorFlagPointer() const
Abstract base for handlers that consume multiple subsystems and produce derived outputs.
void CalcOneOutput(const VQwHardwareChannel *dv, VQwHardwareChannel *output, std::vector< const VQwHardwareChannel * > &ivs, std::vector< Double_t > &sens)
virtual void FillHistograms()
Fill the histograms.
virtual void ProcessData()
QwSubsystemArrayParity * fSubsystemArray
Single event pointer.
void FillTreeVector(QwRootTreeBranchVector &values) const
std::vector< std::string > fDependentFull
void AccumulateRunningSum()
virtual Int_t LoadChannelMap(const std::string &)
void SetEventcutErrorFlagPointer(const UInt_t *errorflagptr)
void WritePromptSummary(QwPromptSummary *ps, TString type)
std::vector< std::vector< TString > > fPublishList
virtual void ConstructHistograms(TDirectory *, TString &)
Construct the histograms in a folder with a prefix.
virtual void UpdateBurstCounter(Short_t burstcounter)
Bool_t PublishInternalValues() const override
Publish all variables of the subsystem.
virtual void ConstructTreeBranches(QwRootFile *treerootfile, const std::string &treeprefix="", const std::string &branchprefix="")
std::vector< Double_t > fDependentValues
virtual void ParseConfigFile(QwParameterFile &file)
virtual void ClearEventData()
std::vector< const VQwHardwareChannel * > fDependentVar
~VQwDataHandler() override
UInt_t GetEventcutErrorFlag() const
void CalculateRunningAverage()
virtual void FillTreeBranches(QwRootFile *treerootfile)
VQwDataHandler(const TString &name)
VQwDataHandler * fRunningsum
const UInt_t * fErrorFlagPtr
Error flag pointer.
virtual void FillNTupleFields(QwRootFile *treerootfile)
std::vector< VQwHardwareChannel * >::const_iterator ConstIterator_HdwChan
std::vector< VQwHardwareChannel * >::iterator Iterator_HdwChan
void SetRunLabel(TString x)
std::string ParseSeparator
virtual void ConstructNTupleFields(QwRootFile *treerootfile, const std::string &treeprefix="", const std::string &branchprefix="")
RNTuple methods.
void SetPointer(QwHelicityPattern *ptr)
Short_t fBurstCounter
When a datahandler array is processed, handlers with lower priority will be processed before handlers...
std::vector< VQwHardwareChannel * > fOutputVar
void SetPointer(QwSubsystemArrayParity *ptr)
Bool_t PublishByRequest(TString device_name) override
Try to publish an internal variable matching the submitted name.
Int_t ConnectChannels(QwHelicityPattern &helicitypattern)
virtual Int_t ConnectChannels(QwSubsystemArrayParity &)
Bool_t fRunningsumFillsTree
void ConstructBranchAndVector(TTree *tree, TString &prefix, QwRootTreeBranchVector &values)
std::pair< EQwHandleType, std::string > ParseHandledVariable(const std::string &variable)
std::vector< EQwHandleType > fDependentType
QwHelicityPattern * fHelicityPattern
Helicity pattern pointer.
std::vector< Double_t > fOutputValues
std::vector< std::string > fDependentName
virtual Int_t ConnectChannels(QwSubsystemArrayParity &, QwSubsystemArrayParity &asym, QwSubsystemArrayParity &diff)
virtual void FinishDataHandler()