Belle II Software development
FourHitFilters Class Reference

The class 'FourHitFilters' bundles filter methods using 4 hits which are stored in B2Vector3Ds. More...

#include <FourHitFilters.h>

Public Member Functions

 FourHitFilters ()
 Empty constructor.
 
 FourHitFilters (const B2Vector3D &outer, const B2Vector3D &outerCenter, const B2Vector3D &innerCenter, const B2Vector3D &inner, const double magneticFieldStrength=1.5)
 Constructor.
 
 ~FourHitFilters ()
 Destructor.
 
void resetValues (const B2Vector3D &outer, const B2Vector3D &outerCenter, const B2Vector3D &innerCenter, const B2Vector3D &inner)
 Overrides Constructor-Setup.
 
void resetMagneticField (const double magneticFieldStrength=1.5)
 Overrides Constructor-Setup for magnetic field.
 
double calcDeltapT ()
 calculates dpt-value (dpt= difference in transverse momentum of 2 subsets of the hits), returning unit: GeV/c
 
double deltapT ()
 legacy - compatibility for old cases
 
double calcDeltaDistCircleCenter ()
 calculates ddist2IP-value directly (ddist2IP= difference in magnitude of the points of closest approach of two circles calculated using 2 subsets of the hits)
 
double deltaDistCircleCenter ()
 legacy - compatibility for old cases
 

Protected Member Functions

void calcCircle ()
 calculates an estimation of circleCenter position including an estimation for the circle radius
 

Protected Attributes

B2Vector3D m_hitA
 outer hit (position relevant for useful filter calculation) used for the filter calculation
 
B2Vector3D m_hitB
 outerCenter hit (position relevant for useful filter calculation) used for the filter calculation
 
B2Vector3D m_hitC
 innerCenter hit (position relevant for useful filter calculation) used for the filter calculation
 
B2Vector3D m_hitD
 inner hit (position relevant for useful filter calculation) used for the filter calculation
 
B2Vector3D m_centerABC
 estimation of a circleCenterPosition using hits A, B & C
 
B2Vector3D m_centerBCD
 estimation of a circleCenterPosition using hitsBA, C & D
 
double m_radiusABC
 estimation of the radius of the circle using hits A, B & C
 
double m_radiusBCD
 estimation of a radius of the circle using hitsBA, C & D
 
ThreeHitFilters m_threeHitFilter
 instance of ThreeHitFilters-class used for some internal calculations
 
bool m_circleCalculated
 initially set to false, will be set true if calcCircle() is used at least once
 

Detailed Description

The class 'FourHitFilters' bundles filter methods using 4 hits which are stored in B2Vector3Ds.

Definition at line 23 of file FourHitFilters.h.

Constructor & Destructor Documentation

◆ FourHitFilters() [1/2]

FourHitFilters ( )
inline

Empty constructor.

For initialisation only, an object generated this way is useless unless resetValues(a, b) is called at least once

Definition at line 28 of file FourHitFilters.h.

28 :
29 m_radiusABC(0.),
30 m_radiusBCD(0.),
31 m_circleCalculated(false) {}
double m_radiusABC
estimation of the radius of the circle using hits A, B & C
double m_radiusBCD
estimation of a radius of the circle using hitsBA, C & D
bool m_circleCalculated
initially set to false, will be set true if calcCircle() is used at least once

◆ FourHitFilters() [2/2]

FourHitFilters ( const B2Vector3D outer,
const B2Vector3D outerCenter,
const B2Vector3D innerCenter,
const B2Vector3D inner,
const double  magneticFieldStrength = 1.5 
)
inline

Constructor.

expects 4 hits in B2Vector3D format, first parameter is outer hit, second is outerCenter hit, third is innercenter hit, last one is the innermost hit, optional parameter sets strength of magnetic field (standard is 1.5T)

Definition at line 34 of file FourHitFilters.h.

35 :
36 m_hitA(outer),
37 m_hitB(outerCenter),
38 m_hitC(innerCenter),
39 m_hitD(inner),
40 m_radiusABC(0.),
41 m_radiusBCD(0.),
42 m_circleCalculated(false) { m_threeHitFilter.resetMagneticField(magneticFieldStrength); }
B2Vector3D m_hitB
outerCenter hit (position relevant for useful filter calculation) used for the filter calculation
ThreeHitFilters m_threeHitFilter
instance of ThreeHitFilters-class used for some internal calculations
B2Vector3D m_hitC
innerCenter hit (position relevant for useful filter calculation) used for the filter calculation
B2Vector3D m_hitD
inner hit (position relevant for useful filter calculation) used for the filter calculation
B2Vector3D m_hitA
outer hit (position relevant for useful filter calculation) used for the filter calculation
void resetMagneticField(const double magneticFieldStrength=1.5)
Overrides Constructor-Setup for magnetic field.

◆ ~FourHitFilters()

~FourHitFilters ( )
inline

Destructor.

Definition at line 46 of file FourHitFilters.h.

46{}

Member Function Documentation

◆ calcCircle()

void calcCircle ( )
inlineprotected

calculates an estimation of circleCenter position including an estimation for the circle radius

Definition at line 81 of file FourHitFilters.h.

