JAPAn
Just Another Parity Analyzer
|
Abstract base for arrays of PMT-like detectors. More...
#include <VQwDetectorArray.h>
Public Member Functions | |
VQwDetectorArray (const TString &name) | |
Constructor with name. | |
VQwDetectorArray (const VQwDetectorArray &source) | |
Copy constructor. | |
~VQwDetectorArray () override | |
Virtual destructor. | |
void | ProcessOptions (QwOptions &options) override |
Int_t | LoadChannelMap (TString mapfile) override |
Int_t | LoadInputParameters (TString pedestalfile) override |
Mandatory parameter file definition. | |
void | LoadEventCuts_Init () override |
void | LoadEventCuts_Line (QwParameterFile &mapstr, TString &varvalue, Int_t &eventcut_flag) override |
void | LoadEventCuts_Fin (Int_t &eventcut_flag) override |
Bool_t | ApplySingleEventCuts () override |
Apply the single event cuts. | |
Bool_t | CheckForBurpFail (const VQwSubsystem *subsys) override |
Report the number of events failed due to HW and event cut failures. | |
void | IncrementErrorCounters () override |
Increment the error counters. | |
void | PrintErrorCounters () const override |
UInt_t | GetEventcutErrorFlag () override |
Return the error flag to the top level routines related to stability checks and ErrorFlag updates. | |
void | UpdateErrorFlag (const VQwSubsystem *ev_error) override |
update the error flag in the subsystem level from the top level routines related to stability checks. This will uniquely update the errorflag at each channel based on the error flag in the corresponding channel in the ev_error subsystem | |
Int_t | ProcessConfigurationBuffer (const ROCID_t roc_id, const BankID_t bank_id, UInt_t *buffer, UInt_t num_words) override |
Int_t | ProcessEvBuffer (const ROCID_t roc_id, const BankID_t bank_id, UInt_t *buffer, UInt_t num_words) override |
TODO: The non-event-type-aware ProcessEvBuffer routine should be replaced with the event-type-aware version. | |
void | ClearEventData () override |
Bool_t | IsGoodEvent () |
void | ProcessEvent () override |
void | ExchangeProcessedData () override |
void | ProcessEvent_2 () override |
Process the event data again, including data from other subsystems. Not all derived classes will require a second stage of event data processing. | |
Bool_t | PublishInternalValues () const override |
Bool_t | PublishByRequest (TString device_name) override |
void | SetRandomEventParameters (Double_t mean, Double_t sigma) |
void | SetRandomEventAsymmetry (Double_t asymmetry) |
void | RandomizeEventData (int helicity=0, Double_t time=0.0) override |
void | EncodeEventData (std::vector< UInt_t > &buffer) override |
void | RandomizeMollerEvent (int helicity) |
void | ConstructHistograms (TDirectory *folder) override |
Construct the histograms for this subsystem in a folder. | |
void | ConstructHistograms (TDirectory *folder, TString &prefix) override |
Construct the histograms for this subsystem in a folder with a prefix. | |
void | FillHistograms () override |
Fill the histograms for this subsystem. | |
void | ConstructBranchAndVector (TTree *tree, TString &prefix, QwRootTreeBranchVector &values) override |
Construct the branch and tree vector. | |
void | ConstructBranch (TTree *tree, TString &prefix) override |
Construct the branch and tree vector. | |
void | ConstructBranch (TTree *tree, TString &prefix, QwParameterFile &trim_file) override |
Construct the branch and tree vector based on the trim file. | |
void | FillTreeVector (QwRootTreeBranchVector &values) const override |
Fill the tree vector. | |
const QwIntegrationPMT * | GetChannel (const TString name) const |
Bool_t | Compare (VQwSubsystem *source) |
VQwSubsystem & | operator= (VQwSubsystem *value) override |
Assignment Note: Must be called at the beginning of all subsystems routine call to operator=(VQwSubsystem *value) by VQwSubsystem::operator=(value) | |
VQwSubsystem & | operator+= (VQwSubsystem *value) override |
VQwSubsystem & | operator-= (VQwSubsystem *value) override |
void | Ratio (VQwSubsystem *numer, VQwSubsystem *denom) override |
void | Scale (Double_t factor) override |
void | Normalize (VQwDataElement *denom) |
void | AccumulateRunningSum (VQwSubsystem *value, Int_t count=0, Int_t ErrorMask=0xFFFFFFF) override |
Update the running sums for devices. | |
void | DeaccumulateRunningSum (VQwSubsystem *value, Int_t ErrorMask=0xFFFFFFF) override |
remove one entry from the running sums for devices | |
void | CalculateRunningAverage () override |
Calculate the average for all good events. | |
const QwIntegrationPMT * | GetIntegrationPMT (const TString name) const |
const QwCombinedPMT * | GetCombinedPMT (const TString name) const |
void | DoNormalization (Double_t factor=1.0) |
Bool_t | ApplyHWChecks () |
void | LoadMockDataParameters (TString pedestalfile) override |
void | PrintValue () const override |
Print values of all channels. | |
void | WritePromptSummary (QwPromptSummary *ps, TString type) override |
void | PrintInfo () const override |
Print some information about the subsystem. | |
void | PrintDetectorID () const |
virtual void | ConstructHistograms () |
Construct the histograms for this subsystem. | |
virtual void | ConstructHistograms (TString &prefix) |
Construct the histograms for this subsystem with a prefix. | |
virtual void | ConstructBranchAndVector (TTree *tree, QwRootTreeBranchVector &values) |
Construct the branch and tree vector. | |
![]() | |
VQwSubsystemParity (const TString &name) | |
Constructor with name. | |
VQwSubsystemParity (const VQwSubsystemParity &source) | |
Copy constructor. | |
~VQwSubsystemParity () override | |
Default destructor. | |
virtual void | FillDB_MPS (QwParityDB *, TString) |
Fill the database with MPS-based variables Note that most subsystems don't need to do this. | |
virtual void | FillDB (QwParityDB *, TString) |
Fill the database. | |
virtual void | FillErrDB (QwParityDB *, TString) |
virtual void | Sum (VQwSubsystem *value1, VQwSubsystem *value2) |
virtual void | Difference (VQwSubsystem *value1, VQwSubsystem *value2) |
Int_t | LoadEventCuts (TString filename) override |
Load the event cuts file. | |
virtual UInt_t | UpdateErrorFlag () |
Uses the error flags of contained data elements to update Returns the error flag to the top level routines related to stability checks and ErrorFlag updates. | |
virtual void | Blind (const QwBlinder *) |
Blind the asymmetry of this subsystem. | |
virtual void | Blind (const QwBlinder *, const VQwSubsystemParity *) |
Blind the difference of this subsystem. | |
virtual Bool_t | CheckForEndOfBurst () const |
![]() | |
VQwSubsystem (const TString &name) | |
Constructor with name. | |
VQwSubsystem (const VQwSubsystem &orig) | |
Copy constructor by object. | |
~VQwSubsystem () override | |
Default destructor. | |
TString | GetName () const |
Bool_t | HasDataLoaded () const |
VQwSubsystem * | GetSibling (const std::string &name) const |
Get the sibling with specified name. | |
virtual std::vector< TString > | GetParamFileNameList () |
virtual std::map< TString, TString > | GetDetectorMaps () |
Bool_t | PublishByRequest (TString) override |
Try to publish an internal variable matching the submitted name. | |
Bool_t | PublishInternalValues () const override |
Publish all variables of the subsystem. | |
virtual Int_t | LoadDetectorMaps (QwParameterFile &file) |
Parse parameter file to find the map files. | |
virtual Int_t | LoadGeometryDefinition (TString) |
Optional geometry definition. | |
virtual Int_t | LoadCrosstalkDefinition (TString) |
Optional crosstalk definition. | |
void | SetEventTypeMask (const UInt_t mask) |
Set event type mask. | |
UInt_t | GetEventTypeMask () const |
Get event type mask. | |
virtual Int_t | ProcessEvBuffer (const UInt_t event_type, const ROCID_t roc_id, const BankID_t bank_id, UInt_t *buffer, UInt_t num_words) |
virtual void | AtEndOfEventLoop () |
Perform actions at the end of the event loop. | |
virtual void | RandomizeEventData (int=0, double=0.0) |
virtual void | ConstructObjects () |
Construct the objects for this subsystem. | |
virtual void | ConstructObjects (TDirectory *folder) |
Construct the objects for this subsystem in a folder. | |
virtual void | ConstructObjects (TString &prefix) |
Construct the objects for this subsystem with a prefix. | |
virtual void | ConstructObjects (TDirectory *, TString &) |
Construct the objects for this subsystem in a folder with a prefix. | |
virtual void | ConstructTree () |
Construct the tree for this subsystem. | |
virtual void | ConstructTree (TDirectory *folder) |
Construct the tree for this subsystem in a folder. | |
virtual void | ConstructTree (TString &prefix) |
Construct the tree for this subsystem with a prefix. | |
virtual void | ConstructTree (TDirectory *, TString &) |
Construct the tree for this subsystem in a folder with a prefix. | |
virtual void | FillTree () |
Fill the tree for this subsystem. | |
virtual void | DeleteTree () |
Delete the tree for this subsystem. | |
virtual void | PrintDetectorMaps (Bool_t status) const |
void | GetMarkerWordList (const ROCID_t roc_id, const BankID_t bank_id, std::vector< UInt_t > &marker) const |
std::vector< ROCID_t > | GetROCIds () const |
![]() | |
void | ShareHistograms (const MQwHistograms *source) |
Share histogram pointers between objects. | |
![]() | |
MQwPublishable_child () | |
Default constructor Initializes the child object and sets up self-reference for publishing. | |
MQwPublishable_child (const MQwPublishable_child &source) | |
Copy constructor. | |
virtual | ~MQwPublishable_child () |
Virtual destructor. | |
void | SetParent (QwSubsystemArray *parent) |
Set the parent container for this child object. | |
QwSubsystemArray * | GetParent () const |
Get the parent container for this child object. | |
Static Public Member Functions | |
static void | DefineOptions (QwOptions &options) |
Define options function. | |
![]() | |
static void | DefineOptions () |
Define options function (note: no virtual static functions in C++) | |
Protected Member Functions | |
EQwPMTInstrumentType | GetDetectorTypeID (TString name) |
Int_t | GetDetectorIndex (EQwPMTInstrumentType TypeID, TString name) |
void | ClearAllBankRegistrations () |
Clear all registration of ROC and Bank IDs for this subsystem. | |
virtual Int_t | RegisterROCNumber (const ROCID_t roc_id, const BankID_t bank_id=0) |
Tell the object that it will decode data from this ROC and sub-bank. | |
Int_t | RegisterSubbank (const BankID_t bank_id) |
Tell the object that it will decode data from this sub-bank in the ROC currently open for registration. | |
Int_t | RegisterMarkerWord (const UInt_t markerword) |
void | RegisterRocBankMarker (QwParameterFile &mapstr) |
Int_t | GetSubbankIndex () const |
Int_t | GetSubbankIndex (const ROCID_t roc_id, const BankID_t bank_id) const |
void | SetDataLoaded (Bool_t flag) |
template<class T> | |
Int_t | FindIndex (const std::vector< T > &myvec, const T value) const |
Bool_t | Compare (VQwSubsystem *source) |
![]() | |
MQwHistograms () | |
Default constructor. | |
MQwHistograms (const MQwHistograms &source) | |
Copy constructor. | |
virtual | ~MQwHistograms () |
Virtual destructor. | |
MQwHistograms & | operator= (const MQwHistograms &value) |
void | Fill_Pointer (TH1_ptr hist_ptr, Double_t value) |
void | AddHistogram (TH1 *h) |
Register a histogram. | |
![]() | |
Bool_t | RequestExternalValue (const TString &name, VQwHardwareChannel *value) const |
Retrieve the variable name from other subsystem arrays Get the value corresponding to some variable name from a different data array. | |
const VQwHardwareChannel * | RequestExternalPointer (const TString &name) const |
Retrieve a pointer to an external variable by name Requests a direct pointer to a variable from sibling subsystems via the parent container. | |
Bool_t | PublishInternalValue (const TString name, const TString desc, const VQwHardwareChannel *element) const |
Publish a variable from this child into the parent container. | |
Protected Attributes | |
Bool_t | fDEBUG |
std::vector< QwIntegrationPMT > | fIntegrationPMT |
std::vector< QwCombinedPMT > | fCombinedPMT |
std::vector< QwDetectorArrayID > | fMainDetID |
QwBeamCharge | fTargetCharge |
QwBeamPosition | fTargetX |
QwBeamPosition | fTargetY |
QwBeamAngle | fTargetXprime |
QwBeamAngle | fTargetYprime |
QwBeamEnergy | fTargetEnergy |
Bool_t | bIsExchangedDataValid |
Bool_t | bNormalization |
Double_t | fNormThreshold |
![]() | |
std::vector< std::vector< TString > > | fPublishList |
TString | fSystemName |
Name of this subsystem. | |
UInt_t | fEventTypeMask |
Mask of event types. | |
Bool_t | fIsDataLoaded |
Has this subsystem gotten data to be processed? | |
std::vector< TString > | fDetectorMapsNames |
Names of loaded detector map files. | |
std::map< TString, TString > | fDetectorMaps |
Map of file name to full path or content. | |
ROCID_t | fCurrentROC_ID |
ROC ID that is currently being processed. | |
BankID_t | fCurrentBank_ID |
Bank ID (and Marker word) that is currently being processed;. | |
std::vector< ROCID_t > | fROC_IDs |
Vector of ROC IDs associated with this subsystem. | |
std::vector< std::vector< BankID_t > > | fBank_IDs |
Vector of Bank IDs per ROC ID associated with this subsystem. | |
std::vector< std::vector< std::vector< UInt_t > > > | fMarkerWords |
Vector of marker words per ROC & subbank associated with this subsystem. | |
![]() | |
std::vector< TH1_ptr > | fHistograms |
Histograms associated with this data element. | |
Private Member Functions | |
VQwDetectorArray () | |
Private default constructor (not implemented, will throw linker error on use) | |
Private Attributes | |
Int_t | fMainDetErrorCount |
Static Private Attributes | |
static const Bool_t | bDEBUG =kFALSE |
Abstract base for arrays of PMT-like detectors.
Provides common functionality for subsystems composed of multiple integration PMTs and combined PMTs, including normalization, histogram/NTuple construction, and running statistics.
Definition at line 79 of file VQwDetectorArray.h.
|
private |
Private default constructor (not implemented, will throw linker error on use)
Referenced by AccumulateRunningSum(), CheckForBurpFail(), Compare(), DeaccumulateRunningSum(), operator+=(), operator-=(), operator=(), QwBlindDetectorArray::QwBlindDetectorArray(), QwBlindDetectorArray::QwBlindDetectorArray(), QwDetectorArray::QwDetectorArray(), QwDetectorArray::QwDetectorArray(), Ratio(), UpdateErrorFlag(), and VQwDetectorArray().
|
inline |
Constructor with name.
Definition at line 95 of file VQwDetectorArray.h.
References bNormalization, fTargetCharge, fTargetEnergy, fTargetX, fTargetXprime, fTargetY, fTargetYprime, VQwSubsystem::VQwSubsystem(), and VQwSubsystemParity::VQwSubsystemParity().
|
inline |
Copy constructor.
Definition at line 109 of file VQwDetectorArray.h.
References fCombinedPMT, fIntegrationPMT, fMainDetID, VQwDetectorArray(), VQwSubsystem::VQwSubsystem(), and VQwSubsystemParity::VQwSubsystemParity().
|
inlineoverride |
|
overridevirtual |
Update the running sums for devices.
Implements VQwSubsystemParity.
Definition at line 1549 of file VQwDetectorArray.cc.
References AccumulateRunningSum(), Compare(), fCombinedPMT, fIntegrationPMT, VQwDetectorArray(), and VQwSubsystem::VQwSubsystem().
Referenced by AccumulateRunningSum().
|
inline |
Definition at line 213 of file VQwDetectorArray.h.
References fIntegrationPMT.
|
overridevirtual |
Apply the single event cuts.
Implements VQwSubsystemParity.
Definition at line 1064 of file VQwDetectorArray.cc.
References bDEBUG, fCombinedPMT, fIntegrationPMT, and fMainDetErrorCount.
|
overridevirtual |
Calculate the average for all good events.
Implements VQwSubsystemParity.
Definition at line 1536 of file VQwDetectorArray.cc.
References CalculateRunningAverage(), fCombinedPMT, and fIntegrationPMT.
Referenced by CalculateRunningAverage().
|
overridevirtual |
Report the number of events failed due to HW and event cut failures.
Implements VQwSubsystemParity.
Definition at line 1150 of file VQwDetectorArray.cc.
References Compare(), fCombinedPMT, fIntegrationPMT, VQwDetectorArray(), and VQwSubsystem::VQwSubsystem().
|
overridevirtual |
Implements VQwSubsystem.
Definition at line 809 of file VQwDetectorArray.cc.
References ClearEventData(), fCombinedPMT, and fIntegrationPMT.
Referenced by ClearEventData().
Bool_t VQwDetectorArray::Compare | ( | VQwSubsystem * | source | ) |
Definition at line 1399 of file VQwDetectorArray.cc.
References fCombinedPMT, fIntegrationPMT, VQwDetectorArray(), and VQwSubsystem::VQwSubsystem().
Referenced by AccumulateRunningSum(), QwBlindDetectorArray::Blind(), CheckForBurpFail(), DeaccumulateRunningSum(), operator+=(), operator-=(), operator=(), Ratio(), and UpdateErrorFlag().
|
overridevirtual |
Construct the branch and tree vector.
Construct the branches for this subsystem.
tree | Output ROOT tree. |
prefix | Name prefix for all branch names. |
Implements VQwSubsystem.
Definition at line 1310 of file VQwDetectorArray.cc.
References ConstructBranch(), fCombinedPMT, and fIntegrationPMT.
Referenced by ConstructBranch(), and ConstructBranch().
|
overridevirtual |
Construct the branch and tree vector based on the trim file.
Construct the branches for this subsystem using a trim file.
tree | Output ROOT tree. |
prefix | Name prefix for all branch names. |
trim_file | Trim file describing which branches to construct. |
Implements VQwSubsystem.
Definition at line 1322 of file VQwDetectorArray.cc.
References ConstructBranch(), fCombinedPMT, QwParameterFile::FileHasModuleHeader(), fIntegrationPMT, QwParameterFile::ReadUntilNextModule(), and QwParameterFile::RewindToFileStart().
|
inlinevirtual |
Construct the branch and tree vector.
Reimplemented from VQwSubsystem.
Definition at line 303 of file VQwSubsystem.h.
|
overridevirtual |
Construct the branch and tree vector.
Construct the branch and fill the provided values vector.
tree | Output ROOT tree to which branches are added. |
prefix | Name prefix for all branch names. |
values | Vector that will be filled by FillTreeVector. |
Implements VQwSubsystem.
Definition at line 1298 of file VQwDetectorArray.cc.
References ConstructBranchAndVector(), fCombinedPMT, and fIntegrationPMT.
Referenced by ConstructBranchAndVector().
|
inlinevirtual |
Construct the histograms for this subsystem.
Reimplemented from VQwSubsystem.
Definition at line 270 of file VQwSubsystem.h.
Referenced by ConstructHistograms(), and ConstructHistograms().
|
inlineoverridevirtual |
Construct the histograms for this subsystem in a folder.
Reimplemented from VQwSubsystem.
Definition at line 163 of file VQwDetectorArray.h.
References ConstructHistograms().
|
overridevirtual |
Construct the histograms for this subsystem in a folder with a prefix.
Implements VQwSubsystem.
Definition at line 1272 of file VQwDetectorArray.cc.
References ConstructHistograms(), fCombinedPMT, and fIntegrationPMT.
|
inlinevirtual |
Construct the histograms for this subsystem with a prefix.
Reimplemented from VQwSubsystem.
Definition at line 280 of file VQwSubsystem.h.
|
overridevirtual |
remove one entry from the running sums for devices
Implements VQwSubsystemParity.
Definition at line 1565 of file VQwDetectorArray.cc.
References Compare(), DeaccumulateRunningSum(), fCombinedPMT, fIntegrationPMT, VQwDetectorArray(), and VQwSubsystem::VQwSubsystem().
Referenced by DeaccumulateRunningSum().
|
static |
Define options function.
Define command-line options for detector array normalization.
options | Options object to configure. |
Definition at line 36 of file VQwDetectorArray.cc.
References QwOptions::AddOptions().
void VQwDetectorArray::DoNormalization | ( | Double_t | factor = 1.0 | ) |
Definition at line 1664 of file VQwDetectorArray.cc.
References bIsExchangedDataValid, fTargetCharge, and Normalize().
Referenced by ProcessEvent_2().
|
overridevirtual |
Reimplemented from VQwSubsystem.
Definition at line 863 of file VQwDetectorArray.cc.
References VQwSubsystem::fCurrentBank_ID, VQwSubsystem::fCurrentROC_ID, fIntegrationPMT, fMainDetID, and kQwIntegrationPMT.
|
overridevirtual |
Exchange data between subsystems
Reimplemented from VQwSubsystem.
Definition at line 1211 of file VQwDetectorArray.cc.
References bDEBUG, bIsExchangedDataValid, bNormalization, QwLog::endl(), fTargetCharge, VQwSubsystem::GetName(), PrintInfo(), QwError, QwWarning, and MQwPublishable_child< QwSubsystemArray, VQwSubsystem >::RequestExternalValue().
|
overridevirtual |
Fill the histograms for this subsystem.
Implements VQwSubsystem.
Definition at line 1285 of file VQwDetectorArray.cc.
References fCombinedPMT, FillHistograms(), and fIntegrationPMT.
Referenced by FillHistograms().
|
overridevirtual |
Fill the tree vector.
Fill the tree export vector with the current event values.
values | Output vector to be filled. |
Implements VQwSubsystem.
Definition at line 1353 of file VQwDetectorArray.cc.
References fCombinedPMT, FillTreeVector(), and fIntegrationPMT.
Referenced by FillTreeVector().
const QwIntegrationPMT * VQwDetectorArray::GetChannel | ( | const TString | name | ) | const |
Definition at line 1392 of file VQwDetectorArray.cc.
References GetIntegrationPMT().
Referenced by PublishByRequest().
const QwCombinedPMT * VQwDetectorArray::GetCombinedPMT | ( | const TString | name | ) | const |
Definition at line 1646 of file VQwDetectorArray.cc.
References QwLog::endl(), fCombinedPMT, and QwMessage.
Referenced by PublishInternalValues().
|
protected |
Definition at line 1590 of file VQwDetectorArray.cc.
References fMainDetID.
Referenced by LoadChannelMap(), and LoadEventCuts_Line().
|
protected |
Definition at line 1582 of file VQwDetectorArray.cc.
References GetQwPMTInstrumentType().
Referenced by LoadChannelMap(), and LoadEventCuts_Line().
|
overridevirtual |
Return the error flag to the top level routines related to stability checks and ErrorFlag updates.
Implements VQwSubsystemParity.
Definition at line 1088 of file VQwDetectorArray.cc.
References fCombinedPMT, and fIntegrationPMT.
const QwIntegrationPMT * VQwDetectorArray::GetIntegrationPMT | ( | const TString | name | ) | const |
Definition at line 1620 of file VQwDetectorArray.cc.
References QwLog::endl(), fIntegrationPMT, and QwMessage.
Referenced by GetChannel(), PublishInternalValues(), and WritePromptSummary().
|
overridevirtual |
Increment the error counters.
Implements VQwSubsystemParity.
Definition at line 1110 of file VQwDetectorArray.cc.
References fCombinedPMT, and fIntegrationPMT.
Bool_t VQwDetectorArray::IsGoodEvent | ( | ) |
Definition at line 802 of file VQwDetectorArray.cc.
|
overridevirtual |
Load detector channel map file, creating integration and combined PMTs and configuring buffer layout, saturation limits, and sample sizes.
mapfile | Path to the channel map file. |
Implements VQwSubsystem.
Definition at line 226 of file VQwDetectorArray.cc.
References QwParameterFile::Close(), QwParameterFile::EnableGreediness(), QwLog::endl(), QwDetectorArrayID::fCombinedChannelNames, fCombinedPMT, VQwSubsystem::fCurrentBank_ID, VQwSubsystem::fCurrentROC_ID, VQwSubsystem::fDetectorMaps, QwDetectorArrayID::fdetectorname, QwDetectorArrayID::fdetectortype, QwDetectorArrayID::fIndex, fIntegrationPMT, fMainDetID, QwDetectorArrayID::fmoduletype, VQwSubsystem::fPublishList, QwDetectorArrayID::fSubbankIndex, QwDetectorArrayID::fTypeID, QwDetectorArrayID::fWeight, QwDetectorArrayID::fWordInSubbank, QwMollerADC_Channel::GetBufferOffset(), GetDetectorIndex(), GetDetectorTypeID(), VQwSubsystem::GetName(), QwParameterFile::GetParamFileNameContents(), VQwSubsystem::GetSubbankIndex(), QwParameterFile::GetTypedNextToken(), kQwCombinedPMT, kQwIntegrationPMT, kQwUnknownPMT, QwParameterFile::LineIsEmpty(), QwParameterFile::PopValue(), QwDetectorArrayID::Print(), QwError, QwMessage, QwParameterFile::ReadNextLine(), QwParameterFile::ReadNextSection(), VQwSubsystem::RegisterRocBankMarker(), QwParameterFile::RewindToFileStart(), QwCombinedPMT::SetBlindability(), QwIntegrationPMT::SetBlindability(), QwParameterFile::SetCommentChars(), QwCombinedPMT::SetNormalizability(), QwIntegrationPMT::SetNormalizability(), QwParameterFile::TrimComment(), and QwParameterFile::TrimWhitespace().
|
overridevirtual |
Reimplemented from VQwSubsystemParity.
Definition at line 590 of file VQwDetectorArray.cc.
References fCombinedPMT, fIntegrationPMT, and fMainDetErrorCount.
|
inlineoverridevirtual |
|
overridevirtual |
Reimplemented from VQwSubsystemParity.
Definition at line 561 of file VQwDetectorArray.cc.
References QwLog::endl(), fCombinedPMT, fIntegrationPMT, GetDetectorIndex(), GetDetectorTypeID(), GetGlobalErrorFlag(), GetQwPMTInstrumentTypeName(), QwParameterFile::GetTypedNextToken(), kQwCombinedPMT, kQwIntegrationPMT, QwMessage, and QwWarning.
|
overridevirtual |
Mandatory parameter file definition.
Implements VQwSubsystem.
Definition at line 601 of file VQwDetectorArray.cc.
References QwParameterFile::Close(), VQwSubsystem::fDetectorMaps, fIntegrationPMT, QwParameterFile::GetParamFileNameContents(), QwParameterFile::GetTypedNextToken(), QwParameterFile::LineIsEmpty(), QwParameterFile::ReadNextLine(), QwParameterFile::TrimComment(), and QwParameterFile::TrimWhitespace().
|
overridevirtual |
Reimplemented from VQwSubsystemParity.
Definition at line 695 of file VQwDetectorArray.cc.
References QwParameterFile::Close(), VQwSubsystem::fDetectorMaps, fIntegrationPMT, QwParameterFile::GetParamFileNameContents(), QwParameterFile::GetTypedNextToken(), QwParameterFile::LineIsEmpty(), QwParameterFile::ReadNextLine(), QwParameterFile::TrimComment(), and QwParameterFile::TrimWhitespace().
void VQwDetectorArray::Normalize | ( | VQwDataElement * | denom | ) |
Definition at line 1524 of file VQwDetectorArray.cc.
References fCombinedPMT, fIntegrationPMT, and Normalize().
Referenced by DoNormalization(), and Normalize().
|
overridevirtual |
Implements VQwSubsystemParity.
Definition at line 1452 of file VQwDetectorArray.cc.
References Compare(), fCombinedPMT, fIntegrationPMT, VQwDetectorArray(), and VQwSubsystem::VQwSubsystem().
|
overridevirtual |
Implements VQwSubsystemParity.
Definition at line 1471 of file VQwDetectorArray.cc.
References Compare(), fCombinedPMT, fIntegrationPMT, VQwDetectorArray(), and VQwSubsystem::VQwSubsystem().
|
overridevirtual |
Assignment Note: Must be called at the beginning of all subsystems routine call to operator=(VQwSubsystem *value) by VQwSubsystem::operator=(value)
Implements VQwSubsystemParity.
Definition at line 1430 of file VQwDetectorArray.cc.
References Compare(), fCombinedPMT, fIntegrationPMT, VQwDetectorArray(), and VQwSubsystem::VQwSubsystem().
void VQwDetectorArray::PrintDetectorID | ( | ) | const |
Definition at line 1791 of file VQwDetectorArray.cc.
References fMainDetID.
|
overridevirtual |
Implements VQwSubsystemParity.
Definition at line 1127 of file VQwDetectorArray.cc.
References QwLog::endl(), fCombinedPMT, fIntegrationPMT, QwMollerADC_Channel::PrintErrorCounterHead(), QwMollerADC_Channel::PrintErrorCounterTail(), and QwMessage.
|
overridevirtual |
Print some information about the subsystem.
Print some information about the subsystem (name, ROCs/banks, parent).
Reimplemented from VQwSubsystem.
Definition at line 1775 of file VQwDetectorArray.cc.
References fCombinedPMT, fIntegrationPMT, VQwSubsystem::fSystemName, and PrintInfo().
Referenced by ExchangeProcessedData(), PrintInfo(), and RandomizeMollerEvent().
|
overridevirtual |
Print values of all channels.
Reimplemented from VQwSubsystemParity.
Definition at line 1763 of file VQwDetectorArray.cc.
References QwLog::endl(), fCombinedPMT, fIntegrationPMT, VQwSubsystem::GetName(), PrintValue(), and QwMessage.
Referenced by PrintValue().
|
overridevirtual |
Implements VQwSubsystem.
Definition at line 1003 of file VQwDetectorArray.cc.
|
overridevirtual |
TODO: The non-event-type-aware ProcessEvBuffer routine should be replaced with the event-type-aware version.
Implements VQwSubsystem.
Definition at line 1019 of file VQwDetectorArray.cc.
References fIntegrationPMT, fMainDetID, VQwSubsystem::GetSubbankIndex(), and kQwIntegrationPMT.
|
overridevirtual |
Implements VQwSubsystem.
Definition at line 1191 of file VQwDetectorArray.cc.
References fCombinedPMT, fIntegrationPMT, and ProcessEvent().
Referenced by ProcessEvent().
|
overridevirtual |
Process the event data again, including data from other subsystems. Not all derived classes will require a second stage of event data processing.
Reimplemented from VQwSubsystem.
Definition at line 1241 of file VQwDetectorArray.cc.
References bDEBUG, bIsExchangedDataValid, bNormalization, DoNormalization(), QwLog::endl(), fNormThreshold, fTargetCharge, and QwWarning.
|
overridevirtual |
Load detector array configuration from parsed command-line options.
options | Options object. |
Reimplemented from VQwSubsystem.
Definition at line 54 of file VQwDetectorArray.cc.
References bNormalization, QwLog::endl(), fNormThreshold, QwOptions::GetValue(), and QwWarning.
|
overridevirtual |
Publish a specific device channel on-demand by name lookup.
device_name | Name of the detector channel to publish. |
Implements MQwPublishable_child< QwSubsystemArray, VQwSubsystem >.
Definition at line 179 of file VQwDetectorArray.cc.
References QwLog::endl(), fCombinedPMT, fIntegrationPMT, fMainDetID, GetChannel(), kQwCombinedPMT, kQwIntegrationPMT, MQwPublishable_child< QwSubsystemArray, VQwSubsystem >::PublishInternalValue(), QwDebug, and QwError.
|
overridevirtual |
Publish internal detector channels according to the configured publish list (integration and combined PMTs).
Implements MQwPublishable_child< QwSubsystemArray, VQwSubsystem >.
Definition at line 78 of file VQwDetectorArray.cc.
References QwLog::endl(), VQwSubsystem::fPublishList, QwCombinedPMT::GetChannel(), QwIntegrationPMT::GetChannel(), GetCombinedPMT(), GetIntegrationPMT(), MQwPublishable_child< QwSubsystemArray, VQwSubsystem >::PublishInternalValue(), QwDebug, and QwError.
|
override |
Definition at line 851 of file VQwDetectorArray.cc.
References fIntegrationPMT, fMainDetID, and kQwIntegrationPMT.
void VQwDetectorArray::RandomizeMollerEvent | ( | int | helicity | ) |
Definition at line 905 of file VQwDetectorArray.cc.
References bDEBUG, bIsExchangedDataValid, QwLog::endl(), fIntegrationPMT, fMainDetID, fTargetCharge, fTargetEnergy, fTargetX, fTargetXprime, fTargetY, fTargetYprime, VQwSubsystem::GetName(), PrintInfo(), QwError, QwWarning, and MQwPublishable_child< QwSubsystemArray, VQwSubsystem >::RequestExternalValue().
|
overridevirtual |
Implements VQwSubsystemParity.
Definition at line 1490 of file VQwDetectorArray.cc.
References Compare(), fCombinedPMT, fIntegrationPMT, Ratio(), VQwDetectorArray(), and VQwSubsystem::VQwSubsystem().
Referenced by Ratio().
|
overridevirtual |
Implements VQwSubsystemParity.
Definition at line 1510 of file VQwDetectorArray.cc.
References fCombinedPMT, fIntegrationPMT, and Scale().
Referenced by Scale().
void VQwDetectorArray::SetRandomEventAsymmetry | ( | Double_t | asymmetry | ) |
Definition at line 839 of file VQwDetectorArray.cc.
References fIntegrationPMT, fMainDetID, and kQwIntegrationPMT.
void VQwDetectorArray::SetRandomEventParameters | ( | Double_t | mean, |
Double_t | sigma ) |
Definition at line 827 of file VQwDetectorArray.cc.
References fIntegrationPMT, fMainDetID, and kQwIntegrationPMT.
|
overridevirtual |
update the error flag in the subsystem level from the top level routines related to stability checks. This will uniquely update the errorflag at each channel based on the error flag in the corresponding channel in the ev_error subsystem
Implements VQwSubsystemParity.
Definition at line 1172 of file VQwDetectorArray.cc.
References Compare(), fCombinedPMT, fIntegrationPMT, VQwSubsystemParity::UpdateErrorFlag(), VQwDetectorArray(), and VQwSubsystem::VQwSubsystem().
|
overridevirtual |
Reimplemented from VQwSubsystemParity.
Definition at line 1882 of file VQwDetectorArray.cc.
References QwPromptSummary::AddElement(), QwLog::endl(), fMainDetID, QwIntegrationPMT::GetChannel(), QwPromptSummary::GetElementByName(), GetIntegrationPMT(), VQwHardwareChannel::GetValue(), VQwHardwareChannel::GetValueError(), VQwHardwareChannel::GetValueWidth(), QwMessage, and PromptSummaryElement::Set().
|
staticprivate |
Definition at line 279 of file VQwDetectorArray.h.
Referenced by ApplySingleEventCuts(), ExchangeProcessedData(), ProcessEvent_2(), and RandomizeMollerEvent().
|
protected |
Definition at line 272 of file VQwDetectorArray.h.
Referenced by DoNormalization(), ExchangeProcessedData(), ProcessEvent_2(), and RandomizeMollerEvent().
|
protected |
Definition at line 274 of file VQwDetectorArray.h.
Referenced by ExchangeProcessedData(), ProcessEvent_2(), ProcessOptions(), and VQwDetectorArray().
|
protected |
Definition at line 247 of file VQwDetectorArray.h.
Referenced by AccumulateRunningSum(), ApplySingleEventCuts(), QwBlindDetectorArray::Blind(), QwBlindDetectorArray::Blind(), CalculateRunningAverage(), CheckForBurpFail(), ClearEventData(), Compare(), ConstructBranch(), ConstructBranch(), ConstructBranchAndVector(), ConstructHistograms(), DeaccumulateRunningSum(), FillHistograms(), FillTreeVector(), GetCombinedPMT(), GetEventcutErrorFlag(), IncrementErrorCounters(), LoadChannelMap(), LoadEventCuts_Fin(), LoadEventCuts_Line(), Normalize(), operator+=(), operator-=(), operator=(), PrintErrorCounters(), PrintInfo(), PrintValue(), ProcessEvent(), PublishByRequest(), Ratio(), Scale(), UpdateErrorFlag(), and VQwDetectorArray().
|
protected |
Definition at line 237 of file VQwDetectorArray.h.
|
protected |
Definition at line 246 of file VQwDetectorArray.h.
Referenced by AccumulateRunningSum(), ApplyHWChecks(), ApplySingleEventCuts(), QwBlindDetectorArray::Blind(), QwBlindDetectorArray::Blind(), CalculateRunningAverage(), CheckForBurpFail(), ClearEventData(), Compare(), ConstructBranch(), ConstructBranch(), ConstructBranchAndVector(), ConstructHistograms(), DeaccumulateRunningSum(), EncodeEventData(), FillHistograms(), FillTreeVector(), GetEventcutErrorFlag(), GetIntegrationPMT(), IncrementErrorCounters(), LoadChannelMap(), LoadEventCuts_Fin(), LoadEventCuts_Line(), LoadInputParameters(), LoadMockDataParameters(), Normalize(), operator+=(), operator-=(), operator=(), PrintErrorCounters(), PrintInfo(), PrintValue(), ProcessEvBuffer(), ProcessEvent(), PublishByRequest(), RandomizeEventData(), RandomizeMollerEvent(), Ratio(), Scale(), SetRandomEventAsymmetry(), SetRandomEventParameters(), UpdateErrorFlag(), and VQwDetectorArray().
|
private |
Definition at line 280 of file VQwDetectorArray.h.
Referenced by ApplySingleEventCuts(), and LoadEventCuts_Fin().
|
protected |
Definition at line 248 of file VQwDetectorArray.h.
Referenced by EncodeEventData(), GetDetectorIndex(), LoadChannelMap(), PrintDetectorID(), ProcessEvBuffer(), PublishByRequest(), RandomizeEventData(), RandomizeMollerEvent(), SetRandomEventAsymmetry(), SetRandomEventParameters(), VQwDetectorArray(), and WritePromptSummary().
|
protected |
Definition at line 275 of file VQwDetectorArray.h.
Referenced by ProcessEvent_2(), and ProcessOptions().
|
protected |
Definition at line 265 of file VQwDetectorArray.h.
Referenced by DoNormalization(), ExchangeProcessedData(), ProcessEvent_2(), RandomizeMollerEvent(), and VQwDetectorArray().
|
protected |
Definition at line 270 of file VQwDetectorArray.h.
Referenced by RandomizeMollerEvent(), and VQwDetectorArray().
|
protected |
Definition at line 266 of file VQwDetectorArray.h.
Referenced by RandomizeMollerEvent(), and VQwDetectorArray().
|
protected |
Definition at line 268 of file VQwDetectorArray.h.
Referenced by RandomizeMollerEvent(), and VQwDetectorArray().
|
protected |
Definition at line 267 of file VQwDetectorArray.h.
Referenced by RandomizeMollerEvent(), and VQwDetectorArray().
|
protected |
Definition at line 269 of file VQwDetectorArray.h.
Referenced by RandomizeMollerEvent(), and VQwDetectorArray().