QwAnalysis
|
#include <QwHelicity.h>
Public Member Functions | |
QwHelicity (const TString &name) | |
Constructor with name. More... | |
QwHelicity (const QwHelicity &source) | |
Copy constructor. More... | |
virtual | ~QwHelicity () |
Virtual destructor. More... | |
void | ProcessOptions (QwOptions &options) |
Process the command line options. More... | |
Int_t | LoadChannelMap (TString mapfile) |
Mandatory map file definition. More... | |
Int_t | LoadInputParameters (TString pedestalfile) |
Mandatory parameter file definition. More... | |
Int_t | LoadEventCuts (TString filename) |
Load the event cuts file. More... | |
Bool_t | ApplySingleEventCuts () |
Apply the single event cuts. More... | |
void | IncrementErrorCounters () |
Increment the error counters. More... | |
void | PrintErrorCounters () const |
Report the number of events failed due to HW and event cut failures. More... | |
UInt_t | GetEventcutErrorFlag () |
Return the error flag to the top level routines related to stability checks and ErrorFlag updates. More... | |
void | UpdateErrorFlag (const VQwSubsystem *ev_error) |
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 More... | |
Int_t | ProcessConfigurationBuffer (const UInt_t roc_id, const UInt_t bank_id, UInt_t *buffer, UInt_t num_words) |
Int_t | ProcessEvBuffer (const UInt_t roc_id, const UInt_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. More... | |
Int_t | ProcessEvBuffer (UInt_t ev_type, const UInt_t roc_id, const UInt_t bank_id, UInt_t *buffer, UInt_t num_words) |
void | ProcessEventUserbitMode () |
void | ProcessEventInputRegisterMode () |
void | ProcessEventInputMollerMode () |
void | EncodeEventData (std::vector< UInt_t > &buffer) |
virtual void | ClearEventData () |
virtual void | ProcessEvent () |
UInt_t | GetRandomSeedActual () |
UInt_t | GetRandomSeedDelayed () |
void | PredictHelicity () |
void | RunPredictor () |
void | SetHelicityDelay (Int_t delay) |
void | SetHelicityBitPattern (UInt_t bits) |
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) |
VQwSubsystem & | operator= (VQwSubsystem *value) |
Assignment Note: Must be called at the beginning of all subsystems routine call to operator=(VQwSubsystem *value) by VQwSubsystem::operator=(value) More... | |
VQwSubsystem & | operator+= (VQwSubsystem *value) |
void | Sum (VQwSubsystem *value1, VQwSubsystem *value2) |
VQwSubsystem & | operator-= (VQwSubsystem *value) |
void | Scale (Double_t factor) |
void | Difference (VQwSubsystem *value1, VQwSubsystem *value2) |
void | Ratio (VQwSubsystem *numer, VQwSubsystem *denom) |
void | AccumulateRunningSum (VQwSubsystem *value) |
Update the running sums for devices. More... | |
void | DeaccumulateRunningSum (VQwSubsystem *value) |
remove one entry from the running sums for devices More... | |
void | CalculateRunningAverage () |
Calculate the average for all good events. More... | |
void | ConstructHistograms (TDirectory *folder, TString &prefix) |
Construct the histograms for this subsystem in a folder with a prefix. More... | |
void | FillHistograms () |
Fill the histograms for this subsystem. More... | |
void | ConstructBranchAndVector (TTree *tree, TString &prefix, std::vector< Double_t > &values) |
Construct the branch and tree vector. More... | |
void | ConstructBranch (TTree *tree, TString &prefix) |
Construct the branch and tree vector. More... | |
void | ConstructBranch (TTree *tree, TString &prefix, QwParameterFile &trim_file) |
Construct the branch and tree vector based on the trim file. More... | |
void | FillTreeVector (std::vector< Double_t > &values) const |
Fill the tree vector. More... | |
void | FillDB (QwParityDB *db, TString type) |
Fill the database. More... | |
void | FillErrDB (QwParityDB *db, TString datatype) |
void | Print () const |
Bool_t | IsHelicityIgnored () |
virtual Bool_t | IsGoodHelicity () |
![]() | |
VQwSubsystemParity (const TString &name) | |
Constructor with name. More... | |
VQwSubsystemParity (const VQwSubsystemParity &source) | |
Copy constructor. More... | |
virtual | ~VQwSubsystemParity () |
Default destructor. More... | |
virtual void | FillDB_MPS (QwParityDB *db, TString type) |
Fill the database with MPS-based variables Note that most subsystems don't need to do this. More... | |
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. More... | |
virtual void | Blind (const QwBlinder *blinder) |
Blind the asymmetry of this subsystem. More... | |
virtual void | Blind (const QwBlinder *blinder, const VQwSubsystemParity *subsys) |
Blind the difference of this subsystem. More... | |
virtual void | PrintValue () const |
Print values of all channels. More... | |
virtual void | WritePromptSummary (QwPromptSummary *ps, TString type) |
virtual Bool_t | CheckForEndOfBurst () const |
![]() | |
VQwSubsystem (const TString &name) | |
Constructor with name. More... | |
VQwSubsystem (const VQwSubsystem &orig) | |
Copy constructor by object. More... | |
virtual | ~VQwSubsystem () |
Default destructor. More... | |
TString | GetSubsystemName () const |
Bool_t | HasDataLoaded () const |
void | SetParent (QwSubsystemArray *parent) |
Set the parent of this subsystem to the specified array. More... | |
QwSubsystemArray * | GetParent (const unsigned int parent=0) const |
Get the parent of this subsystem. More... | |
VQwSubsystem * | GetSibling (const std::string &name) const |
Get the sibling with specified name. More... | |
Bool_t | PublishInternalValue (const TString &name, const TString &desc, const VQwHardwareChannel *value) const |
Publish a variable name to the parent subsystem array. More... | |
virtual Bool_t | PublishInternalValues () const |
Publish all variables of the subsystem. More... | |
virtual Bool_t | PublishByRequest (TString device_name) |
Try to publish an internal variable matching the submitted name. More... | |
Bool_t | RequestExternalValue (const TString &name, VQwHardwareChannel *value) const |
Request a named value which is owned by an external subsystem; the request will be handled by the parent subsystem array. More... | |
virtual const VQwHardwareChannel * | ReturnInternalValue (const TString &name) const |
Return a pointer to a varialbe to the parent subsystem array to be delivered to a different subsystem. More... | |
virtual Bool_t | ReturnInternalValue (const TString &name, VQwHardwareChannel *value) const |
Return a named value to the parent subsystem array to be delivered to a different subsystem. More... | |
virtual std::vector< TString > | GetParamFileNameList () |
virtual std::map< TString, TString > | GetDetectorMaps () |
virtual Int_t | LoadDetectorMaps (QwParameterFile &file) |
Parse parameter file to find the map files. More... | |
virtual Int_t | LoadGeometryDefinition (TString mapfile) |
Optional geometry definition. More... | |
virtual Int_t | LoadCrosstalkDefinition (TString mapfile) |
Optional crosstalk definition. More... | |
void | SetEventTypeMask (const UInt_t mask) |
Set event type mask. More... | |
UInt_t | GetEventTypeMask () const |
Get event type mask. More... | |
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. More... | |
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. More... | |
virtual void | AtEndOfEventLoop () |
Perform actions at the end of the event loop. More... | |
virtual void | RandomizeEventData (int helicity=0, double time=0.0) |
virtual void | PrintInfo () const |
Print some information about the subsystem. More... | |
virtual void | PrintDetectorMaps (Bool_t status) const |
virtual void | ConstructHistograms () |
Construct the histograms for this subsystem. More... | |
virtual void | ConstructHistograms (TDirectory *folder) |
Construct the histograms for this subsystem in a folder. More... | |
virtual void | ConstructHistograms (TString &prefix) |
Construct the histograms for this subsystem with a prefix. More... | |
virtual void | ConstructBranchAndVector (TTree *tree, std::vector< Double_t > &values) |
Construct the branch and tree vector. More... | |
virtual void | ConstructTree () |
Construct the tree for this subsystem. More... | |
virtual void | ConstructTree (TDirectory *folder) |
Construct the tree for this subsystem in a folder. More... | |
virtual void | ConstructTree (TString &prefix) |
Construct the tree for this subsystem with a prefix. More... | |
virtual void | ConstructTree (TDirectory *folder, TString &prefix) |
Construct the tree for this subsystem in a folder with a prefix. More... | |
virtual void | FillTree () |
Fill the tree for this subsystem. More... | |
virtual void | DeleteTree () |
Delete the tree for this subsystem. More... | |
![]() | |
void | ShareHistograms (const MQwHistograms *source) |
Share histogram pointers between objects. More... | |
![]() | |
virtual | ~MQwCloneable () |
Virtual destructor. More... | |
virtual VQwSubsystem * | Clone () const |
Concrete clone method. More... | |
const VQwFactory< VQwSubsystem > * | Factory () const |
Factory getter. More... | |
![]() | |
virtual | ~VQwCloneable () |
Virtual destructor. More... | |
std::string | GetClassName () const |
Get demangled name of this class. More... | |
Static Public Member Functions | |
static void | DefineOptions (QwOptions &options) |
Define options function. More... | |
![]() | |
static void | DefineOptions () |
Define options function (note: no virtual static functions in C++) More... | |
![]() | |
static VQwSubsystem * | Create (const std::string &name) |
Object creation. More... | |
static QwHelicity * | Cast (QwHelicity *type) |
Object dynamic cast. More... | |
Protected Types | |
enum | HelicityRootSavingType { kHelSaveMPS = 0, kHelSavePattern, kHelNoSave } |
enum | HelicityEncodingType { kHelUserbitMode =0, kHelInputRegisterMode, kHelLocalyMadeUp, kHelInputMollerMode } |
enum | InputRegisterBits { kInputReg_HelPlus = 0x1, kInputReg_HelMinus = 0x2, kInputReg_PatternSync = 0x4 } |
Protected Member Functions | |
Bool_t | CheckIORegisterMask (const UInt_t &ioregister, const UInt_t &mask) const |
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 () |
![]() | |
void | UpdatePublishedValue (const TString &name, VQwHardwareChannel *data_channel) |
void | ClearAllBankRegistrations () |
Clear all registration of ROC and Bank IDs for this subsystem. More... | |
virtual Int_t | RegisterROCNumber (const UInt_t roc_id, const UInt_t bank_id=0) |
Tell the object that it will decode data from this ROC and sub-bank. More... | |
Int_t | RegisterSubbank (const UInt_t bank_id) |
Tell the object that it will decode data from this sub-bank in the ROC currently open for registration. More... | |
Int_t | GetSubbankIndex () const |
Int_t | GetSubbankIndex (const UInt_t roc_id, const UInt_t bank_id) const |
void | SetDataLoaded (Bool_t flag) |
Int_t | FindIndex (const std::vector< UInt_t > &myvec, const UInt_t value) const |
Bool_t | Compare (VQwSubsystem *source) |
![]() | |
MQwHistograms () | |
Default constructor. More... | |
MQwHistograms (const MQwHistograms &source) | |
Copy constructor. More... | |
virtual | ~MQwHistograms () |
Virtual destructor. More... | |
virtual MQwHistograms & | operator= (const MQwHistograms &value) |
void | Fill_Pointer (TH1_ptr hist_ptr, Double_t value) |
void | AddHistogram (TH1 *h) |
Register a histogram. More... | |
Protected Attributes | |
UInt_t | fInputReg_FakeMPS |
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. More... | |
Int_t | fDelayedPatternPolarity |
Reported polarity of the current pattern. More... | |
Int_t | fPreviousPatternPolarity |
True polarity of the previous pattern. More... | |
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 |
Bool_t | fSuppressMPSErrorMsgs |
![]() | |
std::map< TString, VQwHardwareChannel * > | fPublishedInternalValues |
Map of published internal values. More... | |
std::vector< std::vector < TString > > | fPublishList |
List of parameters to be published (loaded at the channel map) More... | |
TString | fSystemName |
Name of this subsystem. More... | |
UInt_t | fEventTypeMask |
Mask of event types. More... | |
Bool_t | fIsDataLoaded |
Has this subsystem gotten data to be processed? More... | |
std::vector< TString > | fDetectorMapsNames |
std::map< TString, TString > | fDetectorMaps |
Int_t | fCurrentROC_ID |
ROC ID that is currently being processed. More... | |
Int_t | fCurrentBank_ID |
Bank ID that is currently being processed. More... | |
std::vector< UInt_t > | fROC_IDs |
Vector of ROC IDs associated with this subsystem. More... | |
std::vector< std::vector < UInt_t > > | fBank_IDs |
Vector of Bank IDs per ROC ID associated with this subsystem. More... | |
std::vector< QwSubsystemArray * > | fArrays |
Vector of pointers to subsystem arrays that contain this subsystem. More... | |
![]() | |
std::vector< TH1_ptr > | fHistograms |
Histograms associated with this data element. More... | |
Static Protected Attributes | |
static const UInt_t | kInputReg_FakeMPS = 0x8000 |
Default mask for fake MPS latch bit. More... | |
static const UInt_t | kDefaultHelicityBitPattern = 0x69 |
static const Bool_t | kDEBUG =kFALSE |
static const Int_t | kUndefinedHelicity = -9999 |
Private Member Functions | |
QwHelicity () | |
Private default constructor (not implemented, will throw linker error on use) More... | |
UInt_t | BuildHelicityBitPattern (Int_t patternsize) |
unsigned int | parity (unsigned int v) |
Definition at line 38 of file QwHelicity.h.
|
protected |
Enumerator | |
---|---|
kHelUserbitMode | |
kHelInputRegisterMode | |
kHelLocalyMadeUp | |
kHelInputMollerMode |
Definition at line 155 of file QwHelicity.h.
|
protected |
Enumerator | |
---|---|
kHelSaveMPS | |
kHelSavePattern | |
kHelNoSave |
Definition at line 151 of file QwHelicity.h.
|
protected |
Enumerator | |
---|---|
kInputReg_HelPlus | |
kInputReg_HelMinus | |
kInputReg_PatternSync |
Definition at line 161 of file QwHelicity.h.
|
private |
Private default constructor (not implemented, will throw linker error on use)
QwHelicity::QwHelicity | ( | const TString & | name | ) |
Constructor with name.
Definition at line 40 of file QwHelicity.cc.
References ClearErrorCounters(), fActualPatternPolarity, fDelayedPatternPolarity, fEventNumber, fEventNumberOld, fGoodHelicity, fGoodPattern, fHelicityActual, fHelicityBitMinus, fHelicityBitPlus, fHelicityDecodingMode, fHelicityDelay, fHelicityDelayed, fHelicityReported, fInputReg_FakeMPS, fPatternNumber, fPatternNumberOld, fPatternPhaseNumber, fPatternPhaseNumberOld, kEventTypeHelMinus, kEventTypeHelPlus, kInputReg_FakeMPS, kUndefinedHelicity, and kUserbit.
QwHelicity::QwHelicity | ( | const QwHelicity & | source | ) |
Copy constructor.
Definition at line 79 of file QwHelicity.cc.
References ClearErrorCounters(), fActualPatternPolarity, fDelayedPatternPolarity, fEventNumber, fEventNumberFirst, fEventNumberOld, fEventType, fGoodHelicity, fGoodPattern, fHelicityActual, fHelicityBitMinus, fHelicityBitPlus, fHelicityDecodingMode, fHelicityDelay, fHelicityDelayed, fHelicityInfoOK, fHelicityReported, fIgnoreHelicity, fInputReg_FakeMPS, fMaxPatternPhase, fMinPatternPhase, fNumHelicityErrors, fNumMissedEventBlocks, fNumMissedGates, fNumMultSyncErrors, fPatternNumber, fPatternNumberFirst, fPatternNumberOld, fPatternPhaseNumber, fPatternPhaseNumberOld, fPatternPhaseOffset, fRandBits, fUsePredictor, fWord, iseed_Actual, iseed_Delayed, kEventTypeHelMinus, kEventTypeHelPlus, kUndefinedHelicity, kUserbit, and n_ranbits.
|
inlinevirtual |
|
inlinevirtual |
Update the running sums for devices.
Implements VQwSubsystemParity.
Definition at line 120 of file QwHelicity.h.
|
virtual |
Apply the single event cuts.
Implements VQwSubsystemParity.
Definition at line 397 of file QwHelicity.cc.
|
private |
Definition at line 2028 of file QwHelicity.cc.
References QwLog::endl(), kDefaultHelicityBitPattern, QwDebug, QwError, and SetHelicityBitPattern().
Referenced by ProcessOptions().
|
inlinevirtual |
Calculate the average for all good events.
Implements VQwSubsystemParity.
Definition at line 124 of file QwHelicity.h.
|
inlineprotected |
Definition at line 146 of file QwHelicity.h.
Referenced by ProcessEventInputRegisterMode().
|
inlineprotected |
Definition at line 270 of file QwHelicity.h.
References fNumHelicityErrors, fNumMissedEventBlocks, fNumMissedGates, and fNumMultSyncErrors.
Referenced by QwHelicity().
|
virtual |
Reset data by setting the old event number, pattern number and pattern phase to the values of the previous event.
Clear out helicity variables
Set the new event number and pattern number to -1. If we are not reading these correctly from the data stream, -1 will allow us to identify that.
Implements VQwSubsystem.
Reimplemented in QwFakeHelicity.
Definition at line 347 of file QwHelicity.cc.
References fEventNumber, fEventNumberFirst, fEventNumberOld, fHelicityActual, fHelicityBitMinus, fHelicityBitPlus, fHelicityDelayed, fHelicityReported, fPatternNumber, fPatternNumberFirst, fPatternNumberOld, fPatternPhaseNumber, fPatternPhaseNumberOld, fWord, kUndefinedHelicity, and VQwSubsystem::SetDataLoaded().
|
protectedvirtual |
Reimplemented in QwFakeHelicity.
Definition at line 1670 of file QwHelicity.cc.
References CollectRandBits24(), CollectRandBits30(), and fRandBits.
Referenced by PredictHelicity().
|
protected |
Definition at line 1684 of file QwHelicity.cc.
References QwLog::endl(), fActualPatternPolarity, fDelayedPatternPolarity, fEventNumber, fGoodHelicity, fHelicityActual, fHelicityDelay, fHelicityDelayed, fHelicityReported, fMinPatternPhase, fPatternNumber, fPatternPhaseNumber, fPreviousPatternPolarity, GetRandbit(), GetRandomSeed(), IsContinuous(), iseed_Actual, iseed_Delayed, n_ranbits, QwDebug, QwError, QwMessage, and ResetPredictor().
Referenced by CollectRandBits().
|
protected |
Starting to collect 30 bits/helicity state to get the random seed for the 30 bit helicity predictor. These bits (1/0) are the reported helicity states of the first event of each new pattern ot the so called pattern polarity.
If we have finished collecting the bits then ignore the rest of this funciton and return true. No need to recollect!
If we are still collecting the bits, make sure we collect them from only the events with the minimum pattern phase.
If the events are continuous, start to make the ranseed for the helicity pattern we are getting which is the delayed helicity.
Make sure we are at the beging of a valid pattern.
If we got the 30th bit,
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.
If we have a negative delay. Reset the predictor.
If all is well so far, set the actual pattern polarity as the actual helicity.
while collecting the seed, we encounter non continuous events.Discard bit. Reset the predition
Definition at line 1773 of file QwHelicity.cc.
References QwLog::endl(), fActualPatternPolarity, fDelayedPatternPolarity, fEventNumber, fGoodHelicity, fHelicityActual, fHelicityDelay, fHelicityDelayed, fHelicityReported, fMinPatternPhase, fPatternNumber, fPatternPhaseNumber, fPreviousPatternPolarity, GetRandbit(), IsContinuous(), iseed_Actual, iseed_Delayed, n_ranbits, QwDebug, QwError, QwMessage, QwWarning, and ResetPredictor().
Referenced by CollectRandBits().
|
protected |
Definition at line 2013 of file QwHelicity.cc.
References fWord.
Referenced by operator+=(), operator=(), and Sum().
|
virtual |
Construct the branch and tree vector.
Implements VQwSubsystem.
Definition at line 1303 of file QwHelicity.cc.
References fActualPatternPolarity, fDelayedPatternPolarity, fEventNumber, fHelicityActual, fHelicityDelayed, fHelicityReported, fHistoType, fPatternNumber, fPatternPhaseNumber, fPatternSeed, fPreviousPatternPolarity, fWord, kHelNoSave, kHelSaveMPS, kHelSavePattern, and SetHistoTreeSave().
|
virtual |
Construct the branch and tree vector based on the trim file.
Implements VQwSubsystem.
Definition at line 1362 of file QwHelicity.cc.
References fActualPatternPolarity, fDelayedPatternPolarity, fEventNumber, fHelicityActual, fHelicityDelayed, fHelicityReported, fHistoType, fPatternNumber, fPatternPhaseNumber, fPatternSeed, fPreviousPatternPolarity, fWord, kHelNoSave, kHelSaveMPS, kHelSavePattern, and SetHistoTreeSave().
|
virtual |
Construct the branch and tree vector.
Implements VQwSubsystem.
Definition at line 1222 of file QwHelicity.cc.
References fHistoType, fTreeArrayIndex, fWord, kHelNoSave, kHelSaveMPS, kHelSavePattern, and SetHistoTreeSave().
|
virtual |
Construct the histograms for this subsystem in a folder with a prefix.
Implements VQwSubsystem.
Definition at line 1120 of file QwHelicity.cc.
References QwHistogramHelper::Construct1DHist(), QwLog::endl(), MQwHistograms::fHistograms, fHistoType, fWord, kHelNoSave, kHelSaveMPS, kHelSavePattern, QwError, and SetHistoTreeSave().
|
inlinevirtual |
remove one entry from the running sums for devices
Implements VQwSubsystemParity.
Definition at line 122 of file QwHelicity.h.
|
static |
Define options function.
Definition at line 149 of file QwHelicity.cc.
References QwOptions::AddOptions(), and default_bool_value.
|
virtual |
Implements VQwSubsystemParity.
Definition at line 2000 of file QwHelicity.cc.
|
virtual |
Reimplemented from VQwSubsystem.
Definition at line 714 of file QwHelicity.cc.
References QwLog::endl(), VQwSubsystem::fCurrentBank_ID, VQwSubsystem::fCurrentROC_ID, fEventNumber, fHelicityDecodingMode, fHelicityDelayed, fMinPatternPhase, fPatternNumber, fPatternPhaseNumber, fPatternPhaseOffset, kHelInputRegisterMode, kHelUserbitMode, kInputReg_HelMinus, kInputReg_HelPlus, kInputReg_PatternSync, and QwWarning.
|
virtual |
Fill the database.
Reimplemented from VQwSubsystemParity.
Definition at line 1454 of file QwHelicity.cc.
References QwDatabase::Connect(), QwDatabase::Disconnect(), and QwDatabase::Query().
|
virtual |
Reimplemented from VQwSubsystemParity.
Definition at line 1467 of file QwHelicity.cc.
|
virtual |
Fill the histograms for this subsystem.
Implements VQwSubsystem.
Definition at line 1171 of file QwHelicity.cc.
References QwLog::endl(), fActualPatternPolarity, fEventNumber, fEventNumberOld, fHelicityActual, MQwHistograms::fHistograms, fHistoType, fPatternNumber, fPatternNumberOld, fPatternPhaseNumber, fWord, kHelNoSave, kHelSaveMPS, kHelSavePattern, and QwDebug.
|
virtual |
Fill the tree vector.
Implements VQwSubsystem.
Definition at line 1423 of file QwHelicity.cc.
References fActualPatternPolarity, fDelayedPatternPolarity, fEventNumber, fHelicityActual, fHelicityDelayed, fHelicityReported, fHistoType, fPatternNumber, fPatternPhaseNumber, fPatternSeed, fPreviousPatternPolarity, fTreeArrayIndex, fWord, kHelSaveMPS, and kHelSavePattern.
|
virtual |
Return the error flag to the top level routines related to stability checks and ErrorFlag updates.
Implements VQwSubsystemParity.
Definition at line 435 of file QwHelicity.cc.
Long_t QwHelicity::GetEventNumber | ( | ) |
Definition at line 1079 of file QwHelicity.cc.
References fEventNumber.
Referenced by QwHelicityPattern::LoadEventData().
Int_t QwHelicity::GetHelicityActual | ( | ) |
Definition at line 1064 of file QwHelicity.cc.
References fHelicityActual.
Referenced by QwHelicityPattern::LoadEventData(), and main().
Int_t QwHelicity::GetHelicityDelayed | ( | ) |
Definition at line 1069 of file QwHelicity.cc.
References fHelicityDelayed.
Referenced by main().
Int_t QwHelicity::GetHelicityReported | ( | ) |
|
inline |
Definition at line 100 of file QwHelicity.h.
References fMaxPatternPhase.
Referenced by QwHelicityPattern::QwHelicityPattern().
|
inline |
Definition at line 103 of file QwHelicity.h.
References fMinPatternPhase.
Referenced by QwHelicityPattern::LoadEventData().
Long_t QwHelicity::GetPatternNumber | ( | ) |
Definition at line 1074 of file QwHelicity.cc.
References fPatternNumber.
Referenced by QwHelicityPattern::LoadEventData().
Int_t QwHelicity::GetPhaseNumber | ( | ) |
Definition at line 1084 of file QwHelicity.cc.
References fPatternPhaseNumber.
Referenced by QwHelicityPattern::LoadEventData(), and main().
|
protectedvirtual |
Reimplemented in QwFakeHelicity.
Definition at line 1473 of file QwHelicity.cc.
References fRandBits, GetRandbit24(), and GetRandbit30().
Referenced by CollectRandBits24(), CollectRandBits30(), RunPredictor(), and SetFirstBits().
|
protected |
This is a 24 bit random bit generator according to the "new" algorithm described in "G0 Helicity Digital Controls" by E. Stangland, R. Flood, H. Dong.
The helicity board uses a maximum-length linear feedback shift registers for the generation of a pseudo-random sequence of bits. The length of the register (24 bits or 30 bits) defines the length before a sequence is repeated: 2^n - 1.
For a mathematical introduction to the generation of pseudo-random numbers with maximum-length linear feedback shift registers (LFSR), see the following web references: http://en.wikipedia.org/wiki/Linear_feedback_shift_register http://www.newwaveinstruments.com/resources/articles/m_sequence_linear_feedback_shift_register_lfsr.htm
In particular, the used solutions are to place XNOR taps at the bits 24 stages, 4 taps: (47 sets) [24, 23, 21, 20] 30 stages, 4 taps: (104 sets) [30, 29, 28, 7]
The 24 stage solution we use has been mirrored by transforming [m, A, B, C] into [m, m-C, m-B, m-A]. This goes through the sequence in the opposite direction.
Definition at line 1484 of file QwHelicity.cc.
References QwLog::endl(), and QwError.
Referenced by QwFakeHelicity::GetRandbit(), and GetRandbit().
|
protected |
Definition at line 1541 of file QwHelicity.cc.
References QwLog::endl(), and QwError.
Referenced by GetRandbit().
|
protected |
This the random seed generator used in G0 (L.Jianglai) Here we get the 24 random bits and derive the randome seed from that. randome seed : b24 b23 b22.....b2 b1 first 24 random bit from this seed: h1 h2 h3 ....h23 h24 we have, b23 = h1, b22 = h2,... b5 = h20, h21^b24 = b4 , h3^b24^b23 = b3 ,h23^b23^b22 = b2, h24^b22^b24 = b1. Thus by using h1,...h24, we can derive the b24,..b1 of the randseed.
assign the values in the h aray and into the sead
Definition at line 1562 of file QwHelicity.cc.
References QwLog::endl(), and QwDebug.
Referenced by CollectRandBits24(), and SetFirstBits().
|
inline |
Definition at line 86 of file QwHelicity.h.
References iseed_Actual.
Referenced by main().
|
inline |
Definition at line 87 of file QwHelicity.h.
References iseed_Delayed.
Referenced by main().
|
virtual |
Increment the error counters.
TODO: Implement QwHelicity::IncrementErrorCounters()
Implements VQwSubsystemParity.
Definition at line 403 of file QwHelicity.cc.
|
protected |
Definition at line 239 of file QwHelicity.cc.
References IsGoodEventNumber(), IsGoodPatternNumber(), and IsGoodPhaseNumber().
Referenced by CollectRandBits24(), and CollectRandBits30().
|
protected |
Definition at line 267 of file QwHelicity.cc.
References QwLog::endl(), fEventNumber, fEventNumberOld, Print(), and QwWarning.
Referenced by IsContinuous().
|
virtual |
We are not ignoring the helicity, and the helicities do not match. Check phase number to see if its a new pattern.
Reimplemented in QwFakeHelicity.
Definition at line 314 of file QwHelicity.cc.
References QwLog::endl(), fEventNumber, fGoodHelicity, fHelicityActual, fHelicityDelayed, fHelicityReported, fIgnoreHelicity, fMinPatternPhase, fNumHelicityErrors, fPatternPhaseNumber, kUndefinedHelicity, QwError, and ResetPredictor().
Referenced by PredictHelicity().
|
protected |
Definition at line 248 of file QwHelicity.cc.
References QwLog::endl(), fMinPatternPhase, fPatternNumber, fPatternNumberOld, fPatternPhaseNumber, fPatternPhaseNumberOld, and QwWarning.
Referenced by IsContinuous().
|
protected |
Definition at line 283 of file QwHelicity.cc.
References QwLog::endl(), fMaxPatternPhase, fMinPatternPhase, fPatternNumber, fPatternNumberOld, fPatternPhaseNumber, fPatternPhaseNumberOld, Print(), and QwWarning.
Referenced by IsContinuous().
|
inline |
Definition at line 140 of file QwHelicity.h.
References fIgnoreHelicity.
Referenced by QwHelicityPattern::LoadEventData().
|
virtual |
Mandatory map file definition.
Implements VQwSubsystem.
Definition at line 804 of file QwHelicity.cc.
References QwLog::endl(), VQwSubsystem::fDetectorMaps, fHelicityDecodingMode, fInputReg_FakeMPS, fMaxPatternPhase, QwWord::fModuleType, fPatternPhaseOffset, fRandBits, QwWord::fSubbankIndex, fWord, QwWord::fWordInSubbank, QwWord::fWordName, fWordsPerSubbank, QwWord::fWordType, VQwSubsystem::GetSubbankIndex(), QwParameterFile::GetUInt(), kEventTypeHelMinus, kEventTypeHelPlus, kHelInputMollerMode, kHelInputRegisterMode, kHelLocalyMadeUp, kHelUserbitMode, kInputRegister, kMpsCounter, kPatternCounter, kPatternPhase, kScalerCounter, kUserbit, QwDebug, QwError, QwMessage, QwWarning, VQwSubsystem::RegisterROCNumber(), VQwSubsystem::RegisterSubbank(), SetHelicityBitPattern(), and SetHelicityDelay().
|
virtual |
Load the event cuts file.
Implements VQwSubsystemParity.
Definition at line 1015 of file QwHelicity.cc.
|
virtual |
Mandatory parameter file definition.
Implements VQwSubsystem.
Definition at line 391 of file QwHelicity.cc.
|
protected |
|
virtual |
Implements VQwSubsystemParity.
Definition at line 1965 of file QwHelicity.cc.
References Compare(), QwLog::endl(), fActualPatternPolarity, fPatternNumber, VQwSubsystem::GetSubsystemName(), and QwDebug.
|
inlinevirtual |
|
virtual |
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 1927 of file QwHelicity.cc.
References Compare(), fActualPatternPolarity, fDelayedPatternPolarity, fEventNumber, fGoodHelicity, fGoodPattern, fHelicityActual, fHelicityBitMinus, fHelicityBitPlus, fHelicityDelayed, fHelicityReported, fIgnoreHelicity, fPatternNumber, fPatternPhaseNumber, fPatternSeed, fPreviousPatternPolarity, fWord, and VQwSubsystem::operator=().
|
inlineprivate |
Definition at line 292 of file QwHelicity.h.
Referenced by SetHelicityBitPattern().
void QwHelicity::PredictHelicity | ( | ) |
Routine to predict the true helicity from the delayed helicity. Helicities are usually delayed by 8 events or 2 quartets. This delay can now be set as a cmd line option.
After accumulating 24/30 helicity bits, iseed is up-to-date.
If nothing goes wrong, n-ranbits will stay as 24/30 Reset it to zero if something goes wrong.
If not good helicity, start over again by resetting the predictor.
Definition at line 1849 of file QwHelicity.cc.
References CollectRandBits(), IsGoodHelicity(), n_ranbits, ResetPredictor(), and RunPredictor().
Referenced by QwFakeHelicity::ProcessEvent(), and ProcessEvent().
void QwHelicity::Print | ( | ) | const |
Definition at line 782 of file QwHelicity.cc.
References QwLog::endl(), fEventNumber, fEventNumberOld, fHelicityActual, fHelicityDelayed, fHelicityReported, fMaxPatternPhase, fPatternNumber, fPatternNumberOld, fPatternPhaseNumber, fPatternPhaseNumberOld, and QwOut.
Referenced by IsGoodEventNumber(), IsGoodPhaseNumber(), and ProcessEventUserbitMode().
|
virtual |
Report the number of events failed due to HW and event cut failures.
Implements VQwSubsystemParity.
Definition at line 408 of file QwHelicity.cc.
References QwLog::endl(), fEventNumber, fEventNumberFirst, fNumHelicityErrors, fNumMissedEventBlocks, fNumMissedGates, fNumMultSyncErrors, fPatternNumber, fPatternNumberFirst, and QwMessage.
|
virtual |
Implements VQwSubsystem.
Definition at line 384 of file QwHelicity.cc.
|
inlinevirtual |
TODO: The non-event-type-aware ProcessEvBuffer routine should be replaced with the event-type-aware version.
Implements VQwSubsystem.
Definition at line 72 of file QwHelicity.h.
|
virtual |
Reimplemented from VQwSubsystem.
Definition at line 1019 of file QwHelicity.cc.
References QwLog::endl(), fEventType, fWord, fWordsPerSubbank, VQwSubsystem::GetEventTypeMask(), VQwSubsystem::GetSubbankIndex(), QwDebug, QwWarning, and VQwSubsystem::SetDataLoaded().
|
virtual |
Implements VQwSubsystem.
Reimplemented in QwFakeHelicity.
Definition at line 658 of file QwHelicity.cc.
References QwLog::endl(), fActualPatternPolarity, fDelayedPatternPolarity, fEventNumber, fHelicityActual, fHelicityBitMinus, fHelicityBitPlus, fHelicityDecodingMode, fHelicityDelayed, fHelicityReported, fIgnoreHelicity, fMaxPatternPhase, fMinPatternPhase, fPatternNumber, fPatternPhaseNumber, fPreviousPatternPolarity, fUsePredictor, VQwSubsystem::HasDataLoaded(), kHelInputMollerMode, kHelInputRegisterMode, kHelUserbitMode, PredictHelicity(), ProcessEventInputMollerMode(), ProcessEventInputRegisterMode(), ProcessEventUserbitMode(), and QwError.
void QwHelicity::ProcessEventInputMollerMode | ( | ) |
Definition at line 613 of file QwHelicity.cc.
References QwLog::endl(), fEventNumber, fEventNumberOld, fEventType, fHelicityBitMinus, fHelicityBitPlus, fHelicityReported, fMinPatternPhase, fNumMissedEventBlocks, fNumMissedGates, fPatternNumber, fPatternNumberOld, fPatternPhaseNumber, fPatternPhaseNumberOld, fWord, kEventTypeHelMinus, kEventTypeHelPlus, kMpsCounter, kPatternCounter, and QwError.
Referenced by ProcessEvent().
void QwHelicity::ProcessEventInputRegisterMode | ( | ) |
In the Input Register Mode, the event number is obtained straight from the wordkMPSCounter.
Tf we get junk for the mps and pattern information from the run we can enable fake counters for mps, pattern number and pattern phase to get the job done.
Extract the reported helicity from the input register for each event.
Definition at line 518 of file QwHelicity.cc.
References CheckIORegisterMask(), QwLog::endl(), fEventNumber, fEventNumberOld, fHelicityBitMinus, fHelicityBitPlus, fHelicityReported, fIgnoreHelicity, fInputReg_FakeMPS, fMinPatternPhase, fNumMissedEventBlocks, fNumMissedGates, fNumMultSyncErrors, fPatternNumber, fPatternNumberOld, fPatternPhaseNumber, fPatternPhaseNumberOld, fPatternPhaseOffset, fSuppressMPSErrorMsgs, fWord, kInputReg_HelMinus, kInputReg_HelPlus, kInputReg_PatternSync, kInputRegister, kMpsCounter, kPatternCounter, kPatternPhase, kUndefinedHelicity, and QwError.
Referenced by ProcessEvent().
void QwHelicity::ProcessEventUserbitMode | ( | ) |
In this version of the code, the helicity is extracted for a userbit configuration. This is not what we plan to have for Qweak but it was done for injector tests and so is usefull to have as another option to get helicity information.
Definition at line 441 of file QwHelicity.cc.
References QwLog::endl(), fEventNumber, fEventNumberOld, fHelicityBitMinus, fHelicityBitPlus, fHelicityReported, fMaxPatternPhase, fMinPatternPhase, fPatternNumber, fPatternNumberOld, fPatternPhaseNumber, fPatternPhaseNumberOld, fWord, kScalerCounter, kUserbit, Print(), QwError, and ResetPredictor().
Referenced by ProcessEvent().
|
virtual |
Process the command line options.
Reimplemented from VQwSubsystem.
Definition at line 173 of file QwHelicity.cc.
References BuildHelicityBitPattern(), QwLog::endl(), fHelicityBitPattern, fHelicityDelay, fMaxPatternPhase, fPatternPhaseOffset, fRandBits, fSuppressMPSErrorMsgs, fUsePredictor, QwParameterFile::GetUInt(), QwOptions::GetValue(), QwOptions::HasValue(), kDefaultHelicityBitPattern, QwError, QwMessage, SetHelicityBitPattern(), and SetHelicityDelay().
|
virtual |
Implements VQwSubsystemParity.
Definition at line 2006 of file QwHelicity.cc.
|
protected |
Start a new helicity prediction sequence.
Definition at line 1914 of file QwHelicity.cc.
References QwLog::endl(), fGoodHelicity, fGoodPattern, n_ranbits, and QwWarning.
Referenced by CollectRandBits24(), CollectRandBits30(), IsGoodHelicity(), PredictHelicity(), ProcessEventUserbitMode(), and RunPredictor().
void QwHelicity::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.
Predict the helicity according to pattern Defined patterns: Pair: +- or -+ Quartet: +–+ or -++- Octet: +–+-++- or -++-+–+ Symmetric octet: +-+–+-+ or -+-++-+- Octo-quad: +–++–++–++–+-++–++–++–++-
Definition at line 1608 of file QwHelicity.cc.
References QwLog::endl(), fActualPatternPolarity, fDelayedPatternPolarity, fEventNumber, fHelicityActual, fHelicityBitPattern, fHelicityDelayed, fHelicityReported, fMaxPatternPhase, fMinPatternPhase, fPatternNumber, fPatternNumberOld, fPatternPhaseNumber, fPreviousPatternPolarity, GetRandbit(), iseed_Actual, iseed_Delayed, QwDebug, QwError, and ResetPredictor().
Referenced by main(), and PredictHelicity().
|
inlinevirtual |
void QwHelicity::SetEventPatternPhase | ( | Int_t | event, |
Int_t | pattern, | ||
Int_t | phase | ||
) |
Definition at line 1089 of file QwHelicity.cc.
References fEventNumber, fPatternNumber, and fPatternPhaseNumber.
Referenced by main().
void QwHelicity::SetFirstBits | ( | UInt_t | nbits, |
UInt_t | firstbits | ||
) |
Definition at line 1096 of file QwHelicity.cc.
References fHelicityDelay, GetRandbit(), GetRandomSeed(), iseed_Actual, and iseed_Delayed.
Referenced by main().
void QwHelicity::SetHelicityBitPattern | ( | UInt_t | bits | ) |
Definition at line 1904 of file QwHelicity.cc.
References QwLog::endl(), fHelicityBitPattern, parity(), QwError, and QwMessage.
Referenced by BuildHelicityBitPattern(), LoadChannelMap(), and ProcessOptions().
void QwHelicity::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 1881 of file QwHelicity.cc.
References QwLog::endl(), fHelicityDelay, fUsePredictor, QwError, and QwWarning.
Referenced by LoadChannelMap(), and ProcessOptions().
|
protected |
Definition at line 1108 of file QwHelicity.cc.
References fHistoType, kHelNoSave, kHelSaveMPS, and kHelSavePattern.
Referenced by ConstructBranch(), ConstructBranchAndVector(), and ConstructHistograms().
|
virtual |
Implements VQwSubsystemParity.
Definition at line 1988 of file QwHelicity.cc.
References Compare().
|
inlinevirtual |
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 67 of file QwHelicity.h.
|
protected |
True polarity of the current pattern.
Definition at line 198 of file QwHelicity.h.
Referenced by QwFakeHelicity::CollectRandBits(), CollectRandBits24(), CollectRandBits30(), ConstructBranch(), FillHistograms(), FillTreeVector(), operator+=(), operator=(), ProcessEvent(), QwHelicity(), and RunPredictor().
|
protected |
Reported polarity of the current pattern.
Definition at line 199 of file QwHelicity.h.
Referenced by QwFakeHelicity::CollectRandBits(), CollectRandBits24(), CollectRandBits30(), ConstructBranch(), FillTreeVector(), operator=(), ProcessEvent(), QwHelicity(), and RunPredictor().
|
protected |
Definition at line 194 of file QwHelicity.h.
Referenced by QwFakeHelicity::ClearEventData(), ClearEventData(), CollectRandBits24(), CollectRandBits30(), ConstructBranch(), EncodeEventData(), FillHistograms(), FillTreeVector(), GetEventNumber(), IsGoodEventNumber(), IsGoodHelicity(), operator=(), Print(), PrintErrorCounters(), QwFakeHelicity::ProcessEvent(), ProcessEvent(), ProcessEventInputMollerMode(), ProcessEventInputRegisterMode(), ProcessEventUserbitMode(), QwHelicity(), RunPredictor(), and SetEventPatternPhase().
|
protected |
Definition at line 267 of file QwHelicity.h.
Referenced by ClearEventData(), PrintErrorCounters(), and QwHelicity().
|
protected |
Definition at line 194 of file QwHelicity.h.
Referenced by QwFakeHelicity::ClearEventData(), ClearEventData(), FillHistograms(), IsGoodEventNumber(), Print(), ProcessEventInputMollerMode(), ProcessEventInputRegisterMode(), ProcessEventUserbitMode(), and QwHelicity().
|
protected |
Definition at line 264 of file QwHelicity.h.
Referenced by ProcessEvBuffer(), ProcessEventInputMollerMode(), and QwHelicity().
|
protected |
Definition at line 209 of file QwHelicity.h.
Referenced by QwFakeHelicity::CollectRandBits(), CollectRandBits24(), CollectRandBits30(), QwFakeHelicity::IsGoodHelicity(), IsGoodHelicity(), operator=(), QwHelicity(), and ResetPredictor().
|
protected |
Definition at line 210 of file QwHelicity.h.
Referenced by operator=(), QwHelicity(), and ResetPredictor().
|
protected |
Definition at line 201 of file QwHelicity.h.
Referenced by QwFakeHelicity::ClearEventData(), ClearEventData(), QwFakeHelicity::CollectRandBits(), CollectRandBits24(), CollectRandBits30(), ConstructBranch(), FillHistograms(), FillTreeVector(), GetHelicityActual(), IsGoodHelicity(), operator=(), Print(), QwFakeHelicity::ProcessEvent(), ProcessEvent(), QwHelicity(), and RunPredictor().
|
protected |
Definition at line 208 of file QwHelicity.h.
Referenced by QwFakeHelicity::ClearEventData(), ClearEventData(), operator=(), QwFakeHelicity::ProcessEvent(), ProcessEvent(), ProcessEventInputMollerMode(), ProcessEventInputRegisterMode(), ProcessEventUserbitMode(), and QwHelicity().
|
protected |
Definition at line 170 of file QwHelicity.h.
Referenced by ProcessOptions(), RunPredictor(), and SetHelicityBitPattern().
|
protected |
Definition at line 207 of file QwHelicity.h.
Referenced by QwFakeHelicity::ClearEventData(), ClearEventData(), operator=(), QwFakeHelicity::ProcessEvent(), ProcessEvent(), ProcessEventInputMollerMode(), ProcessEventInputRegisterMode(), ProcessEventUserbitMode(), and QwHelicity().
|
protected |
Definition at line 175 of file QwHelicity.h.
Referenced by EncodeEventData(), LoadChannelMap(), ProcessEvent(), and QwHelicity().
|
protected |
Definition at line 233 of file QwHelicity.h.
Referenced by CollectRandBits24(), CollectRandBits30(), ProcessOptions(), QwHelicity(), SetFirstBits(), and SetHelicityDelay().
|
protected |
Definition at line 201 of file QwHelicity.h.
Referenced by ClearEventData(), QwFakeHelicity::CollectRandBits(), CollectRandBits24(), CollectRandBits30(), ConstructBranch(), EncodeEventData(), FillTreeVector(), GetHelicityDelayed(), IsGoodHelicity(), operator=(), Print(), ProcessEvent(), QwHelicity(), and RunPredictor().
|
protected |
Definition at line 259 of file QwHelicity.h.
Referenced by QwHelicity().
|
protected |
Definition at line 201 of file QwHelicity.h.
Referenced by ClearEventData(), CollectRandBits24(), CollectRandBits30(), ConstructBranch(), FillTreeVector(), GetHelicityReported(), IsGoodHelicity(), operator=(), Print(), ProcessEvent(), ProcessEventInputMollerMode(), ProcessEventInputRegisterMode(), ProcessEventUserbitMode(), QwHelicity(), and RunPredictor().
|
protected |
Definition at line 212 of file QwHelicity.h.
Referenced by ConstructBranch(), ConstructBranchAndVector(), ConstructHistograms(), FillHistograms(), FillTreeVector(), and SetHistoTreeSave().
|
protected |
Definition at line 262 of file QwHelicity.h.
Referenced by IsGoodHelicity(), IsHelicityIgnored(), operator=(), ProcessEvent(), ProcessEventInputRegisterMode(), and QwHelicity().
|
protected |
Definition at line 166 of file QwHelicity.h.
Referenced by LoadChannelMap(), ProcessEventInputRegisterMode(), and QwHelicity().
|
protected |
Definition at line 236 of file QwHelicity.h.
Referenced by GetMaxPatternPhase(), IsGoodPhaseNumber(), LoadChannelMap(), Print(), QwFakeHelicity::ProcessEvent(), ProcessEvent(), ProcessEventUserbitMode(), ProcessOptions(), QwHelicity(), and RunPredictor().
|
protected |
Definition at line 237 of file QwHelicity.h.
Referenced by CollectRandBits24(), CollectRandBits30(), EncodeEventData(), GetMinPatternPhase(), IsGoodHelicity(), IsGoodPatternNumber(), IsGoodPhaseNumber(), ProcessEvent(), ProcessEventInputMollerMode(), ProcessEventInputRegisterMode(), ProcessEventUserbitMode(), QwHelicity(), and RunPredictor().
|
protected |
Definition at line 281 of file QwHelicity.h.
Referenced by ClearErrorCounters(), IsGoodHelicity(), PrintErrorCounters(), and QwHelicity().
|
protected |
Definition at line 279 of file QwHelicity.h.
Referenced by ClearErrorCounters(), PrintErrorCounters(), ProcessEventInputMollerMode(), ProcessEventInputRegisterMode(), and QwHelicity().
|
protected |
Definition at line 275 of file QwHelicity.h.
Referenced by ClearErrorCounters(), PrintErrorCounters(), ProcessEventInputMollerMode(), ProcessEventInputRegisterMode(), and QwHelicity().
|
protected |
Definition at line 280 of file QwHelicity.h.
Referenced by ClearErrorCounters(), PrintErrorCounters(), ProcessEventInputRegisterMode(), and QwHelicity().
|
protected |
Definition at line 196 of file QwHelicity.h.
Referenced by QwFakeHelicity::ClearEventData(), ClearEventData(), CollectRandBits24(), CollectRandBits30(), ConstructBranch(), EncodeEventData(), FillHistograms(), FillTreeVector(), GetPatternNumber(), IsGoodPatternNumber(), IsGoodPhaseNumber(), operator+=(), operator=(), Print(), PrintErrorCounters(), QwFakeHelicity::ProcessEvent(), ProcessEvent(), ProcessEventInputMollerMode(), ProcessEventInputRegisterMode(), ProcessEventUserbitMode(), QwHelicity(), RunPredictor(), and SetEventPatternPhase().
|
protected |
Definition at line 268 of file QwHelicity.h.
Referenced by ClearEventData(), PrintErrorCounters(), and QwHelicity().
|
protected |
Definition at line 196 of file QwHelicity.h.
Referenced by QwFakeHelicity::ClearEventData(), ClearEventData(), FillHistograms(), IsGoodPatternNumber(), IsGoodPhaseNumber(), Print(), QwFakeHelicity::ProcessEvent(), ProcessEventInputMollerMode(), ProcessEventInputRegisterMode(), ProcessEventUserbitMode(), QwHelicity(), and RunPredictor().
|
protected |
Definition at line 195 of file QwHelicity.h.
Referenced by QwFakeHelicity::ClearEventData(), ClearEventData(), CollectRandBits24(), CollectRandBits30(), ConstructBranch(), EncodeEventData(), FillHistograms(), FillTreeVector(), GetPhaseNumber(), IsGoodHelicity(), IsGoodPatternNumber(), IsGoodPhaseNumber(), operator=(), Print(), QwFakeHelicity::ProcessEvent(), ProcessEvent(), ProcessEventInputMollerMode(), ProcessEventInputRegisterMode(), ProcessEventUserbitMode(), QwHelicity(), RunPredictor(), and SetEventPatternPhase().
|
protected |
Definition at line 195 of file QwHelicity.h.
Referenced by QwFakeHelicity::ClearEventData(), ClearEventData(), IsGoodPatternNumber(), IsGoodPhaseNumber(), Print(), QwFakeHelicity::ProcessEvent(), ProcessEventInputMollerMode(), ProcessEventInputRegisterMode(), ProcessEventUserbitMode(), and QwHelicity().
|
protected |
Definition at line 260 of file QwHelicity.h.
Referenced by EncodeEventData(), LoadChannelMap(), ProcessEventInputRegisterMode(), ProcessOptions(), and QwHelicity().
|
protected |
Definition at line 197 of file QwHelicity.h.
Referenced by ConstructBranch(), FillTreeVector(), and operator=().
|
protected |
True polarity of the previous pattern.
Definition at line 200 of file QwHelicity.h.
Referenced by CollectRandBits24(), CollectRandBits30(), ConstructBranch(), FillTreeVector(), operator=(), ProcessEvent(), and RunPredictor().
|
protected |
Definition at line 257 of file QwHelicity.h.
Referenced by CollectRandBits(), GetRandbit(), LoadChannelMap(), ProcessOptions(), and QwHelicity().
|
protected |
Flag to disable the printing os missed MPS error messags during online running
Definition at line 286 of file QwHelicity.h.
Referenced by ProcessEventInputRegisterMode(), and ProcessOptions().
|
protected |
Definition at line 227 of file QwHelicity.h.
Referenced by ConstructBranchAndVector(), and FillTreeVector().
|
protected |
Definition at line 228 of file QwHelicity.h.
|
protected |
Definition at line 258 of file QwHelicity.h.
Referenced by ProcessEvent(), ProcessOptions(), QwHelicity(), and SetHelicityDelay().
|
protected |
Definition at line 172 of file QwHelicity.h.
Referenced by QwFakeHelicity::ClearEventData(), ClearEventData(), Compare(), ConstructBranch(), ConstructBranchAndVector(), ConstructHistograms(), FillHistograms(), FillTreeVector(), LoadChannelMap(), operator=(), ProcessEvBuffer(), QwFakeHelicity::ProcessEvent(), ProcessEventInputMollerMode(), ProcessEventInputRegisterMode(), ProcessEventUserbitMode(), and QwHelicity().
|
protected |
Definition at line 173 of file QwHelicity.h.
Referenced by LoadChannelMap(), and ProcessEvBuffer().
|
protected |
Definition at line 230 of file QwHelicity.h.
Referenced by QwFakeHelicity::CollectRandBits(), CollectRandBits24(), CollectRandBits30(), GetRandomSeedActual(), QwHelicity(), RunPredictor(), and SetFirstBits().
|
protected |
Definition at line 231 of file QwHelicity.h.
Referenced by QwFakeHelicity::CollectRandBits(), CollectRandBits24(), CollectRandBits30(), GetRandomSeedDelayed(), QwHelicity(), RunPredictor(), and SetFirstBits().
|
staticprotected |
Definition at line 218 of file QwHelicity.h.
|
staticprotected |
Default helicity bit pattern of 0x69 represents a -++-+–+ octet (event polarity listed in reverse time order), where the LSB of the bit pattern is the first event of the pattern.
Definition at line 168 of file QwHelicity.h.
Referenced by BuildHelicityBitPattern(), and ProcessOptions().
|
protected |
Definition at line 192 of file QwHelicity.h.
Referenced by LoadChannelMap(), ProcessEventInputMollerMode(), and QwHelicity().
|
protected |
Definition at line 192 of file QwHelicity.h.
Referenced by LoadChannelMap(), ProcessEventInputMollerMode(), and QwHelicity().
|
staticprotected |
Default mask for fake MPS latch bit.
Definition at line 165 of file QwHelicity.h.
Referenced by QwHelicity().
|
protected |
Definition at line 190 of file QwHelicity.h.
Referenced by LoadChannelMap(), and ProcessEventInputRegisterMode().
|
protected |
Definition at line 190 of file QwHelicity.h.
Referenced by LoadChannelMap(), QwFakeHelicity::ProcessEvent(), ProcessEventInputMollerMode(), and ProcessEventInputRegisterMode().
|
protected |
Definition at line 190 of file QwHelicity.h.
Referenced by LoadChannelMap(), QwFakeHelicity::ProcessEvent(), ProcessEventInputMollerMode(), and ProcessEventInputRegisterMode().
|
protected |
Definition at line 190 of file QwHelicity.h.
Referenced by LoadChannelMap(), QwFakeHelicity::ProcessEvent(), and ProcessEventInputRegisterMode().
|
protected |
Definition at line 186 of file QwHelicity.h.
Referenced by LoadChannelMap(), and ProcessEventUserbitMode().
|
staticprotected |
Definition at line 223 of file QwHelicity.h.
Referenced by QwFakeHelicity::ClearEventData(), ClearEventData(), IsGoodHelicity(), ProcessEventInputRegisterMode(), and QwHelicity().
|
protected |
Definition at line 182 of file QwHelicity.h.
Referenced by LoadChannelMap(), ProcessEventUserbitMode(), and QwHelicity().
|
protected |
Definition at line 229 of file QwHelicity.h.
Referenced by CollectRandBits24(), CollectRandBits30(), PredictHelicity(), QwHelicity(), and ResetPredictor().