17#ifdef HAS_RNTUPLE_SUPPORT
18#include "ROOT/RNTupleModel.hxx"
19#include "ROOT/RField.hxx"
90 QwWarning <<
"Printing max_burst_index." << runNum <<
".conf file with " << maxBurst <<
" max burst number" <<
QwLog::endl;
92 output.open(Form(
"max_burst_index.%d.conf",runNum));
93 output<<
"max-burst-index=" << maxBurst << std::endl;
141#ifdef __USE_DATABASE__
189#ifdef HAS_RNTUPLE_SUPPORT
191 void ConstructNTupleAndVector(std::unique_ptr<ROOT::RNTupleModel>& model, TString& prefix, std::vector<Double_t>& values, std::vector<std::shared_ptr<Double_t>>& fieldPtrs);
192 void FillNTupleVector(std::vector<Double_t>& values)
const;
195#ifdef __USE_DATABASE__
196 void FillDB(QwParityDB *db);
197 void FillErrDB(QwParityDB *db);
207 return fAsymmetry.GetEventcutErrorFlagPointer();
#define QwWarning
Predefined log drain for warnings.
EPICS data event handling and storage.
Subsystem array container for parity analysis with asymmetry calculations.
A class for blinding data, adapted from G0 blinder class.
EPICS slow controls data management.
static std::ostream & endl(std::ostream &)
End of the line.
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.
Data blinding utilities for parity violation analysis.
void Update()
Update the status using a random number.
Subsystem for helicity state management and pattern recognition.
Manages yields/differences/asymmetries for helicity patterns.
QwSubsystemArrayParity fAlternateDiff
Bool_t NextPairIsComplete()
Bool_t IsPairsEnabled()
Status of storing pair differences flag.
Bool_t fEnableAlternateAsym
QwSubsystemArrayParity & GetPairYield()
void EnableAlternateAsymmetry(const Bool_t flag=kTRUE)
Enable/disable alternate asymmetry calculation.
void DisableRunningSum()
Disable running sum calculation.
void ConstructBranchAndVector(TTree *tree, TString &prefix, QwRootTreeBranchVector &values)
void EnablePairs(const Bool_t flag=kTRUE)
Enable/disable storing pair differences.
Bool_t fHelicityIsMissing
QwSubsystemArrayParity & GetDifference()
void DisablePairs()
Disable storing pair differences.
void ConstructBranch(TTree *tree, TString &prefix)
QwSubsystemArrayParity fNegativeHelicitySum
void GetTargetChargeStat(Double_t &asym, Double_t &error, Double_t &width)
Long_t fLastPatternNumber
QwSubsystemArrayParity fPairDifference
QwSubsystemArrayParity & GetYield()
Int_t fBurstMinGoodPatterns
std::vector< Bool_t > fEventLoaded
QwHelicityPattern()
Private default constructor (not implemented, will throw linker error on use)
static void DefineOptions(QwOptions &options)
Define the configuration options.
QwSubsystemArrayParity fDifference
UInt_t GetEventcutErrorFlag() const
Bool_t IsRunningSumEnabled()
Status of running sum calculation flag.
QwSubsystemArrayParity fPairYield
void UpdateBlinder()
Update the blinder status using a random number generator.
void DisableAlternateAsymmetry()
Disable alternate asymmetry calculation.
Int_t fCurrentPatternNumber
std::vector< QwSubsystemArrayParity > fEvents
void ProcessOptions(QwOptions &options)
Process the configuration options.
void CalculatePairAsymmetry()
Bool_t IsBurstSumEnabled()
Status of burst sum calculation flag.
Bool_t IsCompletePattern() const
void DisableBurstSum()
Disable burst sum calculation.
std::vector< Int_t > fHelicity
void AccumulatePairRunningSum(QwHelicityPattern &entry)
QwSubsystemArrayParity & GetPairAsymmetry()
void EnableBurstSum(const Bool_t flag=kTRUE)
Enable/disable burst sum calculation.
std::vector< Int_t > fEventNumber
void CalculateAsymmetry()
Short_t GetBurstCounter() const
Bool_t IsAlternateAsymEnabled()
Status of alternate asymmetry calculation flag.
virtual ~QwHelicityPattern()
Virtual destructor.
void UpdateBlinder(const QwEPICSEvent &epics)
Update the blinder status with new external information.
QwSubsystemArrayParity & GetPairDifference()
friend class QwDataHandlerArray
void SetDataLoaded(Bool_t flag)
void WritePromptSummary(QwPromptSummary *ps)
QwSubsystemArrayParity fAsymmetry1
Bool_t IsDifferenceEnabled()
Status of storing pattern differences flag.
void FillTreeVector(QwRootTreeBranchVector &values) const
void ConstructHistograms()
void UpdateBlinder(const QwSubsystemArrayParity &detectors)
Update the blinder status with new external information.
void EnableRunningSum(const Bool_t flag=kTRUE)
Enable/disable running sum calculation.
QwSubsystemArrayParity fPositiveHelicitySum
void PrintIndexMapFile(Int_t runNum)
void LoadEventData(QwSubsystemArrayParity &event)
void IncrementBurstCounter()
void AccumulateRunningSum(QwHelicityPattern &entry, Int_t count=0, Int_t ErrorMask=0xFFFFFFF)
void DisableDifference()
Disable storing pattern differences.
QwSubsystemArrayParity fYield
QwSubsystemArrayParity & GetAsymmetry()
QwSubsystemArrayParity fAsymmetry
Bool_t HasDataLoaded() const
QwSubsystemArrayParity fPairAsymmetry
void EnableDifference(const Bool_t flag=kTRUE)
Enable/disable storing pattern differences.
Bool_t PairAsymmetryIsGood()
const UInt_t * GetEventcutErrorFlagPointer() const
QwSubsystemArrayParity fAsymmetry2
void CalculateRunningAverage()
Subsystem array container specialized for parity analysis with asymmetry calculations.