|
JAPAn
Just Another Parity Analyzer
|
Subsystem for helicity data decoding. More...
#include <QwHelicityDecoder.h>
Inheritance diagram for QwHelicityDecoder:
Collaboration diagram for QwHelicityDecoder:Public Member Functions | |
| QwHelicityDecoder (const TString &name) | |
| Constructor with name. | |
| QwHelicityDecoder (const QwHelicityDecoder &source) | |
| Copy constructor. | |
| virtual | ~QwHelicityDecoder () 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. | |
| Bool_t | ApplySingleEventCuts () override |
| Apply the single event cuts. | |
| Bool_t | CheckForBurpFail (const VQwSubsystem *ev_error) 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 | |
| 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) |
| TODO: The non-event-type-aware ProcessEvBuffer routine should be replaced with the event-type-aware version. | |
| Int_t | ProcessEvBuffer (UInt_t ev_type, const ROCID_t roc_id, const BankID_t bank_id, UInt_t *buffer, UInt_t num_words) override |
| void | EncodeEventData (std::vector< UInt_t > &buffer) override |
| virtual void | ClearEventData () override |
| virtual void | ProcessEvent () override |
| UInt_t | GetRandomSeedActual () |
| UInt_t | GetRandomSeedDelayed () |
| void | PredictHelicity () |
| void | RunPredictor () |
| void | SetHelicityDelay (Int_t delay) |
| void | SetHelicityBitPattern (TString hex) |
| void | SetFirstBits (UInt_t nbits, UInt_t firstbits) |
| 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 | 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 | 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 | Print () const |
| void | CheckPatternNum (VQwSubsystem *value) |
| void | MergeCounters (VQwSubsystem *value) |
| Bool_t | CheckIORegisterMask (const UInt_t &ioregister, const UInt_t &mask) const |
| void | SetHistoTreeSave (const TString &prefix) |
| Bool_t | Compare (VQwSubsystem *source) |
| void | FillHDVariables (uint32_t data, uint32_t index) |
| 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. | |
| virtual void | ConstructBranchAndVector (TTree *tree, QwRootTreeBranchVector &values) |
| Construct the branch and tree vector. | |
Public Member Functions inherited from QwHelicityBase | |
| QwHelicityBase (const TString &name) | |
| Constructor with name. | |
| QwHelicityBase (const QwHelicityBase &source) | |
| Copy constructor. | |
| virtual | ~QwHelicityBase () override |
| Virtual destructor. | |
| 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. | |
| UInt_t | GetRandomSeedActual () |
| UInt_t | GetRandomSeedDelayed () |
| void | PredictHelicity () |
| void | RunPredictor () |
| void | SetHelicityDelay (Int_t delay) |
| void | SetHelicityBitPattern (TString hex) |
| Int_t | GetHelicityReported () |
| Int_t | GetHelicityActual () |
| Int_t | GetHelicityDelayed () |
| Long_t | GetEventNumber () |
| Long_t | GetPatternNumber () |
| Int_t | GetPhaseNumber () |
| Int_t | GetMaxPatternPhase () |
| Int_t | GetMinPatternPhase () |
| void | SetFirstBits (UInt_t nbits, UInt_t firstbits) |
| void | SetEventPatternPhase (Int_t event, Int_t pattern, Int_t phase) |
| void | Scale (Double_t factor) override |
| void | CalculateRunningAverage () override |
| Calculate the average for all good events. | |
| void | Print () const |
| Bool_t | IsHelicityIgnored () |
| virtual Bool_t | IsGoodHelicity () |
Public Member Functions inherited from VQwSubsystemParity | |
| 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 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 void | PrintValue () const |
| Print values of all channels. | |
| virtual void | WritePromptSummary (QwPromptSummary *, TString) |
| virtual Bool_t | CheckForEndOfBurst () const |
| virtual void | LoadMockDataParameters (TString) |
Public Member Functions inherited from VQwSubsystem | |
| 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 void | ExchangeProcessedData () |
| 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. | |
| virtual void | ProcessEvent_2 () |
| Process the event data again, including data from other subsystems. Not all derived classes will require a second stage of event data processing. | |
| 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 | PrintInfo () const |
| Print some information about the 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 |
Public Member Functions inherited from MQwHistograms | |
| void | ShareHistograms (const MQwHistograms *source) |
| Share histogram pointers between objects. | |
Public Member Functions inherited from MQwPublishable_child< QwSubsystemArray, VQwSubsystem > | |
| 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. | |
Public Member Functions inherited from MQwCloneable< VQwSubsystem, QwHelicityDecoder > | |
| ~MQwCloneable () override | |
| Virtual destructor. | |
| VQwSubsystem * | Clone () const override |
| Concrete clone method. | |
| const VQwFactory< VQwSubsystem > * | Factory () const override |
| Factory getter. | |
Public Member Functions inherited from VQwCloneable< VQwSubsystem > | |
| 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 Public Member Functions inherited from QwHelicityBase | |
| static void | DefineOptions (QwOptions &options) |
| Define options function. | |
Static Public Member Functions inherited from VQwSubsystem | |
| static void | DefineOptions () |
| Define options function (note: no virtual static functions in C++) | |
Static Public Member Functions inherited from MQwCloneable< VQwSubsystem, QwHelicityDecoder > | |
| static VQwSubsystem * | Create (const std::string &name) |
| Object creation. | |
| static QwHelicityDecoder * | Cast (QwHelicityDecoder *type) |
| Object dynamic cast. | |
Data Fields | |
| UInt_t | fSeed_Reported |
| Int_t | fNum_TStable_Fall |
| Int_t | fNum_Pair_Sync |
| Int_t | fTime_since_TStable |
| Int_t | fTime_since_TSettle |
| Int_t | fLast_Duration_TStable |
| Int_t | fLast_Duration_TSettle |
| Int_t | fEventPolarity |
| Int_t | fReportedPatternHel |
| Int_t | fBit_Helicity |
| Int_t | fBit_PairSync |
| Int_t | fBit_PatSync |
| Int_t | fBit_TStable |
| UInt_t | fEvtHistory_PatSync |
| UInt_t | fEvtHistory_PairSync |
| UInt_t | fEvtHistory_ReportedHelicity |
| UInt_t | fPatHistory_ReportedHelicity |
Static Public Attributes | |
| static const std::vector< UInt_t > | kDefaultHelicityBitPattern {0x69} |
| static const Bool_t | kDEBUG =kFALSE |
| static const Int_t | kUndefinedHelicity = -9999 |
| static const Int_t | fNumDecoderWords =14 |
Private Member Functions | |
| QwHelicityDecoder () | |
| Private default constructor (not implemented, will throw linker error on use) | |
Additional Inherited Members | |
Protected Types inherited from QwHelicityBase | |
| enum | HelicityRootSavingType { kHelSaveMPS = 0 , kHelSavePattern , kHelNoSave } |
Protected Member Functions inherited from QwHelicityBase | |
| void | CheckPatternNum (VQwSubsystem *value) |
| void | MergeCounters (VQwSubsystem *value) |
| void | SetHistoTreeSave (const TString &prefix) |
| Bool_t | IsGoodPatternNumber () |
| Bool_t | IsGoodEventNumber () |
| Bool_t | MatchActualHelicity (Int_t actual) |
| Bool_t | IsGoodPhaseNumber () |
| Bool_t | IsContinuous () |
| virtual UInt_t | GetRandbit (UInt_t &ranseed) |
| UInt_t | GetRandbit24 (UInt_t &ranseed) |
| UInt_t | GetRandbit30 (UInt_t &ranseed) |
| UInt_t | GetRandomSeed (UShort_t *first24randbits) |
| virtual Bool_t | CollectRandBits () |
| Bool_t | CollectRandBits24 () |
| Bool_t | CollectRandBits30 () |
| void | ResetPredictor () |
| Bool_t | Compare (VQwSubsystem *source) |
| void | ClearErrorCounters () |
| UInt_t | BuildHelicityBitPattern (Int_t patternsize) |
| unsigned int | parity (unsigned int v) |
| 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) |
Protected Member Functions inherited from MQwHistograms | |
| 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. | |
Protected Member Functions inherited from MQwPublishable_child< QwSubsystemArray, VQwSubsystem > | |
| 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 inherited from QwHelicityBase | |
| std::vector< UInt_t > | fHelicityBitPattern |
| std::vector< QwWord > | fWord |
| std::vector< std::pair< Int_t, Int_t > > | fWordsPerSubbank |
| Int_t | fHelicityDecodingMode |
| Int_t | kUserbit |
| Int_t | kScalerCounter |
| Int_t | kInputRegister |
| Int_t | kPatternCounter |
| Int_t | kMpsCounter |
| Int_t | kPatternPhase |
| UInt_t | kEventTypeHelPlus |
| UInt_t | kEventTypeHelMinus |
| Int_t | fEventNumberOld |
| Int_t | fEventNumber |
| Int_t | fPatternPhaseNumberOld |
| Int_t | fPatternPhaseNumber |
| Int_t | fPatternNumberOld |
| Int_t | fPatternNumber |
| Int_t | fPatternSeed |
| Int_t | fActualPatternPolarity |
| True polarity of the current pattern. | |
| Int_t | fDelayedPatternPolarity |
| Reported polarity of the current pattern. | |
| Int_t | fPreviousPatternPolarity |
| True polarity of the previous pattern. | |
| Int_t | fHelicityReported |
| Int_t | fHelicityActual |
| Int_t | fHelicityDelayed |
| Bool_t | fHelicityBitPlus |
| Bool_t | fHelicityBitMinus |
| Bool_t | fGoodHelicity |
| Bool_t | fGoodPattern |
| Int_t | fHistoType |
| size_t | fTreeArrayIndex |
| size_t | fTreeArrayNumEntries |
| UInt_t | n_ranbits |
| UInt_t | iseed_Actual |
| UInt_t | iseed_Delayed |
| Int_t | fHelicityDelay |
| Int_t | fMaxPatternPhase |
| Int_t | fMinPatternPhase |
| Int_t | fRandBits |
| Bool_t | fUsePredictor |
| Bool_t | fHelicityInfoOK |
| Int_t | fPatternPhaseOffset |
| Bool_t | fIgnoreHelicity |
| UInt_t | fEventType |
| Int_t | fEventNumberFirst |
| Int_t | fPatternNumberFirst |
| Int_t | fNumMissedGates |
| Int_t | fNumMissedEventBlocks |
| Int_t | fNumMultSyncErrors |
| Int_t | fNumHelicityErrors |
| UInt_t | fErrorFlag |
| Bool_t | fSuppressMPSErrorMsgs |
Protected Attributes inherited from VQwSubsystem | |
| 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. | |
Protected Attributes inherited from MQwHistograms | |
| std::vector< TH1_ptr > | fHistograms |
| Histograms associated with this data element. | |
Static Protected Attributes inherited from QwHelicityBase | |
| static const std::vector< UInt_t > | kDefaultHelicityBitPattern {0x69} |
| static const Bool_t | kDEBUG =kFALSE |
| static const Int_t | kUndefinedHelicity = -9999 |
Subsystem for helicity data decoding.
Manages helicity information from the polarized electron beam, including helicity state determination, pattern recognition, delayed helicity decoding, and helicity-correlated systematic checks. Supports multiple helicity encoding modes and provides helicity information to other subsystems.
Definition at line 35 of file QwHelicityDecoder.h.
|
private |
Private default constructor (not implemented, will throw linker error on use)
References QwHelicityDecoder().
Referenced by AccumulateRunningSum(), CheckPatternNum(), Compare(), MergeCounters(), operator=(), QwHelicityDecoder(), and QwHelicityDecoder().
Here is the call graph for this function:
Here is the caller graph for this function:| QwHelicityDecoder::QwHelicityDecoder | ( | const TString & | name | ) |
Constructor with name.
constructor
Definition at line 37 of file QwHelicityDecoder.cc.
References QwHelicityBase::QwHelicityBase(), and VQwSubsystem::VQwSubsystem().
Here is the call graph for this function:| QwHelicityDecoder::QwHelicityDecoder | ( | const QwHelicityDecoder & | source | ) |
Copy constructor.
Definition at line 44 of file QwHelicityDecoder.cc.
References VQwSubsystem::GetName(), QwHelicityBase::QwHelicityBase(), QwHelicityDecoder(), and VQwSubsystem::VQwSubsystem().
Here is the call graph for this function:
|
inlineoverridevirtual |
|
overridevirtual |
Update the running sums for devices.
Reimplemented from QwHelicityBase.
Definition at line 1194 of file QwHelicityDecoder.cc.
References Compare(), QwHelicityBase::fNumHelicityErrors, QwHelicityBase::fNumMissedEventBlocks, QwHelicityBase::fNumMissedGates, QwHelicityBase::fNumMultSyncErrors, QwHelicityBase::fPatternNumber, MergeCounters(), QwHelicityDecoder(), and VQwSubsystem::VQwSubsystem().
Here is the call graph for this function:
|
overridevirtual |
Apply the single event cuts.
Reimplemented from QwHelicityBase.
Definition at line 183 of file QwHelicityDecoder.cc.
|
inlineoverridevirtual |
Report the number of events failed due to HW and event cut failures.
Reimplemented from QwHelicityBase.
Definition at line 60 of file QwHelicityDecoder.h.
References VQwSubsystem::VQwSubsystem().
Here is the call graph for this function:
|
inline |
Definition at line 116 of file QwHelicityDecoder.h.
| void QwHelicityDecoder::CheckPatternNum | ( | VQwSubsystem * | value | ) |
Definition at line 1150 of file QwHelicityDecoder.cc.
References Compare(), QwLog::endl(), QwHelicityBase::fActualPatternPolarity, QwHelicityBase::fErrorFlag, QwHelicityBase::fPatternNumber, kErrorFlag_Helicity, kEventCutMode3, kGlobalCut, QwDebug, QwHelicityDecoder(), and VQwSubsystem::VQwSubsystem().
Referenced by operator+=(), and Ratio().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Reset data by setting the old event number, pattern number and pattern phase to the values of the previous event.
Clear out helicity variables
Reimplemented from QwHelicityBase.
Definition at line 140 of file QwHelicityDecoder.cc.
References ClearEventData(), QwHelicityBase::fEventNumber, QwHelicityBase::fEventNumberFirst, QwHelicityBase::fEventNumberOld, QwHelicityBase::fHelicityActual, QwHelicityBase::fHelicityBitMinus, QwHelicityBase::fHelicityBitPlus, QwHelicityBase::fHelicityDelayed, QwHelicityBase::fHelicityReported, QwHelicityBase::fPatternNumber, QwHelicityBase::fPatternNumberFirst, QwHelicityBase::fPatternNumberOld, QwHelicityBase::fPatternPhaseNumber, QwHelicityBase::fPatternPhaseNumberOld, QwHelicityBase::fWord, kUndefinedHelicity, and VQwSubsystem::SetDataLoaded().
Referenced by ClearEventData().
Here is the call graph for this function:
Here is the caller graph for this function:| Bool_t QwHelicityDecoder::Compare | ( | VQwSubsystem * | source | ) |
Definition at line 1209 of file QwHelicityDecoder.cc.
References QwHelicityBase::fWord, QwHelicityDecoder(), and VQwSubsystem::VQwSubsystem().
Referenced by AccumulateRunningSum(), CheckPatternNum(), MergeCounters(), and operator=().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Construct the branch and tree vector.
Construct the branches for this subsystem.
| tree | Output ROOT tree. |
| prefix | Name prefix for all branch names. |
Reimplemented from QwHelicityBase.
Definition at line 806 of file QwHelicityDecoder.cc.
References QwHelicityBase::fActualPatternPolarity, QwHelicityBase::fDelayedPatternPolarity, QwHelicityBase::fEventNumber, fEventPolarity, QwHelicityBase::fHelicityActual, QwHelicityBase::fHelicityDelayed, QwHelicityBase::fHelicityReported, QwHelicityBase::fHistoType, QwHelicityBase::fPatternNumber, QwHelicityBase::fPatternPhaseNumber, QwHelicityBase::fPatternSeed, QwHelicityBase::fPreviousPatternPolarity, fReportedPatternHel, QwHelicityBase::fWord, QwHelicityBase::kHelNoSave, QwHelicityBase::kHelSaveMPS, QwHelicityBase::kHelSavePattern, and SetHistoTreeSave().
Here is the call graph for this function:
|
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. |
Reimplemented from QwHelicityBase.
Definition at line 879 of file QwHelicityDecoder.cc.
References QwHelicityBase::fActualPatternPolarity, QwHelicityBase::fDelayedPatternPolarity, QwHelicityBase::fEventNumber, fEventPolarity, QwHelicityBase::fHelicityActual, QwHelicityBase::fHelicityDelayed, QwHelicityBase::fHelicityReported, QwHelicityBase::fHistoType, QwHelicityBase::fPatternNumber, QwHelicityBase::fPatternPhaseNumber, QwHelicityBase::fPatternSeed, QwHelicityBase::fPreviousPatternPolarity, fReportedPatternHel, QwHelicityBase::fWord, QwHelicityBase::kHelNoSave, QwHelicityBase::kHelSaveMPS, QwHelicityBase::kHelSavePattern, and SetHistoTreeSave().
Here is the call graph for this function:
|
inlinevirtual |
Construct the branch and tree vector.
Reimplemented from QwHelicityBase.
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. |
Reimplemented from QwHelicityBase.
Definition at line 715 of file QwHelicityDecoder.cc.
References QwRootTreeBranchVector::back(), QwHelicityBase::fHistoType, QwHelicityBase::fTreeArrayIndex, QwHelicityBase::fWord, QwHelicityBase::kHelNoSave, QwHelicityBase::kHelSaveMPS, QwHelicityBase::kHelSavePattern, QwRootTreeBranchVector::push_back(), SetHistoTreeSave(), and QwRootTreeBranchVector::size().
Here is the call graph for this function:
|
inlinevirtual |
Construct the histograms for this subsystem.
Reimplemented from QwHelicityBase.
Definition at line 270 of file VQwSubsystem.h.
|
inlinevirtual |
Construct the histograms for this subsystem in a folder.
Reimplemented from QwHelicityBase.
Definition at line 275 of file VQwSubsystem.h.
|
overridevirtual |
Construct the histograms for this subsystem in a folder with a prefix.
Reimplemented from QwHelicityBase.
Definition at line 614 of file QwHelicityDecoder.cc.
References QwLog::endl(), MQwHistograms::fHistograms, QwHelicityBase::fHistoType, QwHelicityBase::fWord, gQwHists, QwHelicityBase::kHelNoSave, QwHelicityBase::kHelSaveMPS, QwHelicityBase::kHelSavePattern, QwError, and SetHistoTreeSave().
Here is the call graph for this function:
|
inlinevirtual |
Construct the histograms for this subsystem with a prefix.
Reimplemented from QwHelicityBase.
Definition at line 280 of file VQwSubsystem.h.
|
inlineoverridevirtual |
remove one entry from the running sums for devices
Reimplemented from QwHelicityBase.
Definition at line 98 of file QwHelicityDecoder.h.
References VQwSubsystem::VQwSubsystem().
Here is the call graph for this function:
|
static |
Define options function.
Definition at line 51 of file QwHelicityDecoder.cc.
References QwOptions::AddOptions().
Here is the call graph for this function:
|
overridevirtual |
| void QwHelicityDecoder::FillHDVariables | ( | uint32_t | data, |
| uint32_t | index ) |
Definition at line 535 of file QwHelicityDecoder.cc.
References fBit_Helicity, fBit_PairSync, fBit_PatSync, fBit_TStable, QwHelicityBase::fEventNumber, fEventPolarity, fEvtHistory_PairSync, fEvtHistory_PatSync, fEvtHistory_ReportedHelicity, fLast_Duration_TSettle, fLast_Duration_TStable, fNum_Pair_Sync, fNum_TStable_Fall, fPatHistory_ReportedHelicity, QwHelicityBase::fPatternNumber, QwHelicityBase::fPatternPhaseNumber, fReportedPatternHel, fSeed_Reported, fTime_since_TSettle, and fTime_since_TStable.
Referenced by ProcessEvBuffer().
Here is the caller graph for this function:
|
overridevirtual |
Fill the histograms for this subsystem.
Reimplemented from QwHelicityBase.
Definition at line 665 of file QwHelicityDecoder.cc.
References QwLog::endl(), QwHelicityBase::fActualPatternPolarity, QwHelicityBase::fEventNumber, QwHelicityBase::fEventNumberOld, QwHelicityBase::fHelicityActual, MQwHistograms::fHistograms, QwHelicityBase::fHistoType, QwHelicityBase::fPatternNumber, QwHelicityBase::fPatternNumberOld, QwHelicityBase::fPatternPhaseNumber, QwHelicityBase::fWord, QwHelicityBase::kHelNoSave, QwHelicityBase::kHelSaveMPS, QwHelicityBase::kHelSavePattern, and QwDebug.
Here is the call graph for this function:
|
overridevirtual |
Fill the tree vector.
Fill the tree export vector with the current event values.
| values | Output vector to be filled. |
Reimplemented from QwHelicityBase.
Definition at line 948 of file QwHelicityDecoder.cc.
References QwHelicityBase::fActualPatternPolarity, QwHelicityBase::fDelayedPatternPolarity, QwHelicityBase::fEventNumber, fEventPolarity, QwHelicityBase::fHelicityActual, QwHelicityBase::fHelicityDelayed, QwHelicityBase::fHelicityReported, QwHelicityBase::fHistoType, QwHelicityBase::fPatternNumber, QwHelicityBase::fPatternPhaseNumber, QwHelicityBase::fPatternSeed, QwHelicityBase::fPreviousPatternPolarity, fReportedPatternHel, QwHelicityBase::fTreeArrayIndex, QwHelicityBase::fWord, QwHelicityBase::kHelSaveMPS, QwHelicityBase::kHelSavePattern, and QwRootTreeBranchVector::SetValue().
Here is the call graph for this function:
|
inline |
|
inline |
|
overridevirtual |
Mandatory map file definition.
Reimplemented from QwHelicityBase.
Definition at line 274 of file QwHelicityDecoder.cc.
References QwParameterFile::EnableGreediness(), VQwSubsystem::fDetectorMaps, QwHelicityBase::fMaxPatternPhase, QwParameterFile::GetParamFileNameContents(), QwParameterFile::PopValue(), QwParameterFile::ReadNextLine(), VQwSubsystem::RegisterRocBankMarker(), and QwParameterFile::SetCommentChars().
Here is the call graph for this function:
|
overridevirtual |
Optional event cut file.
Reimplemented from QwHelicityBase.
Definition at line 310 of file QwHelicityDecoder.cc.
|
overridevirtual |
Mandatory parameter file definition.
Reimplemented from QwHelicityBase.
Definition at line 177 of file QwHelicityDecoder.cc.
| void QwHelicityDecoder::MergeCounters | ( | VQwSubsystem * | value | ) |
Definition at line 1171 of file QwHelicityDecoder.cc.
References Compare(), QwHelicityBase::fEventNumber, QwHelicityBase::fWord, QwHelicityDecoder(), and VQwSubsystem::VQwSubsystem().
Referenced by AccumulateRunningSum(), operator+=(), and Ratio().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Reimplemented from QwHelicityBase.
Definition at line 1136 of file QwHelicityDecoder.cc.
References CheckPatternNum(), QwLog::endl(), VQwSubsystem::GetName(), MergeCounters(), QwDebug, and VQwSubsystem::VQwSubsystem().
Here is the call graph for this function:
|
inlineoverridevirtual |
Reimplemented from QwHelicityBase.
Definition at line 93 of file QwHelicityDecoder.h.
References VQwSubsystem::VQwSubsystem().
Here is the call graph for this function:
|
overridevirtual |
Assignment Note: Must be called at the beginning of all subsystems routine call to operator=(VQwSubsystem *value) by VQwSubsystem::operator=(value)
Reimplemented from QwHelicityBase.
Definition at line 1088 of file QwHelicityDecoder.cc.
References Compare(), QwHelicityBase::fActualPatternPolarity, QwHelicityBase::fDelayedPatternPolarity, QwHelicityBase::fErrorFlag, QwHelicityBase::fEventNumber, QwHelicityBase::fEventNumberFirst, fEventPolarity, QwHelicityBase::fGoodHelicity, QwHelicityBase::fGoodPattern, QwHelicityBase::fHelicityActual, QwHelicityBase::fHelicityBitMinus, QwHelicityBase::fHelicityBitPlus, QwHelicityBase::fHelicityDelayed, QwHelicityBase::fHelicityReported, QwHelicityBase::fIgnoreHelicity, QwHelicityBase::fNumHelicityErrors, QwHelicityBase::fNumMissedEventBlocks, QwHelicityBase::fNumMissedGates, QwHelicityBase::fNumMultSyncErrors, QwHelicityBase::fPatternNumber, QwHelicityBase::fPatternNumberFirst, QwHelicityBase::fPatternPhaseNumber, QwHelicityBase::fPatternSeed, QwHelicityBase::fPreviousPatternPolarity, fReportedPatternHel, QwHelicityBase::fWord, VQwSubsystem::operator=(), QwHelicityDecoder(), and VQwSubsystem::VQwSubsystem().
Here is the call graph for this function:| void QwHelicityDecoder::PredictHelicity | ( | ) |
Definition at line 1033 of file QwHelicityDecoder.cc.
References QwHelicityBase::n_ranbits, and RunPredictor().
Referenced by ProcessEvent().
Here is the call graph for this function:
Here is the caller graph for this function:| void QwHelicityDecoder::Print | ( | ) | const |
Definition at line 252 of file QwHelicityDecoder.cc.
References QwLog::endl(), QwHelicityBase::fEventNumber, QwHelicityBase::fEventNumberOld, QwHelicityBase::fHelicityActual, QwHelicityBase::fHelicityDelayed, QwHelicityBase::fHelicityReported, QwHelicityBase::fMaxPatternPhase, QwHelicityBase::fPatternNumber, QwHelicityBase::fPatternNumberOld, QwHelicityBase::fPatternPhaseNumber, QwHelicityBase::fPatternPhaseNumberOld, and QwOut.
Here is the call graph for this function:
|
overridevirtual |
Reimplemented from QwHelicityBase.
Definition at line 172 of file QwHelicityDecoder.cc.
|
inlinevirtual |
TODO: The non-event-type-aware ProcessEvBuffer routine should be replaced with the event-type-aware version.
Reimplemented from QwHelicityBase.
Definition at line 69 of file QwHelicityDecoder.h.
References ProcessEvBuffer().
Referenced by ProcessEvBuffer().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Reimplemented from QwHelicityBase.
Definition at line 315 of file QwHelicityDecoder.cc.
References FillHDVariables(), fNumDecoderWords, VQwSubsystem::GetSubbankIndex(), and VQwSubsystem::SetDataLoaded().
Here is the call graph for this function:
|
overridevirtual |
Implements VQwSubsystem.
Definition at line 188 of file QwHelicityDecoder.cc.
References QwLog::endl(), fBit_Helicity, QwHelicityBase::fErrorFlag, QwHelicityBase::fEventNumber, QwHelicityBase::fEventNumberOld, QwHelicityBase::fHelicityActual, QwHelicityBase::fHelicityBitMinus, QwHelicityBase::fHelicityBitPlus, QwHelicityBase::fHelicityDelayed, QwHelicityBase::fHelicityReported, QwHelicityBase::fIgnoreHelicity, QwHelicityBase::fMaxPatternPhase, QwHelicityBase::fMinPatternPhase, QwHelicityBase::fNumMissedEventBlocks, QwHelicityBase::fNumMissedGates, QwHelicityBase::fPatternNumber, QwHelicityBase::fPatternNumberOld, QwHelicityBase::fPatternPhaseNumber, QwHelicityBase::fPatternSeed, fSeed_Reported, QwHelicityBase::fUsePredictor, VQwSubsystem::HasDataLoaded(), PredictHelicity(), and QwError.
Here is the call graph for this function:
|
overridevirtual |
Process the command line options.
Reimplemented from QwHelicityBase.
Definition at line 75 of file QwHelicityDecoder.cc.
References QwHelicityBase::BuildHelicityBitPattern(), QwLog::endl(), QwHelicityBase::fHelicityBitPattern, QwHelicityBase::fHelicityDelay, QwHelicityBase::fMaxPatternPhase, QwHelicityBase::fPatternPhaseOffset, QwHelicityBase::fRandBits, QwHelicityBase::fSuppressMPSErrorMsgs, QwHelicityBase::fUsePredictor, QwOptions::GetValue(), QwOptions::HasValue(), kDefaultHelicityBitPattern, QwError, QwMessage, SetHelicityBitPattern(), and SetHelicityDelay().
Here is the call graph for this function:
|
overridevirtual |
Reimplemented from QwHelicityBase.
Definition at line 1186 of file QwHelicityDecoder.cc.
References CheckPatternNum(), MergeCounters(), and VQwSubsystem::VQwSubsystem().
Here is the call graph for this function:| void QwHelicityDecoder::RunPredictor | ( | ) |
Update the random seed if the new event is from a different pattern. Check the difference between old pattern number and the new one and to see how many patterns we have missed or skipped. Then loop back to get the correct pattern polarities.
set the polarity of the current pattern to be equal to the reported helicity,
then use it as the delayed helicity,
if the helicity is delayed by a positive number of patterns then loop the delayed ranseed backward to get the ranseed for the actual helicity
, get the pattern polarity for the actual pattern using that actual ranseed.
Definition at line 982 of file QwHelicityDecoder.cc.
References QwLog::endl(), QwHelicityBase::fActualPatternPolarity, QwHelicityBase::fDelayedPatternPolarity, QwHelicityBase::fEventNumber, fEventPolarity, QwHelicityBase::fHelicityActual, QwHelicityBase::fHelicityDelay, QwHelicityBase::fHelicityDelayed, QwHelicityBase::fHelicityReported, QwHelicityBase::fMinPatternPhase, QwHelicityBase::fPatternNumber, QwHelicityBase::fPatternPhaseNumber, QwHelicityBase::fPreviousPatternPolarity, fSeed_Reported, QwHelicityBase::GetRandbit30(), QwHelicityBase::iseed_Actual, QwHelicityBase::iseed_Delayed, QwDebug, and QwError.
Referenced by PredictHelicity().
Here is the call graph for this function:
Here is the caller graph for this function:| void QwHelicityDecoder::SetFirstBits | ( | UInt_t | nbits, |
| UInt_t | firstbits ) |
Definition at line 589 of file QwHelicityDecoder.cc.
References QwHelicityBase::fHelicityDelay, QwHelicityBase::GetRandbit(), QwHelicityBase::GetRandomSeed(), QwHelicityBase::iseed_Actual, and QwHelicityBase::iseed_Delayed.
Here is the call graph for this function:| void QwHelicityDecoder::SetHelicityBitPattern | ( | TString | hex | ) |
Definition at line 1071 of file QwHelicityDecoder.cc.
References QwLog::endl(), QwHelicityBase::fHelicityBitPattern, kDefaultHelicityBitPattern, and QwMessage.
Referenced by ProcessOptions().
Here is the call graph for this function:
Here is the caller graph for this function:| void QwHelicityDecoder::SetHelicityDelay | ( | Int_t | delay | ) |
Sets the number of bits the helicity reported gets delayed with. We predict helicity only if there is a non-zero pattern delay given.
Definition at line 1048 of file QwHelicityDecoder.cc.
References QwLog::endl(), QwHelicityBase::fHelicityDelay, QwHelicityBase::fUsePredictor, QwError, and QwWarning.
Referenced by ProcessOptions().
Here is the call graph for this function:
Here is the caller graph for this function:| void QwHelicityDecoder::SetHistoTreeSave | ( | const TString & | prefix | ) |
Definition at line 601 of file QwHelicityDecoder.cc.
References QwHelicityBase::fHistoType, QwHelicityBase::kHelNoSave, QwHelicityBase::kHelSaveMPS, and QwHelicityBase::kHelSavePattern.
Referenced by ConstructBranch(), ConstructBranch(), ConstructBranchAndVector(), and ConstructHistograms().
Here is the caller graph for this function:
|
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
Reimplemented from QwHelicityBase.
Definition at line 64 of file QwHelicityDecoder.h.
References VQwSubsystem::VQwSubsystem().
Here is the call graph for this function:| Int_t QwHelicityDecoder::fBit_Helicity |
Definition at line 153 of file QwHelicityDecoder.h.
Referenced by FillHDVariables(), and ProcessEvent().
| Int_t QwHelicityDecoder::fBit_PairSync |
Definition at line 154 of file QwHelicityDecoder.h.
Referenced by FillHDVariables().
| Int_t QwHelicityDecoder::fBit_PatSync |
Definition at line 155 of file QwHelicityDecoder.h.
Referenced by FillHDVariables().
| Int_t QwHelicityDecoder::fBit_TStable |
Definition at line 156 of file QwHelicityDecoder.h.
Referenced by FillHDVariables().
| Int_t QwHelicityDecoder::fEventPolarity |
Definition at line 151 of file QwHelicityDecoder.h.
Referenced by ConstructBranch(), ConstructBranch(), FillHDVariables(), FillTreeVector(), operator=(), and RunPredictor().
| UInt_t QwHelicityDecoder::fEvtHistory_PairSync |
Definition at line 158 of file QwHelicityDecoder.h.
Referenced by FillHDVariables().
| UInt_t QwHelicityDecoder::fEvtHistory_PatSync |
Definition at line 157 of file QwHelicityDecoder.h.
Referenced by FillHDVariables().
| UInt_t QwHelicityDecoder::fEvtHistory_ReportedHelicity |
Definition at line 159 of file QwHelicityDecoder.h.
Referenced by FillHDVariables().
| Int_t QwHelicityDecoder::fLast_Duration_TSettle |
Definition at line 150 of file QwHelicityDecoder.h.
Referenced by FillHDVariables().
| Int_t QwHelicityDecoder::fLast_Duration_TStable |
Definition at line 149 of file QwHelicityDecoder.h.
Referenced by FillHDVariables().
| Int_t QwHelicityDecoder::fNum_Pair_Sync |
Definition at line 146 of file QwHelicityDecoder.h.
Referenced by FillHDVariables().
| Int_t QwHelicityDecoder::fNum_TStable_Fall |
Definition at line 145 of file QwHelicityDecoder.h.
Referenced by FillHDVariables().
|
static |
Definition at line 164 of file QwHelicityDecoder.h.
Referenced by ProcessEvBuffer().
| UInt_t QwHelicityDecoder::fPatHistory_ReportedHelicity |
Definition at line 160 of file QwHelicityDecoder.h.
Referenced by FillHDVariables().
| Int_t QwHelicityDecoder::fReportedPatternHel |
Definition at line 152 of file QwHelicityDecoder.h.
Referenced by ConstructBranch(), ConstructBranch(), FillHDVariables(), FillTreeVector(), and operator=().
| UInt_t QwHelicityDecoder::fSeed_Reported |
Definition at line 144 of file QwHelicityDecoder.h.
Referenced by FillHDVariables(), ProcessEvent(), and RunPredictor().
| Int_t QwHelicityDecoder::fTime_since_TSettle |
Definition at line 148 of file QwHelicityDecoder.h.
Referenced by FillHDVariables().
| Int_t QwHelicityDecoder::fTime_since_TStable |
Definition at line 147 of file QwHelicityDecoder.h.
Referenced by FillHDVariables().
|
static |
Definition at line 131 of file QwHelicityDecoder.h.
|
static |
Definition at line 31 of file QwHelicityDecoder.h.
Referenced by ProcessOptions(), and SetHelicityBitPattern().
|
static |
Definition at line 136 of file QwHelicityDecoder.h.
Referenced by ClearEventData().