JAPAn
Just Another Parity Analyzer
|
Template for combined beam position monitor using multiple BPMs. More...
#include <QwCombinedBPM.h>
Public Types | |
enum | EBeamPositionMonitorAxis |
![]() | |
enum | EBeamPositionMonitorAxis { kXAxis =0 , kYAxis , kNumAxes } |
![]() | |
enum | EDataToSave { kRaw = 0 , kDerived , kMoments } |
Public Member Functions | |
size_t | GetNumberOfElements () override |
TString | GetSubElementName (Int_t index) override |
QwCombinedBPM () | |
QwCombinedBPM (TString name) | |
QwCombinedBPM (TString subsystem, TString name) | |
QwCombinedBPM (TString subsystem, TString name, TString type) | |
QwCombinedBPM (const QwCombinedBPM &source) | |
~QwCombinedBPM () override | |
void | InitializeChannel (TString name) |
void | InitializeChannel (TString subsystem, TString name) |
void | InitializeChannel (TString subsystem, TString name, TString type) |
void | LoadChannelParameters (QwParameterFile ¶mfile) override |
void | ClearEventData () override |
Int_t | ProcessEvBuffer (UInt_t *buffer, UInt_t word_position_in_buffer, UInt_t indexnumber) override |
Process the CODA event buffer for this element. | |
void | ProcessEvent () override |
void | PrintValue () const override |
Print single line of value and error of this data element. | |
void | PrintInfo () const override |
Print multiple lines of information about this data element. | |
const VQwHardwareChannel * | GetPosition (EBeamPositionMonitorAxis axis) const override |
const VQwHardwareChannel * | GetSlope (EBeamPositionMonitorAxis axis) const |
const VQwHardwareChannel * | GetEffectiveCharge () const override |
Bool_t | ApplyHWChecks () |
Bool_t | ApplySingleEventCuts () override |
void | SetEventCutMode (Int_t bcuts) override |
Inherited from VQwDataElement to set the upper and lower limits (fULimit and fLLimit), stability % and the error flag on this channel. | |
void | IncrementErrorCounters () override |
void | PrintErrorCounters () const override |
UInt_t | GetEventcutErrorFlag () override |
UInt_t | UpdateErrorFlag () override |
Update the error flag based on the error flags of internally contained objects Return parameter is the "Eventcut Error Flag". | |
void | UpdateErrorFlag (const VQwBPM *ev_error) override |
Bool_t | CheckForBurpFail (const VQwDataElement *ev_error) |
void | SetBPMForCombo (const VQwBPM *bpm, Double_t charge_weight, Double_t x_weight, Double_t y_weight, Double_t sumqw) override |
void | Ratio (QwCombinedBPM &numer, QwCombinedBPM &denom) |
void | Ratio (VQwBPM &numer, VQwBPM &denom) override |
void | Scale (Double_t factor) override |
VQwBPM & | operator= (const VQwBPM &value) override |
VQwBPM & | operator+= (const VQwBPM &value) override |
VQwBPM & | operator-= (const VQwBPM &value) override |
virtual QwCombinedBPM & | operator= (const QwCombinedBPM &value) |
virtual QwCombinedBPM & | operator+= (const QwCombinedBPM &value) |
virtual QwCombinedBPM & | operator-= (const QwCombinedBPM &value) |
void | AccumulateRunningSum (const VQwBPM &value, Int_t count=0, Int_t ErrorMask=0xFFFFFFF) override |
void | AccumulateRunningSum (const QwCombinedBPM &value, Int_t count=0, Int_t ErrorMask=0xFFFFFFF) |
void | DeaccumulateRunningSum (VQwBPM &value, Int_t ErrorMask=0xFFFFFFF) override |
void | DeaccumulateRunningSum (QwCombinedBPM &value, Int_t ErrorMask=0xFFFFFFF) |
void | CalculateRunningAverage () override |
void | ConstructHistograms (TDirectory *folder, TString &prefix) override |
Construct the histograms for this data element. | |
void | FillHistograms () override |
Fill the histograms for this data element. | |
void | ConstructBranchAndVector (TTree *tree, TString &prefix, QwRootTreeBranchVector &values) override |
void | ConstructBranch (TTree *tree, TString &prefix) override |
void | ConstructBranch (TTree *tree, TString &prefix, QwParameterFile &modulelist) override |
void | FillTreeVector (QwRootTreeBranchVector &values) const override |
void | RandomizeEventData (int helicity=0, double time=0.0) override |
void | SetRandomEventParameters (Double_t meanX, Double_t sigmaX, Double_t meanY, Double_t sigmaY, Double_t meanXslope, Double_t sigmaXslope, Double_t meanYslope, Double_t sigmaYslope) override |
void | GetProjectedPosition (VQwBPM *device) override |
void | LoadMockDataParameters (QwParameterFile ¶mfile) override |
VQwHardwareChannel * | GetAngleX () |
const VQwHardwareChannel * | GetAngleX () const override |
VQwHardwareChannel * | GetAngleY () |
const VQwHardwareChannel * | GetAngleY () const override |
![]() | |
VQwBPM () | |
VQwBPM (TString &) | |
VQwBPM (const VQwBPM &source) | |
~VQwBPM () override | |
void | InitializeChannel (TString name) |
Initialize common BPM state and set the element name. | |
virtual void | FillRawEventData () |
void | GetSurveyOffsets (Double_t Xoffset, Double_t Yoffset, Double_t Zoffset) |
Store geometry/survey offsets for absolute position calibration. | |
void | GetElectronicFactors (Double_t BSENfactor, Double_t AlphaX, Double_t AlphaY) |
Apply per-detector electronic calibration and relative gains. | |
void | SetRotation (Double_t) |
Set detector rotation angle and update cached trigonometric values. | |
void | SetRotationOff () |
void | SetSingleEventCuts (TString, Double_t, Double_t) |
void | SetSingleEventCuts (TString, UInt_t, Double_t, Double_t, Double_t, Double_t) |
void | SetGains (TString pos, Double_t value) |
void | SetRootSaveStatus (TString &prefix) |
virtual const VQwHardwareChannel * | GetPosition (EBeamPositionMonitorAxis axis) const |
Double_t | GetPositionInZ () const |
virtual void | GetAbsolutePosition () |
void | PrintErrorCounters () const override |
report number of events failed due to HW and event cut failure | |
virtual void | SetDefaultSampleSize (Int_t) |
virtual void | SetResolution (Double_t resolutionX, Double_t resolutionY) |
virtual void | SetRandomEventParameters (Double_t, Double_t, Double_t, Double_t) |
virtual void | SetRandomEventAsymmetry (Double_t) |
virtual void | ApplyResolutionSmearing () |
virtual void | ApplyResolutionSmearing (EBeamPositionMonitorAxis) |
virtual void | EncodeEventData (std::vector< UInt_t > &) |
virtual void | SetSubElementPedestal (Int_t, Double_t) |
virtual void | SetSubElementCalibrationFactor (Int_t, Double_t) |
void | PrintInfo () const override |
Print multiple lines of information about this data element. | |
![]() | |
VQwDataElement () | |
Default constructor. | |
VQwDataElement (const VQwDataElement &value) | |
Copy constructor. | |
~VQwDataElement () override | |
Virtual destructor. | |
void | CopyFrom (const VQwDataElement &value) |
Bool_t | IsNameEmpty () const |
Is the name of this element empty? | |
void | SetElementName (const TString &name) |
Set the name of this element. | |
virtual const TString & | GetElementName () const |
Get the name of this element. | |
size_t | GetNumberOfDataWords () |
Get the number of data words in this data element. | |
UInt_t | GetGoodEventCount () const |
virtual void | AssignValueFrom (const VQwDataElement *) |
VQwDataElement & | operator+= (const VQwDataElement &) |
Addition-assignment operator. | |
VQwDataElement & | operator-= (const VQwDataElement &) |
Subtraction-assignment operator. | |
void | Sum (const VQwDataElement &, const VQwDataElement &) |
Sum operator (base class fallback throws runtime error) | |
void | Difference (const VQwDataElement &, const VQwDataElement &) |
Difference operator (base class fallback throws runtime error) | |
void | Ratio (const VQwDataElement &, const VQwDataElement &) |
Ratio operator (base class fallback throws runtime error) | |
void | SetSingleEventCuts (UInt_t, Double_t, Double_t, Double_t) |
set the upper and lower limits (fULimit and fLLimit), stability % and the error flag on this channel | |
Bool_t | CheckForBurpFail (const VQwDataElement *) |
virtual void | SetNeedsExternalClock (Bool_t) |
virtual Bool_t | NeedsExternalClock () |
virtual std::string | GetExternalClockName () |
virtual void | SetExternalClockPtr (const VQwHardwareChannel *) |
virtual void | SetExternalClockName (const std::string) |
virtual Double_t | GetNormClockValue () |
TString | GetSubsystemName () const |
Return the name of the inheriting subsystem name. | |
void | SetSubsystemName (TString sysname) |
Set the name of the inheriting subsystem name. | |
TString | GetModuleType () const |
Return the type of the beam instrument. | |
void | SetModuleType (TString ModuleType) |
set the type of the beam instrument | |
![]() | |
void | ShareHistograms (const MQwHistograms *source) |
Share histogram pointers between objects. | |
Protected Member Functions | |
VQwHardwareChannel * | GetSubelementByName (TString ch_name) override |
void | CalculateFixedParameter (std::vector< Double_t > fWeights, Int_t pos) |
Double_t | SumOver (std::vector< Double_t > weight, std::vector< T > val) |
void | LeastSquareFit (VQwBPM::EBeamPositionMonitorAxis axis, std::vector< Double_t > fWeights) |
![]() | |
virtual VQwHardwareChannel * | GetPosition (EBeamPositionMonitorAxis axis) |
VQwHardwareChannel * | GetSubelementByIndex (size_t index) |
![]() | |
void | SetNumberOfDataWords (const UInt_t &numwords) |
Set the number of data words in this data element. | |
VQwDataElement & | operator= (const VQwDataElement &value) |
Arithmetic assignment operator: Should only copy event-based data. | |
void | UpdateErrorFlag (const UInt_t &error) |
![]() | |
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 Attributes | |
std::array< T, 2 > | fSlope |
std::array< T, 2 > | fIntercept |
std::array< T, 2 > | fMinimumChiSquare |
std::array< T, 2 > | fAbsPos |
T | fEffectiveCharge |
![]() | |
std::vector< TString > | fSubelementNames |
Double_t | fPositionCenter [3] |
Double_t | fQwStriplineCalibration |
Double_t | fQwStriplineCorrection |
Double_t | fRelativeGains [2] |
Double_t | fGains [2] |
Bool_t | bRotated |
Double_t | fRotationAngle |
Double_t | fCosRotation |
Double_t | fSinRotation |
Double_t | fResolution [2] |
Bool_t | fGoodEvent |
Bool_t | bFullSave |
![]() | |
TString | fElementName |
Name of this data element. | |
UInt_t | fNumberOfDataWords |
Number of raw data words in this data element. | |
UInt_t | fGoodEventCount |
Number of good events accumulated in this element. | |
TString | fSubsystemName |
TString | fModuleType |
UInt_t | fErrorFlag |
This the standard error code generated for the channel that contains the global/local/stability flags and the Device error code (Unique error code for HW failures) | |
UInt_t | fErrorConfigFlag |
contains the global/local/stability flags | |
![]() | |
std::vector< TH1_ptr > | fHistograms |
Histograms associated with this data element. | |
Private Member Functions | |
void | MakeBPMComboList () |
Private Attributes | |
Bool_t | fixedParamCalculated |
Double_t | erra [2] |
Double_t | errb [2] |
Double_t | covab [2] |
Double_t | A [2] |
Double_t | B [2] |
Double_t | D [2] |
Double_t | m [2] |
Double_t | chi_square [2] |
Double_t | fSumQweights |
std::vector< const VQwBPM * > | fElement |
std::vector< Double_t > | fQWeights |
std::vector< Double_t > | fXWeights |
std::vector< Double_t > | fYWeights |
std::vector< T > | fBPMComboElementList |
Friends | |
class | QwEnergyCalculator |
Additional Inherited Members | |
![]() | |
static VQwBPM * | CreateStripline (TString subsystemname, TString type, TString name) |
A fast way of creating a BPM stripline of specified type. | |
static VQwBPM * | CreateStripline (const VQwBPM &source) |
static VQwBPM * | CreateCombo (TString subsystemname, TString type, TString name) |
A fast way of creating a BPM stripline of specified type. | |
static VQwBPM * | CreateCombo (const VQwBPM &source) |
![]() | |
static const TString | kAxisLabel [2] ={"X","Y"} |
static const TString | axis [3] |
static const Bool_t | bDEBUG =kFALSE |
Template for combined beam position monitor using multiple BPMs.
Maintains a weighted combination of individual BPMs to estimate position and angle at a virtual location, supporting fits and effective charge computation.
Definition at line 40 of file QwCombinedBPM.h.
enum VQwBPM::EBeamPositionMonitorAxis |
|
inline |
Definition at line 51 of file QwCombinedBPM.h.
Referenced by AccumulateRunningSum(), AccumulateRunningSum(), CheckForBurpFail(), DeaccumulateRunningSum(), DeaccumulateRunningSum(), GetAngleX(), GetAngleY(), operator+=(), operator+=(), operator-=(), operator-=(), operator=(), operator=(), QwCombinedBPM(), Ratio(), Ratio(), and UpdateErrorFlag().
|
inline |
Definition at line 53 of file QwCombinedBPM.h.
References InitializeChannel(), and VQwBPM::VQwBPM().
|
inline |
Definition at line 56 of file QwCombinedBPM.h.
References InitializeChannel(), and VQwBPM::VQwBPM().
|
inline |
Definition at line 60 of file QwCombinedBPM.h.
References InitializeChannel(), and VQwBPM::VQwBPM().
|
inline |
Definition at line 63 of file QwCombinedBPM.h.
References fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, QwCombinedBPM(), QwCopyArray(), and VQwBPM::VQwBPM().
|
inlineoverride |
Definition at line 72 of file QwCombinedBPM.h.
void QwCombinedBPM< T >::AccumulateRunningSum | ( | const QwCombinedBPM< T > & | value, |
Int_t | count = 0, | ||
Int_t | ErrorMask = 0xFFFFFFF ) |
Definition at line 1017 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwBPM::kNumAxes, VQwBPM::kXAxis, and QwCombinedBPM().
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 1011 of file QwCombinedBPM.cc.
References AccumulateRunningSum(), QwCombinedBPM(), and VQwBPM::VQwBPM().
Referenced by AccumulateRunningSum().
Bool_t QwCombinedBPM< T >::ApplyHWChecks | ( | ) |
|
overridevirtual |
Apply single-event cuts to slope/intercept outputs per axis, using error masks from constituent BPM positions to gate derived quantities.
TODO: The returned base class should be changed so these casts aren't needed, but "GetErrorCode" is not meaningful for every VQwDataElement. Maybe the return should be a VQwHardwareChannel?
Implements VQwBPM.
Definition at line 239 of file QwCombinedBPM.cc.
References ApplySingleEventCuts(), VQwBPM::axis, VQwBPM::bDEBUG, fAbsPos, fEffectiveCharge, fElement, fIntercept, fMinimumChiSquare, fSlope, VQwBPM::kNumAxes, VQwBPM::kXAxis, and VQwBPM::kYAxis.
Referenced by ApplySingleEventCuts().
|
protected |
Definition at line 626 of file QwCombinedBPM.cc.
References A, B, covab, D, QwLog::endl(), erra, errb, fElement, VQwDataElement::GetElementName(), m, and QwWarning.
Referenced by ProcessEvent().
|
overridevirtual |
Implements VQwBPM.
Definition at line 997 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwBPM::kNumAxes, and VQwBPM::kXAxis.
|
virtual |
Reimplemented from VQwBPM.
Definition at line 367 of file QwCombinedBPM.cc.
References fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwDataElement::GetElementName(), QwCombinedBPM(), and VQwDataElement::VQwDataElement().
|
overridevirtual |
Clear event-time state for effective charge and per-axis outputs.
Reimplemented from VQwDataElement.
Definition at line 117 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fIntercept, fSlope, VQwBPM::kNumAxes, and VQwBPM::kXAxis.
Referenced by ProcessEvent().
|
overridevirtual |
Implements VQwBPM.
Definition at line 1124 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, and VQwBPM::kXAxis.
|
overridevirtual |
Implements VQwBPM.
Definition at line 1149 of file QwCombinedBPM.cc.
References VQwBPM::axis, QwLog::endl(), fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwDataElement::GetElementName(), QwParameterFile::HasValue(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and QwMessage.
|
overridevirtual |
Implements VQwBPM.
Definition at line 1097 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and VQwBPM::SetRootSaveStatus().
|
overridevirtual |
Construct the histograms for this data element.
Implements VQwBPM.
Definition at line 1053 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and VQwBPM::SetRootSaveStatus().
void QwCombinedBPM< T >::DeaccumulateRunningSum | ( | QwCombinedBPM< T > & | value, |
Int_t | ErrorMask = 0xFFFFFFF ) |
Definition at line 1035 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwBPM::kNumAxes, VQwBPM::kXAxis, and QwCombinedBPM().
|
overridevirtual |
Implements VQwBPM.
Definition at line 1029 of file QwCombinedBPM.cc.
References DeaccumulateRunningSum(), QwCombinedBPM(), and VQwBPM::VQwBPM().
Referenced by DeaccumulateRunningSum().
|
overridevirtual |
Fill the histograms for this data element.
Implements VQwBPM.
Definition at line 1079 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, and VQwBPM::kXAxis.
|
overridevirtual |
Implements VQwBPM.
Definition at line 1182 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, and VQwBPM::kXAxis.
|
inline |
Definition at line 172 of file QwCombinedBPM.h.
References fSlope.
Referenced by GetAngleX().
|
inlineoverridevirtual |
Reimplemented from VQwBPM.
Definition at line 176 of file QwCombinedBPM.h.
References GetAngleX(), and QwCombinedBPM().
|
inline |
Definition at line 180 of file QwCombinedBPM.h.
References fSlope.
Referenced by GetAngleY().
|
inlineoverridevirtual |
Reimplemented from VQwBPM.
Definition at line 184 of file QwCombinedBPM.h.
References GetAngleY(), and QwCombinedBPM().
|
inlineoverridevirtual |
Implements VQwBPM.
Definition at line 109 of file QwCombinedBPM.h.
References fEffectiveCharge.
Referenced by ProcessEvent().
|
overridevirtual |
Aggregate event-cut error flags across per-axis outputs and effective charge.
Reimplemented from VQwDataElement.
Definition at line 216 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwBPM::kNumAxes, and VQwBPM::kXAxis.
|
inlineoverridevirtual |
|
inlineoverride |
Definition at line 92 of file QwCombinedBPM.h.
References VQwBPM::axis, fAbsPos, and VQwDataElement::GetElementName().
Referenced by LeastSquareFit().
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 800 of file QwCombinedBPM.cc.
References VQwBPM::ApplyResolutionSmearing(), VQwBPM::axis, VQwBPM::FillRawEventData(), fIntercept, fSlope, VQwBPM::GetPosition(), VQwBPM::GetPositionInZ(), VQwBPM::kNumAxes, VQwBPM::kXAxis, VQwBPM::kYAxis, and VQwBPM::VQwBPM().
|
inline |
Definition at line 101 of file QwCombinedBPM.h.
References VQwBPM::axis, fSlope, and VQwDataElement::GetElementName().
|
overrideprotectedvirtual |
Implements VQwBPM.
Definition at line 394 of file QwCombinedBPM.cc.
References fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwDataElement::GetElementName(), VQwBPM::kXAxis, and VQwBPM::kYAxis.
|
inlineoverridevirtual |
|
overridevirtual |
Increment persistent error counters for all derived outputs.
Implements VQwBPM.
Definition at line 185 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwBPM::kNumAxes, and VQwBPM::kXAxis.
void QwCombinedBPM< T >::InitializeChannel | ( | TString | name | ) |
Initialize derived output channels using a simple detector name. Creates absolute position, slope, intercept, chi-square per axis, and an effective charge channel. Clears internal element/weight lists.
Definition at line 37 of file QwCombinedBPM.cc.
References A, VQwBPM::axis, B, covab, D, erra, errb, fAbsPos, fEffectiveCharge, fElement, fIntercept, fixedParamCalculated, fMinimumChiSquare, fQWeights, fSlope, fSumQweights, fXWeights, fYWeights, VQwBPM::InitializeChannel(), VQwBPM::kAxisLabel, VQwBPM::kNumAxes, VQwBPM::kXAxis, and m.
Referenced by InitializeChannel(), QwCombinedBPM(), QwCombinedBPM(), and QwCombinedBPM().
void QwCombinedBPM< T >::InitializeChannel | ( | TString | subsystem, |
TString | name ) |
Initialize derived output channels with explicit subsystem scoping. Forwards subsystem/name/type information to child channels.
Definition at line 78 of file QwCombinedBPM.cc.
References A, VQwBPM::axis, B, covab, D, erra, errb, fAbsPos, fEffectiveCharge, fElement, fIntercept, fixedParamCalculated, fMinimumChiSquare, fQWeights, fSlope, fSumQweights, fXWeights, fYWeights, VQwBPM::InitializeChannel(), VQwBPM::kAxisLabel, VQwBPM::kNumAxes, VQwBPM::kXAxis, and m.
|
inline |
Definition at line 79 of file QwCombinedBPM.h.
References InitializeChannel(), and VQwDataElement::SetModuleType().
|
protected |
REF : W.R Leo
For Y = aX +b
A = sigma(X * Wy) B = sigma(Wy) C = sigma(Y*Wy) D = sigma(X *X * Wy) E = sigma(X*Y*Wy) F = sigma(Y * Y *Wy)
then a = (EB-CA)/(DB-AA) b =(DC-EA)/(DB-AA)
Definition at line 678 of file QwCombinedBPM.cc.
References A, VQwBPM::axis, B, covab, D, erra, errb, fAbsPos, fElement, fIntercept, fMinimumChiSquare, fSlope, GetPosition(), VQwBPM::GetPositionInZ(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and VQwBPM::kYAxis.
Referenced by ProcessEvent().
|
inlineoverridevirtual |
|
overridevirtual |
Reimplemented from VQwDataElement.
Definition at line 1320 of file QwCombinedBPM.cc.
References fAbsPos, fSlope, QwParameterFile::GetLine(), QwParameterFile::GetNextToken(), QwParameterFile::GetTypedNextToken(), VQwBPM::kXAxis, VQwBPM::kYAxis, and VQwBPM::SetResolution().
|
private |
Definition at line 1261 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fBPMComboElementList, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwBPM::kNumAxes, and VQwBPM::kXAxis.
|
virtual |
Definition at line 912 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and QwCombinedBPM().
|
overridevirtual |
Implements VQwBPM.
Definition at line 904 of file QwCombinedBPM.cc.
References QwCombinedBPM(), and VQwBPM::VQwBPM().
|
virtual |
Definition at line 937 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and QwCombinedBPM().
|
overridevirtual |
Implements VQwBPM.
Definition at line 928 of file QwCombinedBPM.cc.
References QwCombinedBPM(), and VQwBPM::VQwBPM().
|
virtual |
Definition at line 887 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, VQwBPM::operator=(), and QwCombinedBPM().
|
overridevirtual |
Implements VQwBPM.
Definition at line 879 of file QwCombinedBPM.cc.
References QwCombinedBPM(), and VQwBPM::VQwBPM().
|
overridevirtual |
Print persistent error counters for all derived outputs.
Reimplemented from VQwDataElement.
Definition at line 199 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwBPM::kNumAxes, and VQwBPM::kXAxis.
|
overridevirtual |
Print multiple lines of information about this data element.
TODO: To print the Z position, we need to use GetPositionInZ()
Reimplemented from VQwDataElement.
Definition at line 858 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwBPM::kNumAxes, and VQwBPM::kXAxis.
|
overridevirtual |
Print single line of value and error of this data element.
TODO: To print the Z position, we need to use GetPositionInZ()
Reimplemented from VQwDataElement.
Definition at line 838 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwBPM::kNumAxes, and VQwBPM::kXAxis.
|
overridevirtual |
Process the CODA event buffer for this element.
Implements VQwDataElement.
Definition at line 792 of file QwCombinedBPM.cc.
|
overridevirtual |
Implements VQwBPM.
Definition at line 529 of file QwCombinedBPM.cc.
References VQwBPM::axis, CalculateFixedParameter(), ClearEventData(), fAbsPos, fEffectiveCharge, fElement, fIntercept, fixedParamCalculated, fMinimumChiSquare, fQWeights, fSlope, fSumQweights, fXWeights, fYWeights, GetEffectiveCharge(), VQwBPM::kNumAxes, VQwBPM::kXAxis, VQwBPM::kYAxis, and LeastSquareFit().
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 1285 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fIntercept, fSlope, VQwBPM::GetPositionInZ(), VQwBPM::kNumAxes, and VQwBPM::kXAxis.
void QwCombinedBPM< T >::Ratio | ( | QwCombinedBPM< T > & | numer, |
QwCombinedBPM< T > & | denom ) |
Definition at line 961 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and QwCombinedBPM().
Referenced by Ratio().
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 954 of file QwCombinedBPM.cc.
References QwCombinedBPM(), Ratio(), and VQwBPM::VQwBPM().
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 984 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwBPM::kNumAxes, and VQwBPM::kXAxis.
|
overridevirtual |
Add a constituent BPM and associated weights to the combination.
bpm | Pointer to a constituent BPM instance. |
charge_weight | Weight contributing to effective charge. |
x_weight | Weight contributing to X position fit. |
y_weight | Weight contributing to Y position fit. |
sumqw | Precomputed sum of absolute charge weights. |
Reimplemented from VQwBPM.
Definition at line 141 of file QwCombinedBPM.cc.
References fElement, fQWeights, fSumQweights, fXWeights, fYWeights, and VQwBPM::VQwBPM().
|
overridevirtual |
Inherited from VQwDataElement to set the upper and lower limits (fULimit and fLLimit), stability % and the error flag on this channel.
Implements VQwBPM.
Definition at line 1244 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwBPM::kNumAxes, and VQwBPM::kXAxis.
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 1396 of file QwCombinedBPM.cc.
References fAbsPos, fSlope, VQwBPM::kXAxis, and VQwBPM::kYAxis.
|
protected |
Definition at line 659 of file QwCombinedBPM.cc.
References fElement.
|
overridevirtual |
Update the error flag based on the error flags of internally contained objects Return parameter is the "Eventcut Error Flag".
Implements VQwBPM.
Definition at line 325 of file QwCombinedBPM.cc.
References VQwBPM::axis, fAbsPos, fEffectiveCharge, fElement, fIntercept, fMinimumChiSquare, fSlope, VQwBPM::kNumAxes, VQwBPM::kXAxis, and VQwBPM::kYAxis.
|
overridevirtual |
Implements VQwBPM.
Definition at line 500 of file QwCombinedBPM.cc.
References fAbsPos, fEffectiveCharge, fIntercept, fMinimumChiSquare, fSlope, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, QwCombinedBPM(), and VQwBPM::VQwBPM().
|
friend |
Definition at line 41 of file QwCombinedBPM.h.
References QwEnergyCalculator.
Referenced by QwEnergyCalculator.
|
private |
Definition at line 210 of file QwCombinedBPM.h.
Referenced by CalculateFixedParameter(), InitializeChannel(), InitializeChannel(), and LeastSquareFit().
|
private |
Definition at line 210 of file QwCombinedBPM.h.
Referenced by CalculateFixedParameter(), InitializeChannel(), InitializeChannel(), and LeastSquareFit().
|
private |
Definition at line 211 of file QwCombinedBPM.h.
|
private |
Definition at line 209 of file QwCombinedBPM.h.
Referenced by CalculateFixedParameter(), InitializeChannel(), InitializeChannel(), and LeastSquareFit().
|
private |
Definition at line 210 of file QwCombinedBPM.h.
Referenced by CalculateFixedParameter(), InitializeChannel(), InitializeChannel(), and LeastSquareFit().
|
private |
Definition at line 209 of file QwCombinedBPM.h.
Referenced by CalculateFixedParameter(), InitializeChannel(), InitializeChannel(), and LeastSquareFit().
|
private |
Definition at line 209 of file QwCombinedBPM.h.
Referenced by CalculateFixedParameter(), InitializeChannel(), InitializeChannel(), and LeastSquareFit().
|
protected |
Definition at line 232 of file QwCombinedBPM.h.
Referenced by AccumulateRunningSum(), ApplySingleEventCuts(), CalculateRunningAverage(), CheckForBurpFail(), ClearEventData(), ConstructBranch(), ConstructBranch(), ConstructBranchAndVector(), ConstructHistograms(), DeaccumulateRunningSum(), FillHistograms(), FillTreeVector(), GetEventcutErrorFlag(), GetPosition(), GetSubelementByName(), IncrementErrorCounters(), InitializeChannel(), InitializeChannel(), LeastSquareFit(), LoadMockDataParameters(), MakeBPMComboList(), operator+=(), operator-=(), operator=(), PrintErrorCounters(), PrintInfo(), PrintValue(), ProcessEvent(), QwCombinedBPM(), RandomizeEventData(), Ratio(), Scale(), SetEventCutMode(), SetRandomEventParameters(), UpdateErrorFlag(), and UpdateErrorFlag().
|
private |
Definition at line 238 of file QwCombinedBPM.h.
Referenced by MakeBPMComboList().
|
protected |
Definition at line 233 of file QwCombinedBPM.h.
Referenced by AccumulateRunningSum(), ApplySingleEventCuts(), CalculateRunningAverage(), CheckForBurpFail(), ClearEventData(), ConstructBranch(), ConstructBranch(), ConstructBranchAndVector(), ConstructHistograms(), DeaccumulateRunningSum(), FillHistograms(), FillTreeVector(), GetEffectiveCharge(), GetEventcutErrorFlag(), GetSubelementByName(), IncrementErrorCounters(), InitializeChannel(), InitializeChannel(), MakeBPMComboList(), operator+=(), operator-=(), operator=(), PrintErrorCounters(), PrintInfo(), PrintValue(), ProcessEvent(), QwCombinedBPM(), Ratio(), Scale(), SetEventCutMode(), UpdateErrorFlag(), and UpdateErrorFlag().
|
private |
Definition at line 214 of file QwCombinedBPM.h.
Referenced by ApplySingleEventCuts(), CalculateFixedParameter(), GetNumberOfElements(), GetSubElementName(), InitializeChannel(), InitializeChannel(), LeastSquareFit(), ProcessEvent(), SetBPMForCombo(), SumOver(), and UpdateErrorFlag().
|
protected |
Definition at line 225 of file QwCombinedBPM.h.
Referenced by AccumulateRunningSum(), ApplySingleEventCuts(), CalculateRunningAverage(), CheckForBurpFail(), ClearEventData(), ConstructBranch(), ConstructBranch(), ConstructBranchAndVector(), ConstructHistograms(), DeaccumulateRunningSum(), FillHistograms(), FillTreeVector(), GetEventcutErrorFlag(), GetProjectedPosition(), GetSubelementByName(), IncrementErrorCounters(), InitializeChannel(), InitializeChannel(), LeastSquareFit(), MakeBPMComboList(), operator+=(), operator-=(), operator=(), PrintErrorCounters(), PrintInfo(), PrintValue(), ProcessEvent(), QwCombinedBPM(), RandomizeEventData(), Ratio(), Scale(), SetEventCutMode(), UpdateErrorFlag(), and UpdateErrorFlag().
|
private |
Definition at line 206 of file QwCombinedBPM.h.
Referenced by InitializeChannel(), InitializeChannel(), and ProcessEvent().
|
protected |
Definition at line 228 of file QwCombinedBPM.h.
Referenced by AccumulateRunningSum(), ApplySingleEventCuts(), CalculateRunningAverage(), CheckForBurpFail(), ConstructBranch(), ConstructBranch(), ConstructBranchAndVector(), ConstructHistograms(), DeaccumulateRunningSum(), FillHistograms(), FillTreeVector(), GetEventcutErrorFlag(), GetSubelementByName(), IncrementErrorCounters(), InitializeChannel(), InitializeChannel(), LeastSquareFit(), MakeBPMComboList(), operator+=(), operator-=(), operator=(), PrintErrorCounters(), PrintInfo(), PrintValue(), ProcessEvent(), QwCombinedBPM(), Ratio(), Scale(), SetEventCutMode(), UpdateErrorFlag(), and UpdateErrorFlag().
|
private |
Definition at line 215 of file QwCombinedBPM.h.
Referenced by InitializeChannel(), InitializeChannel(), ProcessEvent(), and SetBPMForCombo().
|
protected |
Definition at line 222 of file QwCombinedBPM.h.
Referenced by AccumulateRunningSum(), ApplySingleEventCuts(), CalculateRunningAverage(), CheckForBurpFail(), ClearEventData(), ConstructBranch(), ConstructBranch(), ConstructBranchAndVector(), ConstructHistograms(), DeaccumulateRunningSum(), FillHistograms(), FillTreeVector(), GetAngleX(), GetAngleY(), GetEventcutErrorFlag(), GetProjectedPosition(), GetSlope(), GetSubelementByName(), IncrementErrorCounters(), InitializeChannel(), InitializeChannel(), LeastSquareFit(), LoadMockDataParameters(), MakeBPMComboList(), operator+=(), operator-=(), operator=(), PrintErrorCounters(), PrintInfo(), PrintValue(), ProcessEvent(), QwCombinedBPM(), RandomizeEventData(), Ratio(), Scale(), SetEventCutMode(), SetRandomEventParameters(), UpdateErrorFlag(), and UpdateErrorFlag().
|
private |
Definition at line 212 of file QwCombinedBPM.h.
Referenced by InitializeChannel(), InitializeChannel(), ProcessEvent(), and SetBPMForCombo().
|
private |
Definition at line 216 of file QwCombinedBPM.h.
Referenced by InitializeChannel(), InitializeChannel(), ProcessEvent(), and SetBPMForCombo().
|
private |
Definition at line 217 of file QwCombinedBPM.h.
Referenced by InitializeChannel(), InitializeChannel(), ProcessEvent(), and SetBPMForCombo().
|
private |
Definition at line 210 of file QwCombinedBPM.h.
Referenced by CalculateFixedParameter(), InitializeChannel(), and InitializeChannel().