82 {
87
88 m_circleCalculated = true;
89 }
B2Vector3D m_centerABC
estimation of a circleCenterPosition using hits A, B & C
B2Vector3D m_centerBCD
estimation of a circleCenterPosition using hitsBA, C & D
void calcCircleCenter(const B2Vector3D &a, const B2Vector3D &b, const B2Vector3D &c, B2Vector3D &circleCenter)
calculates an estimation of circleCenter position, result is written into the 4th input-parameter
double calcRadius(const B2Vector3D &a, const B2Vector3D &b, const B2Vector3D &c, const B2Vector3D &circleCenter)
calculates an estimation of the radius of given hits and existing estimation of circleCenter,...

◆ calcDeltaDistCircleCenter()

double calcDeltaDistCircleCenter ( )

calculates ddist2IP-value directly (ddist2IP= difference in magnitude of the points of closest approach of two circles calculated using 2 subsets of the hits)

Definition at line 26 of file FourHitFilters.cc.

27{
28 if (m_circleCalculated == false) { calcCircle(); }
29 return (fabs(m_centerABC.Perp() - m_centerBCD.Perp())); // distance between both guesses of the intersection point
30} // return unit: cm
DataType Perp() const
The transverse component (R in cylindrical coordinate system).
Definition: B2Vector3.h:200
void calcCircle()
calculates an estimation of circleCenter position including an estimation for the circle radius

◆ calcDeltapT()

double calcDeltapT ( )

calculates dpt-value (dpt= difference in transverse momentum of 2 subsets of the hits), returning unit: GeV/c

TODO: evtly do a 'nan'-check for return values.

Definition at line 17 of file FourHitFilters.cc.

18{
19 if (m_circleCalculated == false) { calcCircle(); }
21 m_radiusBCD)); // , or, pT[GeV/c] = 0.299710*B[T]*r[m] = 0,449565*r[cm]/100 = 0.00449565*r[cm]
22}
double calcPt()
calculates the estimation of the transverse momentum of the 3-hit-tracklet, returning unit: GeV/c

◆ deltaDistCircleCenter()

double deltaDistCircleCenter ( )
inline

legacy - compatibility for old cases

Definition at line 77 of file FourHitFilters.h.

77{ return calcDeltaDistCircleCenter(); }
double calcDeltaDistCircleCenter()
calculates ddist2IP-value directly (ddist2IP= difference in magnitude of the points of closest approa...

◆ deltapT()

double deltapT ( )
inline

legacy - compatibility for old cases

Definition at line 69 of file FourHitFilters.h.

69{ return calcDeltapT(); }
double calcDeltapT()
calculates dpt-value (dpt= difference in transverse momentum of 2 subsets of the hits),...

◆ resetMagneticField()

void resetMagneticField ( const double  magneticFieldStrength = 1.5)
inline

Overrides Constructor-Setup for magnetic field.

if no value is given, magnetic field is assumed to be Belle2-Detector standard of 1.5T

Definition at line 61 of file FourHitFilters.h.

61{ m_threeHitFilter.resetMagneticField(magneticFieldStrength); }

◆ resetValues()

void resetValues ( const B2Vector3D outer,
const B2Vector3D outerCenter,
const B2Vector3D innerCenter,
const B2Vector3D inner 
)
inline

Overrides Constructor-Setup.

Needed if you want to reuse the instance instead of recreating one

Definition at line 49 of file FourHitFilters.h.

50 {
51 m_hitA = outer;
52 m_hitB = outerCenter;
53 m_hitC = innerCenter;
54 m_hitD = inner;
55 m_radiusABC = 0.;
56 m_radiusBCD = 0.;
57 m_circleCalculated = false;
58 }

Member Data Documentation

◆ m_centerABC

B2Vector3D m_centerABC
protected

estimation of a circleCenterPosition using hits A, B & C

Definition at line 95 of file FourHitFilters.h.

◆ m_centerBCD

B2Vector3D m_centerBCD
protected

estimation of a circleCenterPosition using hitsBA, C & D

Definition at line 96 of file FourHitFilters.h.

◆ m_circleCalculated

bool m_circleCalculated
protected

initially set to false, will be set true if calcCircle() is used at least once

Definition at line 100 of file FourHitFilters.h.

◆ m_hitA

B2Vector3D m_hitA
protected

outer hit (position relevant for useful filter calculation) used for the filter calculation

Definition at line 91 of file FourHitFilters.h.

◆ m_hitB

B2Vector3D m_hitB
protected

outerCenter hit (position relevant for useful filter calculation) used for the filter calculation

Definition at line 92 of file FourHitFilters.h.

◆ m_hitC

B2Vector3D m_hitC
protected

innerCenter hit (position relevant for useful filter calculation) used for the filter calculation

Definition at line 93 of file FourHitFilters.h.

◆ m_hitD

B2Vector3D m_hitD
protected

inner hit (position relevant for useful filter calculation) used for the filter calculation

Definition at line 94 of file FourHitFilters.h.

◆ m_radiusABC

double m_radiusABC
protected

estimation of the radius of the circle using hits A, B & C

Definition at line 97 of file FourHitFilters.h.

◆ m_radiusBCD

double m_radiusBCD
protected

estimation of a radius of the circle using hitsBA, C & D

Definition at line 98 of file FourHitFilters.h.

◆ m_threeHitFilter

ThreeHitFilters m_threeHitFilter
protected

instance of ThreeHitFilters-class used for some internal calculations

Definition at line 99 of file FourHitFilters.h.


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