Belle II Software  release-08-01-10
CDCRecoHit2D Class Reference

Class representing a two dimensional reconstructed hit in the central drift chamber. More...

#include <CDCRecoHit2D.h>

Collaboration diagram for CDCRecoHit2D:

Public Member Functions

 CDCRecoHit2D ()=default
 Default constructor for ROOT.
 
 CDCRecoHit2D (const CDCRLWireHit &rlWireHit, const Vector2D &recoDisp2D)
 Constructs a reconstructed hit based on the given oriented wire hit with the given displacement from the wire reference position.
 
 CDCRecoHit2D (const CDCRLWireHit &rlWireHit)
 Constructs a reconstructed hit based on the oriented wire hit with no displacement.
 
void reverse ()
 Turns the orientation in place. More...
 
CDCRecoHit2D reversed () const
 Returns the recohit with the opposite right left information.
 
CDCRecoHit2D getAlias () const
 Getter for the alias version of the reco hit.
 
 operator const Belle2::CDCHit * () const
 Make the wire hit automatically castable to its underlying cdcHit.
 
bool operator== (const CDCRecoHit2D &other) const
 Equality comparision based on the oriented wire hit and displacement.
 
bool operator< (const CDCRecoHit2D &other) const
 Total ordering relation based on wire hit, left right passage information and displacement in this order of importance.
 
EStereoKind getStereoKind () const
 Getter for the stereo type of the underlying wire.
 
bool isAxial () const
 Indicator if the underlying wire is axial.
 
ISuperLayer getISuperLayer () const
 Getter for the superlayer id.
 
const CDCWiregetWire () const
 Getter for the wire the reconstructed hit assoziated to.
 
const Vector2DgetRefPos2D () const
 Getter for the reference position of the wire.
 
bool isOnWire (const CDCWire &wire) const
 Checks if the reconstructed hit is assoziated with the give wire.
 
const CDCWireHitgetWireHit () const
 Getter for the wire hit assoziated with the reconstructed hit.
 
bool hasWireHit (const CDCWireHit &wireHit) const
 Checks if the reconstructed hit is assoziated with the give wire hit.
 
ERightLeft getRLInfo () const
 Getter for the right left passage information.
 
void setRLInfo (ERightLeft &rlInfo)
 Setter the right left passage information.
 
double getRefDriftLength () const
 Getter for the drift length at the wire reference position.
 
void setRefDriftLength (double driftLength, bool snapRecoPos)
 Setter for the drift length at the wire reference position.
 
double getSignedRefDriftLength () const
 Getter for the drift length at the wire reference position signed with the right left passage hypotheses.
 
double getRefDriftLengthVariance () const
 Getter for the uncertainty in the drift length at the wire reference position.
 
Vector2D getRecoPos2D () const
 Getter for the position in the reference plane.
 
void setRecoPos2D (const Vector2D &recoPos2D)
 Setter for the position in the reference plane.
 
const Vector2DgetRecoDisp2D () const
 Getter for the displacement from the wire reference position.
 
Vector2D getFlightDirection2D () const
 Getter for the direction of flight.
 
double getAlpha () const
 Getter for the direction of flight relative to the position.
 
void snapToDriftCircle (bool switchSide=false)
 Scales the displacement vector in place to lie on the dirft circle.
 
Vector3D reconstruct3D (const CDCTrajectory2D &trajectory2D, const double z=0) const
 Reconstruct the three dimensional position (especially of stereo hits) by determinating the z coordinate such that the reconstucted position lies on the given two dimensional trajectory as the reference reconstructed position is moved parallel to the stereo wire. More...
 
const CDCRLWireHitgetRLWireHit () const
 Getter for the oriented wire hit assoziated with the reconstructed hit.
 
void setRLWireHit (const CDCRLWireHit &rlWireHit)
 Setter for the oriented wire hit assoziated with the reconstructed hit.
 

Static Public Member Functions

static CDCRecoHit2D average (const CDCRecoHit2D &recoHit1, const CDCRecoHit2D &recoHit2)
 Constructs the average of two reconstructed hit positions and snaps it to the drift circle. More...
 
static CDCRecoHit2D average (const CDCRecoHit2D &recoHit1, const CDCRecoHit2D &recoHit2, const CDCRecoHit2D &recoHit3)
 Constructs the average of three reconstructed hit positions and snaps it to the drift circle. More...
 
static CDCRecoHit2D fromRecoPos2D (const CDCRLWireHit &rlWireHit, const Vector2D &recoPos2D, bool snap=true)
 Constructs a two dimensional reconstructed hit from an absolute position. More...
 
static CDCRecoHit2D fromSimHit (const CDCWireHit *wireHit, const CDCSimHit &simHit)
 Constructs a two dimensional reconstructed hit from a sim hit and the assoziated wirehit. More...
 

Private Attributes

CDCRLWireHit m_rlWireHit
 Memory for the reference to the assiziated wire hit.
 
Vector2D m_recoDisp2D
 Memory for the displacement fo the assoziated wire reference position.
 

Friends

bool operator< (const CDCRecoHit2D &recoHit2D, const CDCWire &wire)
 Defines wires and the two dimensional reconstructed hits as coaligned.
 
bool operator< (const CDCWire &wire, const CDCRecoHit2D &recoHit2D)
 Defines wires and the two dimensional reconstructed hits as coaligned.
 
