Belle II Software development
AnalyzingAlgorithmValueP< DataType, TCInfoType, VectorType > Class Template Reference

Class for storing an algorithm determining the momentum in |p|. More...

#include <AnalyzingAlgorithmValues.h>

Inheritance diagram for AnalyzingAlgorithmValueP< DataType, TCInfoType, VectorType >:
AnalyzingAlgorithmBase< DataType, TCInfoType, VectorType >

Public Member Functions

 AnalyzingAlgorithmValueP ()
 constructor
 
DataType calcData (const TCInfoType &aTC) override
 returns the momentum in |p|
 
 BELLE2_DEFINE_EXCEPTION (No_refTC_Attached, "To given testTC no refTC was attached, could not provide valid data for algorithm - no value returned!")
 this exception is thrown if m_storeRefTCDataForTestTC is true and no refTC could be found
 
bool operator== (const AnalyzingAlgorithmBase &b) const
 operator for comparison.
 
AlgoritmType::Type getID () const
 returns unique ID
 
std::string getIDName () const
 returns unique ID as a string
 

Static Public Member Functions

static VectorType & getOrigin ()
 returns current value for the origin
 
static void setOrigin (VectorType newOrigin)
 set origin for all inherited classes
 
static bool willRefTCdataBeUsed4TestTCs ()
 returns current choice for behavior of algorithms in terms of storing reference or testData for successfully matched TCs
 
static void setWillRefTCdataBeUsed4TestTCs (bool newBehavior)
 set behavior of algorithms in terms of storing reference or testData for successfully matched TCs
 

Protected Member Functions

virtual const TCInfoType & chooseCorrectTC (const TCInfoType &aTC) const
 virtual class to determine the correct TC to be used for algorithm calculation.
 
virtual const TcPair chooseCorrectPairOfTCs (const TCInfoType &aTC) const
 makes sure that TcPair.refTC and .testTC are correctly set - throws exception if there are problems
 

Protected Attributes

AlgoritmType::Type m_iD
 carries unique ID
 

Static Protected Attributes

static VectorType s_origin
 stores the origin used for some calculations, can be set here
 
static bool m_storeRefTCDataForTestTC
 if true, for testTC the values of attached refTC will be stored instead of own values.
 

Detailed Description

template<class DataType, class TCInfoType, class VectorType>
class Belle2::AnalyzingAlgorithmValueP< DataType, TCInfoType, VectorType >

Class for storing an algorithm determining the momentum in |p|.

Definition at line 84 of file AnalyzingAlgorithmValues.h.

Constructor & Destructor Documentation

◆ AnalyzingAlgorithmValueP()

template<class DataType, class TCInfoType, class VectorType>
AnalyzingAlgorithmValueP ( )
inline

constructor

Definition at line 87 of file AnalyzingAlgorithmValues.h.

87: AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>(AlgoritmType::AnalyzingAlgorithmValueP) {}

Member Function Documentation

◆ calcData()

template<class DataType, class TCInfoType, class VectorType>
DataType calcData ( const TCInfoType & aTC)
inlineoverridevirtual

returns the momentum in |p|

Reimplemented from AnalyzingAlgorithmBase< DataType, TCInfoType, VectorType >.

Definition at line 90 of file AnalyzingAlgorithmValues.h.

91 { return AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>::chooseCorrectTC(aTC).m_momSeed.R(); }

◆ chooseCorrectPairOfTCs()

template<class DataType, class TCInfoType, class VectorType>
virtual const TcPair chooseCorrectPairOfTCs ( const TCInfoType & aTC) const
inlineprotectedvirtualinherited

makes sure that TcPair.refTC and .testTC are correctly set - throws exception if there are problems

Definition at line 100 of file AnalyzingAlgorithmBase.h.

101 {
102 // capture bad case, where second TC is missing:
103 if (aTC.m_assignedTC == nullptr) { throw AnalyzingAlgorithmBase::No_refTC_Attached(); }
104
105 if (aTC.m_tcType == TCType::Reference or aTC.m_tcType == TCType::Lost) {
106 return TcPair(aTC, *aTC.m_assignedTC);
107 }
108 return TcPair(*aTC.m_assignedTC, aTC);
109 }

◆ chooseCorrectTC()

