11#include <tracking/trackFindingVXD/analyzingTools/algorithms/AnalyzingAlgorithmBase.h>
15#include <Math/VectorUtil.h>
27 template <
class DataType,
class TCInfoType,
class VectorType>
35 DataType
calcData(
const TCInfoType& aTC)
override
38 return tcs.refTC->m_momSeed.X() - tcs.testTC->m_momSeed.X();
45 template <
class DataType,
class TCInfoType,
class VectorType>
53 DataType
calcData(
const TCInfoType& aTC)
override
56 return tcs.refTC->m_momSeed.Y() - tcs.testTC->m_momSeed.Y();
63 template <
class DataType,
class TCInfoType,
class VectorType>
71 DataType
calcData(
const TCInfoType& aTC)
override
74 return tcs.refTC->m_momSeed.Z() - tcs.testTC->m_momSeed.Z();
81 template <
class DataType,
class TCInfoType,
class VectorType>
89 DataType
calcData(
const TCInfoType& aTC)
override
92 return tcs.refTC->m_momSeed.Rho() - tcs.testTC->m_momSeed.Rho();
99 template <
class DataType,
class TCInfoType,
class VectorType>
110 return tcs.refTC->m_momSeed.R() - tcs.testTC->m_momSeed.R();
117 template <
class DataType,
class TCInfoType,
class VectorType>
128 return tcs.refTC->m_momSeed.Theta() * TMath::RadToDeg() - tcs.testTC->m_momSeed.Theta() * TMath::RadToDeg();
135 template <
class DataType,
class TCInfoType,
class VectorType>
146 return tcs.refTC->m_momSeed.Phi() * TMath::RadToDeg() - tcs.testTC->m_momSeed.Phi() * TMath::RadToDeg();
153 template <
class DataType,
class TCInfoType,
class VectorType>
164 return ROOT::Math::VectorUtil::Angle(tcs.testTC->m_momSeed, tcs.refTC->m_momSeed) * TMath::RadToDeg();
171 template <
class DataType,
class TCInfoType,
class VectorType>
182 VectorType refMom = tcs.refTC->m_momSeed;
184 VectorType testMom = tcs.testTC->m_momSeed;
186 return ROOT::Math::VectorUtil::Angle(testMom, refMom) * TMath::RadToDeg();
193 template <
class DataType,
class TCInfoType,
class VectorType>
204 return (tcs.refTC->m_posSeed - tcs.testTC->m_posSeed).R();
211 template <
class DataType,
class TCInfoType,
class VectorType>
222 return (tcs.refTC->m_posSeed - tcs.testTC->m_posSeed).Rho();
Small class for classifying types of analyzing algorithms.
AnalyzingAlgorithmBase(const AlgoritmType::Type &newID)
constructor used for inheriting classes
virtual const TcPair chooseCorrectPairOfTCs(const TCInfoType &aTC) const
makes sure that TcPair.refTC and .testTC are correctly set - throws exception if there are problems
DataType calcData(const TCInfoType &aTC) override
returns the residual (ref-test) of momentum in its angle (direction residual in degrees)
AnalyzingAlgorithmResidualPAngle()
constructor
DataType calcData(const TCInfoType &aTC) override
returns the residual (ref-test) of momentum in phi (in degrees)
AnalyzingAlgorithmResidualPPhi()
constructor
AnalyzingAlgorithmResidualPTAngle()
constructor
DataType calcData(const TCInfoType &aTC) override
returns the residual (ref-test) of pT in angle (transverse direction residual in degrees)
DataType calcData(const TCInfoType &aTC) override
returns the residual (ref-test) of momentum in pT
AnalyzingAlgorithmResidualPT()
constructor
DataType calcData(const TCInfoType &aTC) override
returns the residual (ref-test) of momentum in theta (in degrees)
AnalyzingAlgorithmResidualPTheta()
constructor
AnalyzingAlgorithmResidualPX()
constructor
DataType calcData(const TCInfoType &aTC) override
returns the residual (ref-test) of momentum in X
AnalyzingAlgorithmResidualPY()
constructor
DataType calcData(const TCInfoType &aTC) override
returns the residual (ref-test) of momentum in Y
AnalyzingAlgorithmResidualPZ()
constructor
DataType calcData(const TCInfoType &aTC) override
returns the residual (ref-test) of momentum in Z
AnalyzingAlgorithmResidualP()
constructor
DataType calcData(const TCInfoType &aTC) override
returns the residual (ref-test) of momentum in |p|
DataType calcData(const TCInfoType &aTC) override
returns the residual (ref-test) of the seed position in XY (=r)
AnalyzingAlgorithmResidualPositionXY()
constructor
AnalyzingAlgorithmResidualPosition()
constructor
DataType calcData(const TCInfoType &aTC) override
returns the residual (ref-test) of the seed position in 3D
Abstract base class for different kinds of events.