bool operator< (const CDCRecoHit2D &recoHit2D, const CDCWireHit &wireHit)
 Defines wire hits and the two dimensional reconstructed hits as coaligned.
 
bool operator< (const CDCWireHit &wireHit, const CDCRecoHit2D &recoHit2D)
 Defines wire hits and the two dimensional reconstructed hits as coaligned.
 

Detailed Description

Class representing a two dimensional reconstructed hit in the central drift chamber.

A recohit represents a likely point where the particle went through. It is always associated with a wire hit it seeks to reconstruct. The reconstructed point is stored as a displacement from the wire reference position assoziated with the hit. The displacement generally is as long as the drift length but must not.
In addition the reconstructed hit takes a right left passage information which indicates if the hit wire lies to the right or to the left of the particle trajectory causing the hit. The later readily indicates a flight direction from the reconstructed hit, if a tangential approach of the trajectory to the drift circle is assumed.

Definition at line 47 of file CDCRecoHit2D.h.

Member Function Documentation

◆ average() [1/2]

CDCRecoHit2D average ( const CDCRecoHit2D recoHit1,
const CDCRecoHit2D recoHit2 
)
static

Constructs the average of two reconstructed hit positions and snaps it to the drift circle.

Averages the hit positions first. But the result will not lie on the circle, so we scale the displacement to snap onto the drift circle again. The function averages only reconstructed hits assoziated with the same right left oriented wire hit.
If not all recostructed hits are on the same wire hit, the first hit is used.

Definition at line 47 of file CDCRecoHit2D.cc.

49 {
50  CDCRLWireHit rlWireHit =
52  recoHit2.getRLWireHit());
53 
54  Vector2D displacement =
56  recoHit2.getRecoDisp2D());
57 
58  CDCRecoHit2D result(rlWireHit, displacement);
59  result.snapToDriftCircle();
60 
61  return result;
62 }
Class representing an oriented hit wire including a hypotheses whether the causing track passes left ...
Definition: CDCRLWireHit.h:41
static CDCRLWireHit average(const CDCRLWireHit &rlWireHit1, const CDCRLWireHit &rlWireHit2)
Constructs the average of two wire hits with right left passage informations.
Definition: CDCRLWireHit.cc:59
Class representing a two dimensional reconstructed hit in the central drift chamber.
Definition: CDCRecoHit2D.h:47
const CDCRLWireHit & getRLWireHit() const
Getter for the oriented wire hit assoziated with the reconstructed hit.
Definition: CDCRecoHit2D.h:281
const Vector2D & getRecoDisp2D() const
Getter for the displacement from the wire reference position.
Definition: CDCRecoHit2D.h:250
A two dimensional vector which is equipped with functions for correct handeling of orientation relat...
Definition: Vector2D.h:35
static Vector2D average(const Vector2D &one, const Vector2D &two)
Constructs the average of two vectors.
Definition: Vector2D.h:93

◆ average() [2/2]

CDCRecoHit2D average ( const CDCRecoHit2D recoHit1,
const CDCRecoHit2D recoHit2,
const CDCRecoHit2D recoHit3 
)
static

Constructs the average of three reconstructed hit positions and snaps it to the drift circle.

Averages the hit positions first. But the result will not lie on the circle, so we scale the the displacement to snap onto the drift circle again. The function averages only reconstructed hits assoziated with the same wire hit.
If not all recostructed hits are on the same wire, the first hit is used.

Definition at line 64 of file CDCRecoHit2D.cc.

◆ fromRecoPos2D()

CDCRecoHit2D fromRecoPos2D ( const CDCRLWireHit rlWireHit,
const Vector2D recoPos2D,
bool  snap = true 
)
static

Constructs a two dimensional reconstructed hit from an absolute position.

Parameters
rlWireHitthe oriented wire hit the reconstructed hit is assoziated to
recoPos2Dthe absolut position of the wire
snapoptional indicator if the displacement shall be shrank to the drift circle (default true)

Definition at line 84 of file CDCRecoHit2D.cc.

◆ fromSimHit()

CDCRecoHit2D fromSimHit ( const CDCWireHit wireHit,
const CDCSimHit simHit 
)
static

Constructs a two dimensional reconstructed hit from a sim hit and the assoziated wirehit.

This translates the sim hit to a reconstructed hit mainly to be able to compare the reconstructed values from the algorithm with the Monte Carlo information. It merely takes the displacement from the wire, projects it to the reference plane and scales it onto the drift circle defined by the wire.

Definition at line 35 of file CDCRecoHit2D.cc.

◆ reconstruct3D()

Vector3D reconstruct3D ( const CDCTrajectory2D trajectory2D,
const double  z = 0 
) const

Reconstruct the three dimensional position (especially of stereo hits) by determinating the z coordinate such that the reconstucted position lies on the given two dimensional trajectory as the reference reconstructed position is moved parallel to the stereo wire.

For axial hits the point of closest approach on the trajectory is returned.

Definition at line 129 of file CDCRecoHit2D.cc.

◆ reverse()

void reverse ( )

Turns the orientation in place.

Changes the sign of the right left passage information, since the position remains the same by this reversion.

Definition at line 93 of file CDCRecoHit2D.cc.


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