Belle II Software  release-05-02-19
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 45 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 146 of file StereoHitContained.h.

146  {
147  return ERightLeft::c_Unknown;
148  } else if (isRightIn) {
149  return ERightLeft::c_Right;
150  } else if (isLeftIn) {
151  return ERightLeft::c_Left;
152  } else {
153  return ERightLeft::c_Invalid;
154  }
155  }
156 
158  bool contains(const HoughBox& houghBox, const CDCWire& wire, double signedDriftLength)
159  {
160  const Vector2D& pos2D = wire.getRefPos2D();
161  //const Vector2D& pos2D = wire.getWirePos2DAtZ(0);
162  const Vector2D& movePerZ = wire.getMovePerZ();
163  ILayer iCLayer(wire.getICLayer());

◆ 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 121 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 84 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 57 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 100 of file StereoHitContained.h.


The documentation for this class was generated from the following file:
Belle2::TrackFindingCDC::StereoHitContained::contains
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.
Definition: StereoHitContained.h:166
Belle2::TrackFindingCDC::StereoHitContained::HoughBox
typename AInBox::HoughBox HoughBox
The hough box which represents the hough space part to be investigated.
Definition: StereoHitContained.h:52