Belle II Software  release-08-01-10
StereoHitContained< AInBox > Class Template Reference

Predicate class to check for the containment of axial and stereo hits in some hough space part. More...

#include <StereoHitContained.h>

Inheritance diagram for StereoHitContained< AInBox >:
Collaboration diagram for StereoHitContained< AInBox >:

Public Types

using HoughBox = typename AInBox::HoughBox
 The hough box which represents the hough space part to be investigated.
 

Public Member Functions

Weight operator() (const CDCSegment2D *segment2D, const HoughBox *houghBox)
 Checks if more than 66% of the hits in this segment are contained in the phi0 curv hough space Returns the sum of the individual hit weights in this case. More...
 
Weight operator() (const CDCRecoHit2D *recoHit2D, const HoughBox *houghBox)
 Checks if the two dimensional reconstructed hit is contained in a phi0 curv hough space. More...
 
Weight operator() (const CDCWireHit *wireHit, const HoughBox *houghBox)
 Checks if the wire hit is contained in a phi0 curv hough space. More...
 
Weight operator() (CDCRLWireHit &rlTaggedWireHit, const HoughBox *houghBox)
 Checks if the wire hit is contained in a phi0 curv hough space. More...
 
ERightLeft containsRightOrLeft (const HoughBox &houghBox, const CDCWire &wire, double driftLength, ERightLeft rlInfo=ERightLeft::c_Unknown)
 Checks if a wire hit at a drift length is contained in the hough space part It investigates both right left passage hypotheses. More...
 
bool contains (const HoughBox &houghBox, const CDCWire &wire, double signedDriftLength)
 Checks if a wire hit at a signed drift length is contained in the hough space part.
 
void setRLWeightGain (float rlWeightGain)
 Setter for the gain in weight for hits which rl passage could be uniquly resolved.
 
float setRLWeightGain () const
 Getter for the gain in weight for hits which rl passage could be uniquly resolved.
 

Private Attributes

float m_rlWeightGain = 0
 Weight gain for a hit which right left passage hypotheses could be uniquely resolved.
 

Detailed Description

template<class AInBox>
class Belle2::TrackFindingCDC::StereoHitContained< AInBox >

Predicate class to check for the containment of axial and stereo hits in some hough space part.

The hough space is parameterised as a template parameter and is a basic objected that has been broadened by a sweep in the directions of interested.

Definition at line 35 of file StereoHitContained.h.

Member Function Documentation

◆ containsRightOrLeft()

ERightLeft containsRightOrLeft ( const HoughBox houghBox,
const CDCWire wire,
double  driftLength,
ERightLeft  rlInfo = ERightLeft::c_Unknown 
)
inline

Checks if a wire hit at a drift length is contained in the hough space part It investigates both right left passage hypotheses.

The evaluation can be limited by the optional rlInfo parameter, for instance when one passage hypothese could already be ruled out.

Returns
  • ERightLeft::c_Unknown if both right and left are still possible.
  • ERightLeft::c_Left if only left is still possible.
  • ERightLeft::c_Right if only right is still possible.
  • ERightLeft::c_Invalid if non of the orientations is possible.

Definition at line 136 of file StereoHitContained.h.

140  {
141  bool isRightIn = rlInfo != ERightLeft::c_Left and contains(houghBox, wire, driftLength);
142  bool isLeftIn = rlInfo != ERightLeft::c_Right and contains(houghBox, wire, -driftLength);
143 
144  if (isRightIn and isLeftIn) {
145  return ERightLeft::c_Unknown;
146  } else if (isRightIn) {
147  return ERightLeft::c_Right;
148  } else if (isLeftIn) {
149  return ERightLeft::c_Left;
150  } else {
151  return ERightLeft::c_Invalid;
152  }
153  }
bool contains(const HoughBox &houghBox, const CDCWire &wire, double signedDriftLength)
Checks if a wire hit at a signed drift length is contained in the hough space part.

◆ operator()() [1/4]

Weight operator() ( CDCRLWireHit rlTaggedWireHit,
const HoughBox houghBox 
)
inline

Checks if the wire hit is contained in a phi0 curv hough space.

If the wire hit was already determined to be right or left of all tracks in a wider hough hough box up the hierarchy only evaluate for that orientation. If one of the right left passage hypothesis can be ruled out in this hough box signal so by tagging it. Note the that the CDCRLWireHit is obtained as non-const reference to be able to write back the new right left passage hypothesis. Returns 1.0 if it is contained, returns NAN if it is not contained. Accepts if either the right passage hypothesis or the left passage hypothesis is in the hough box.

Definition at line 111 of file StereoHitContained.h.

◆ operator()() [2/4]

Weight operator() ( const CDCRecoHit2D recoHit2D,
const HoughBox houghBox 
)
inline

Checks if the two dimensional reconstructed hit is contained in a phi0 curv hough space.

Returns 1.0 if it is contained, returns NAN if it is not contained.

Definition at line 74 of file StereoHitContained.h.

◆ operator()() [3/4]

Weight operator() ( const CDCSegment2D segment2D,
const HoughBox houghBox 
)
inline

Checks if more than 66% of the hits in this segment are contained in the phi0 curv hough space Returns the sum of the individual hit weights in this case.

Else returns NAN.

Definition at line 47 of file StereoHitContained.h.

◆ operator()() [4/4]

Weight operator() ( const CDCWireHit wireHit,
const HoughBox houghBox 
)
inline

Checks if the wire hit is contained in a phi0 curv hough space.

Returns 1.0 if it is contained, returns NAN if it is not contained. Accepts if either the right passage hypothesis or the left passage hypothesis is in the hough box.

Definition at line 90 of file StereoHitContained.h.


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