17#include <boost/shared_ptr.hpp>
42Int_t
main(Int_t argc, Char_t* argv[])
90 QwEPICSControl fEPICSCtrl;
91 GreenMonster fScanCtrl;
92 // Let's clear the values for the scan data & set "not clean".
94 fScanCtrl.SCNSetStatus(SCN_INT_NOT);
95 fScanCtrl.SCNSetValue(1,0);
96 fScanCtrl.SCNSetValue(2,0);
97 fScanCtrl.CheckScan();
98 fScanCtrl.PrintScanInfo();
101 fEPICSCtrl.Print_Qasym_Ctrls();
137 Int_t failed_events_counts = 0;
144 helicitypattern.ClearBurstSum();
153 std::cout<<std::flush;
162 if (eventbuffer.GetEndEventCount()>0){
191 eventring.
push(detectors);
220 failed_events_counts++;
228 QwMessage <<
"Number of events processed at end of run: "
Int_t main(Int_t argc, Char_t *argv[])
Helper functions and utilities for ROOT histogram management.
QwHistogramHelper gQwHists
Globally defined instance of the QwHistogramHelper class.
const std::string getenv_safe_string(const char *name)
A logfile class, based on an identical class in the Hermes analyzer.
#define QwMessage
Predefined log drain for regular messages.
ROOT file and tree management wrapper classes.
EPICS data event handling and storage.
Decoding and management for VQWK ADC channels (6x32-bit datawords)
Event buffer management for reading and processing CODA data.
Helicity state management and pattern recognition.
Subsystem array container for parity analysis with asymmetry calculations.
Event ring buffer for burp detection and stability monitoring.
Beamline subsystem containing BPMs, BCMs, and other beam monitoring devices.
Fake helicity generator using pregenerated random seeds.
Load the options for the parity subsystems.
void DefineOptionsParity(QwOptions &options)
void LoadParameterFile(TString filename)
Load deltaA_q, no.of good patterns to accumulate and other neccessary feedback parameters.
void ApplyFeedbackCorrections()
Check neccessary conditions and apply IA setponts based on the charge asym for all four modes.
void ProcessOptions(QwOptions &options)
Process the configuration options.
static void DefineOptions(QwOptions &options)
Define the configuration options.
void CalculateAsymmetry()
inherited from QwHelicityPattern
EPICS slow controls data management.
Int_t LoadChannelMap(TString mapfile)
Event buffer management for reading and processing CODA data.
Int_t CloseStream()
Closes a currently open event stream.
Int_t OpenNextStream()
Opens the event stream (file or ET) based on the internal flags.
void ProcessOptions(QwOptions &options)
Sets internal flags based on the QwOptions.
Bool_t FillSubsystemData(QwSubsystemArray &subsystems)
Int_t GetRunNumber() const
Return CODA file run number.
Bool_t IsROCConfigurationEvent()
Bool_t FillSubsystemConfigurationData(QwSubsystemArray &subsystems)
static std::ostream & endl(std::ostream &)
End of the line.
static void AppendToSearchPath(const TString &searchdir)
Add a directory to the search path.
static void SetCurrentRunNumber(const UInt_t runnumber)
Set the current run number for looking up the appropriate parameter file.
void ProcessEvent()
Process the decoded data in this event.
void ProcessOptions(QwOptions &options)
Process configuration options (default behavior)
Ring buffer of subsystem snapshots for burp/stability handling.
QwSubsystemArrayParity & pop()
Return the last subsystem in the ring.
void push(QwSubsystemArrayParity &event)
Add the subsystem to the ring.
Bool_t IsReady()
Return the read status of the ring.
void UpdateBlinder()
Update the blinder status using a random number generator.
Bool_t IsCompletePattern() const
void LoadEventData(QwSubsystemArrayParity &event)
Subsystem array container specialized for parity analysis with asymmetry calculations.
void AccumulateRunningSum(const QwSubsystemArrayParity &value, Int_t count=0, Int_t ErrorMask=0xFFFFFFF)
Update the running sums for devices accumulated for the global error non-zero events/patterns.
Bool_t ApplySingleEventCuts()
Apply the single event cuts.