template<class DataType, class TCInfoType, class VectorType>
virtual const TCInfoType & chooseCorrectTC ( const TCInfoType & aTC) const
inlineprotectedvirtualinherited

virtual class to determine the correct TC to be used for algorithm calculation.

  • throws exception if there are problems. More explanations @ m_storeRefTCDataForTestTC.

Definition at line 84 of file AnalyzingAlgorithmBase.h.

85 {
86 // capture cases of aTC == referenceTC first:
87 if (TCType::isReference(aTC.m_tcType)) { return aTC; }
88
89 // is no reference TC and own data usage is allowed:
90 if (m_storeRefTCDataForTestTC == false) { return aTC; }
91
92 // handle cases when attached reference TC has to be used instead of own data:
93 if (aTC.m_assignedTC != nullptr) { return *aTC.m_assignedTC; }
94
95 throw AnalyzingAlgorithmBase::No_refTC_Attached();
96 }

◆ getID()

template<class DataType, class TCInfoType, class VectorType>
AlgoritmType::Type getID ( ) const
inlineinherited

returns unique ID

Definition at line 131 of file AnalyzingAlgorithmBase.h.

131{ return m_iD; }

◆ getIDName()

template<class DataType, class TCInfoType, class VectorType>
std::string getIDName ( ) const
inlineinherited

returns unique ID as a string

Definition at line 134 of file AnalyzingAlgorithmBase.h.

134{ return AlgoritmType::getTypeName(m_iD); }

◆ getOrigin()

template<class DataType, class TCInfoType, class VectorType>
static VectorType & getOrigin ( )
inlinestaticinherited

returns current value for the origin

Definition at line 137 of file AnalyzingAlgorithmBase.h.

137{ return s_origin; }

◆ operator==()

template<class DataType, class TCInfoType, class VectorType>
bool operator== ( const AnalyzingAlgorithmBase< DataType, TCInfoType, VectorType > & b) const
inlineinherited

operator for comparison.

Definition at line 127 of file AnalyzingAlgorithmBase.h.

127{ return m_iD == b.getID(); }

◆ setOrigin()

template<class DataType, class TCInfoType, class VectorType>
static void setOrigin ( VectorType newOrigin)
inlinestaticinherited

set origin for all inherited classes

Definition at line 141 of file AnalyzingAlgorithmBase.h.

141{ s_origin = newOrigin; }

◆ setWillRefTCdataBeUsed4TestTCs()

template<class DataType, class TCInfoType, class VectorType>
static void setWillRefTCdataBeUsed4TestTCs ( bool newBehavior)
inlinestaticinherited

set behavior of algorithms in terms of storing reference or testData for successfully matched TCs

Definition at line 149 of file AnalyzingAlgorithmBase.h.

149{ m_storeRefTCDataForTestTC = newBehavior; }

◆ willRefTCdataBeUsed4TestTCs()

template<class DataType, class TCInfoType, class VectorType>
static bool willRefTCdataBeUsed4TestTCs ( )
inlinestaticinherited

returns current choice for behavior of algorithms in terms of storing reference or testData for successfully matched TCs

Definition at line 145 of file AnalyzingAlgorithmBase.h.

145{ return m_storeRefTCDataForTestTC; }

Member Data Documentation

◆ m_iD

template<class DataType, class TCInfoType, class VectorType>
AlgoritmType::Type m_iD
protectedinherited

carries unique ID

Definition at line 51 of file AnalyzingAlgorithmBase.h.

◆ m_storeRefTCDataForTestTC

template<class DataType, class TCInfoType, class VectorType>
bool m_storeRefTCDataForTestTC
staticprotectedinherited

if true, for testTC the values of attached refTC will be stored instead of own values.

  • why are there values of the mcTC stored? we want to know the real data, not the guesses of the reconstructed data. Deviations of reference values to guesses of the reconstructed data will be stored in resiudals anyway.

Definition at line 64 of file AnalyzingAlgorithmBase.h.

◆ s_origin

template<class DataType, class TCInfoType, class VectorType>
VectorType s_origin
staticprotectedinherited

stores the origin used for some calculations, can be set here

Definition at line 55 of file AnalyzingAlgorithmBase.h.


The documentation for this class was generated from the following file: