JAPAn
Just Another Parity Analyzer
|
Subsystem handling integrated raster X/Y channels. More...
#include <QwIntegratedRaster.h>
Public Member Functions | |
QwIntegratedRaster (const TString &name) | |
Constructor with name. | |
QwIntegratedRaster (const QwIntegratedRaster &source) | |
Copy constructor. | |
~QwIntegratedRaster () override | |
Virtual destructor. | |
void | ProcessOptions (QwOptions &options) override |
Process the command line options. | |
Int_t | LoadChannelMap (TString mapfile) override |
Mandatory map file definition. | |
Int_t | LoadInputParameters (TString pedestalfile) override |
Mandatory parameter file definition. | |
Int_t | LoadEventCuts (TString filename) override |
Optional event cut file. | |
void | IncrementErrorCounters () override |
Increment the error counters. | |
Bool_t | ApplySingleEventCuts () override |
Apply the single event cuts. | |
void | PrintErrorCounters () const override |
UInt_t | GetEventcutErrorFlag () override |
Return the error flag to the top level routines related to stability checks and ErrorFlag updates. | |
Bool_t | CheckForBurpFail (const VQwSubsystem *subsys) override |
Report the number of events failed due to HW and event cut failures. | |
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 | |
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. | |
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 | PrintDetectorID () const |
void | ClearEventData () override |
Bool_t | IsGoodEvent () |
void | ProcessEvent () override |
void | ExchangeProcessedData () override |
Request processed data from other subsystems for internal use in the second event processing stage. Not all derived classes will require data from other subsystems. | |
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. | |
void | SetRandomEventParameters (Double_t mean, Double_t sigma) |
void | SetRandomEventAsymmetry (Double_t asymmetry) |
void | RandomizeEventData (int helicity=0, double time=0.0) override |
void | EncodeEventData (std::vector< UInt_t > &buffer) override |
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 | Sum (VQwSubsystem *value1, VQwSubsystem *value2) override |
void | Difference (VQwSubsystem *value1, VQwSubsystem *value2) override |
void | Ratio (VQwSubsystem *numer, VQwSubsystem *denom) override |
void | Scale (Double_t factor) override |
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. | |
void | WritePromptSummary (QwPromptSummary *ps, TString type) override |
const VQwDataElement * | GetChannel (const TString name) const |
Bool_t | Compare (VQwSubsystem *source) |
void | PrintValue () const override |
Print values of all channels. | |
void | PrintInfo () const override |
Print some information about the subsystem. | |
virtual void | ConstructHistograms () |
Construct the histograms for this subsystem. | |
virtual void | ConstructHistograms (TDirectory *folder) |
Construct the histograms for this subsystem in a folder. | |
virtual void | ConstructHistograms (TString &prefix) |
Construct the histograms for this subsystem with a prefix. | |
![]() | |
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) |
Int_t | LoadEventCuts (TString filename) override |
Load the event cuts file. | |
virtual void | LoadEventCuts_Init () |
virtual void | LoadEventCuts_Line (QwParameterFile &, TString &, Int_t &) |
virtual void | LoadEventCuts_Fin (Int_t &) |
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 |
virtual void | LoadMockDataParameters (TString) |
![]() | |
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 | 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 | ConstructBranchAndVector (TTree *tree, QwRootTreeBranchVector &values) |
Construct the branch and tree vector. | |
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. | |
![]() | |
~MQwCloneable () override | |
Virtual destructor. | |
VQwSubsystem * | Clone () const override |
Concrete clone method. | |
const VQwFactory< VQwSubsystem > * | Factory () const override |
Factory getter. | |
![]() | |
virtual | ~VQwCloneable () |
Virtual destructor. | |
std::string | GetClassName () const |
Get demangled name of this class. | |
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++) | |
![]() | |
static VQwSubsystem * | Create (const std::string &name) |
Object creation. | |
static QwIntegratedRaster * | Cast (QwIntegratedRaster *type) |
Object dynamic cast. | |
Protected Member Functions | |
Int_t | GetDetectorIndex (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 | |
std::vector< QwIntegratedRasterChannel< QwVQWK_Channel > > | fIntegratedRasterChannel |
std::vector< QwIntegratedRasterDetectorID > | fDetectorIDs |
![]() | |
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 | |
QwIntegratedRaster () | |
Private default constructor (not implemented, will throw linker error on use) | |
Private Attributes | |
Int_t | fQwIntegratedRasterErrorCount |
Static Private Attributes | |
static const Bool_t | bDEBUG =kFALSE |
Subsystem handling integrated raster X/Y channels.
Definition at line 66 of file QwIntegratedRaster.h.
|
private |
Private default constructor (not implemented, will throw linker error on use)
Referenced by QwIntegratedRaster().
|
inline |
Constructor with name.
Definition at line 75 of file QwIntegratedRaster.h.
References VQwSubsystem::VQwSubsystem(), and VQwSubsystemParity::VQwSubsystemParity().
|
inline |
Copy constructor.
Definition at line 79 of file QwIntegratedRaster.h.
References fIntegratedRasterChannel, QwIntegratedRaster(), VQwSubsystem::VQwSubsystem(), and VQwSubsystemParity::VQwSubsystemParity().
|
inlineoverride |
|
overridevirtual |
Update the running sums for devices.
Implements VQwSubsystemParity.
References VQwSubsystem::VQwSubsystem().
|
overridevirtual |
Apply the single event cuts.
Implements VQwSubsystemParity.
|
overridevirtual |
Calculate the average for all good events.
Implements VQwSubsystemParity.
|
inlineoverridevirtual |
Report the number of events failed due to HW and event cut failures.
Implements VQwSubsystemParity.
Definition at line 102 of file QwIntegratedRaster.h.
References VQwSubsystem::VQwSubsystem().
|
overridevirtual |
Implements VQwSubsystem.
Bool_t QwIntegratedRaster::Compare | ( | VQwSubsystem * | source | ) |
|
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.
|
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.
|
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.
|
inlinevirtual |
Construct the histograms for this subsystem.
Reimplemented from VQwSubsystem.
Definition at line 270 of file VQwSubsystem.h.
|
inlinevirtual |
Construct the histograms for this subsystem in a folder.
Reimplemented from VQwSubsystem.
Definition at line 275 of file VQwSubsystem.h.
|
overridevirtual |
Construct the histograms for this subsystem in a folder with a prefix.
Implements VQwSubsystem.
|
inlinevirtual |
Construct the histograms for this subsystem with a prefix.
Reimplemented from VQwSubsystem.
Definition at line 280 of file VQwSubsystem.h.
|
inlineoverridevirtual |
remove one entry from the running sums for devices
Implements VQwSubsystemParity.
Definition at line 112 of file QwIntegratedRaster.h.
References VQwSubsystem::VQwSubsystem().
|
static |
Define options function.
|
overridevirtual |
Reimplemented from VQwSubsystemParity.
References VQwSubsystem::VQwSubsystem().
|
overridevirtual |
Reimplemented from VQwSubsystem.
|
inlineoverridevirtual |
Request processed data from other subsystems for internal use in the second event processing stage. Not all derived classes will require data from other subsystems.
Reimplemented from VQwSubsystem.
Definition at line 124 of file QwIntegratedRaster.h.
|
overridevirtual |
Fill the histograms for this subsystem.
Implements VQwSubsystem.
|
overridevirtual |
Fill the tree vector.
Fill the tree export vector with the current event values.
values | Output vector to be filled. |
Implements VQwSubsystem.
const VQwDataElement * QwIntegratedRaster::GetChannel | ( | const TString | name | ) | const |
|
protected |
|
overridevirtual |
Return the error flag to the top level routines related to stability checks and ErrorFlag updates.
Implements VQwSubsystemParity.
|
overridevirtual |
Increment the error counters.
Implements VQwSubsystemParity.
Bool_t QwIntegratedRaster::IsGoodEvent | ( | ) |
|
overridevirtual |
Mandatory map file definition.
Implements VQwSubsystem.
|
overridevirtual |
Optional event cut file.
Reimplemented from VQwSubsystem.
|
overridevirtual |
Mandatory parameter file definition.
Implements VQwSubsystem.
|
overridevirtual |
Implements VQwSubsystemParity.
References VQwSubsystem::VQwSubsystem().
|
overridevirtual |
Implements VQwSubsystemParity.
References 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.
References VQwSubsystem::VQwSubsystem().
void QwIntegratedRaster::PrintDetectorID | ( | ) | const |
|
overridevirtual |
Implements VQwSubsystemParity.
|
overridevirtual |
Print some information about the subsystem.
Print some information about the subsystem (name, ROCs/banks, parent).
Reimplemented from VQwSubsystem.
|
overridevirtual |
Print values of all channels.
Reimplemented from VQwSubsystemParity.
|
overridevirtual |
Implements VQwSubsystem.
|
overridevirtual |
TODO: The non-event-type-aware ProcessEvBuffer routine should be replaced with the event-type-aware version.
Implements VQwSubsystem.
|
overridevirtual |
Implements VQwSubsystem.
|
inlineoverridevirtual |
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 125 of file QwIntegratedRaster.h.
|
overridevirtual |
Process the command line options.
Reimplemented from VQwSubsystem.
|
overridevirtual |
Reimplemented from VQwSubsystem.
|
overridevirtual |
Implements VQwSubsystemParity.
References VQwSubsystem::VQwSubsystem().
|
overridevirtual |
Implements VQwSubsystemParity.
References VQwSubsystem::ConstructHistograms().
void QwIntegratedRaster::SetRandomEventAsymmetry | ( | Double_t | asymmetry | ) |
void QwIntegratedRaster::SetRandomEventParameters | ( | Double_t | mean, |
Double_t | sigma ) |
|
overridevirtual |
Reimplemented from VQwSubsystemParity.
References VQwSubsystem::VQwSubsystem().
|
inlineoverridevirtual |
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 107 of file QwIntegratedRaster.h.
References VQwSubsystem::VQwSubsystem().
|
overridevirtual |
Reimplemented from VQwSubsystemParity.
|
staticprivate |
Definition at line 183 of file QwIntegratedRaster.h.
|
protected |
Definition at line 175 of file QwIntegratedRaster.h.
|
protected |
Definition at line 174 of file QwIntegratedRaster.h.
Referenced by QwIntegratedRaster().
|
private |
Definition at line 181 of file QwIntegratedRaster.h.