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

Class representing a sequence of three dimensional reconstructed hits. More...

#include <CDCTrack.h>

Inheritance diagram for CDCTrack:
Collaboration diagram for CDCTrack:

Public Member Functions

 CDCTrack ()=default
 Default constructor for ROOT compatibility.
 
 CDCTrack (const std::vector< CDCRecoHit3D > &recoHits3D)
 Constructor from a series of hits.
 
 CDCTrack (const CDCSegment2D &segment)
 Constructor from a two dimensional segment filling the third dimension with 0 values.
 
bool operator< (const CDCTrack &track) const
 Comparision of track - no particular order has been defined so far, all tracks are equivalent.
 
std::vector< CDCSegment3DsplitIntoSegments () const
 Splits the track into segments. More...
 
ISuperLayer getStartISuperLayer () const
 Getter for the superlayer id the track starts from.
 
ISuperLayer getEndISuperLayer () const
 Getter for the superlayer id the track ends in.
 
const Vector3DgetStartRecoPos3D () const
 Getter for the position of the first reconstructed hit.
 
const Vector3DgetEndRecoPos3D () const
 Getter for the position of the last reconstructed hit.
 
void setStartTrajectory3D (const CDCTrajectory3D &startTrajectory3D)
 Setter for the two dimensional trajectory. More...
 
void setEndTrajectory3D (const CDCTrajectory3D &endTrajectory3D)
 Setter for the three dimensional trajectory. More...
 
const CDCTrajectory3DgetStartTrajectory3D () const
 Getter for the two dimensional trajectory. More...
 
const CDCTrajectory3DgetEndTrajectory3D () const
 Getter for the three dimensional trajectory. More...
 
AutomatonCellgetAutomatonCell () const
 Mutable getter for the automaton cell.
 
AutomatonCelloperator-> () const
 Indirection to the automaton cell for easier access to the flags.
 
void unsetAndForwardMaskedFlag () const
 Unset the masked flag of the automaton cell of this segment and of all contained wire hits.
 
void setAndForwardMaskedFlag () const
 Set the masked flag of the automaton cell of this segment and forward the masked flag to all contained wire hits.
 
void receiveMaskedFlag () const
 Check all contained wire hits if one has the masked flag. More...
 
void forwardTakenFlag (bool takenFlag=true) const
 Set the taken flag of all hits belonging to this track to the given value (default true), but do not touch the flag of the track itself.
 
void sortByArcLength2D ()
 Sort the recoHits according to their perpS information.
 
void shiftToPositiveArcLengths2D (bool doForAllTracks=false)
 Set all arcLengths to have positive values by shifting them by pi*radius if they are negative. More...
 
void reverse ()
 Reverse the track inplace.
 
CDCTrack reversed () const
 Return a reversed copy of the track.
 
MayBePtr< const CDCRecoHit3Dfind (const CDCWireHit &wireHit) const
 Finds the first CDCRecoHit3D that is based on the given wire hit - nullptr if none.
 
void setHasMatchingSegment (bool hasMatchingSegment=true)
 Set the flag which indicates that the track has a matching segment (probably only used in the SegmentTrackCombiner).
 
bool getHasMatchingSegment () const
 Get a flag which indicates that the track has a matching segment (probably set in the SegmentTrackCombiner). More...
 
float getQualityIndicator () const
 Get the multivariate quality indicator in [0, 1] attached the CDCTrack.
 
void setQualityIndicator (const float qualityIndicator)
 Set the multivariate quality indicator in [0, 1] attached the CDCTrack.
 

Static Public Member Functions

static CDCTrack condense (const Path< const CDCTrack > &trackPath)
 Concats several tracks from a path. More...
 
static CDCTrack condense (const Path< const CDCSegmentTriple > &segmentTriplePath)
 Reconstructs the hit content of the segment triple track to a CDCTrack averaging overlapping parts.
 
static CDCTrack condense (const Path< const CDCSegmentPair > &segmentPairPath)
 Reconstructs the hit content of the axial stereo segment pair path to a CDCTrack averaging overlapping parts.
 

Public Attributes

elements
 STL member.
 

Private Attributes

AutomatonCell m_automatonCell
 Memory for the automaton cell.
 
CDCTrajectory3D m_startTrajectory3D
 Memory for the three dimensional trajectory at the start of the track.
 
CDCTrajectory3D m_endTrajectory3D
 Memory for the three dimensional trajectory at the end of the track.
 
bool m_hasMatchingSegment = false
 Flag which indicates that the track had a matching segment (can be used for filter decisions)
 
float m_qualityIndicator = NAN
 Multivariate classifier output in [0, 1] correlated with probability that track is good match. More...
 

Detailed Description

Class representing a sequence of three dimensional reconstructed hits.

Definition at line 41 of file CDCTrack.h.

Member Function Documentation

◆ condense()

CDCTrack condense ( const Path< const CDCTrack > &  trackPath)
static

Concats several tracks from a path.

FIXME : arc lengths are not set properly

Definition at line 164 of file CDCTrack.cc.

165 {
166  if (trackPath.empty()) {
167  return CDCTrack();
168  } else if (trackPath.size() == 1) {
169  return CDCTrack(*(trackPath[0]));
170  } else {
171  CDCTrack result;
172  for (const CDCTrack* track : trackPath) {
173  for (const CDCRecoHit3D& recoHit3D : *track) {
174  result.push_back(recoHit3D);
176  }
177  }
178 
179  CDCTrajectory3D startTrajectory3D = trackPath.front()->getStartTrajectory3D();
180  CDCTrajectory3D endTrajectory3D = trackPath.back()->getStartTrajectory3D();
181 
182  double resetPerpSOffset =
183  startTrajectory3D.setLocalOrigin(result.front().getRecoPos3D());
184  result.setStartTrajectory3D(startTrajectory3D);
185 
186  endTrajectory3D.setLocalOrigin(result.back().getRecoPos3D());
187  result.setEndTrajectory3D(endTrajectory3D);
188 
189  for (CDCRecoHit3D& recoHit3D : result) {
190  recoHit3D.shiftArcLength2D(-resetPerpSOffset);
191  }
192 
193  return result;
194  }
195 }
Class representing a three dimensional reconstructed hit.
Definition: CDCRecoHit3D.h:52
Class representing a sequence of three dimensional reconstructed hits.
Definition: CDCTrack.h:41
CDCTrack()=default
Default constructor for ROOT compatibility.
Particle full three dimensional trajectory.
double setLocalOrigin(const Vector3D &localOrigin)
Setter for the origin of the local coordinate system.

◆ getEndTrajectory3D()

const CDCTrajectory3D& getEndTrajectory3D ( ) const
inline

Getter for the three dimensional trajectory.

The trajectory should start at the END of the track and follow its direction.

Definition at line 119 of file CDCTrack.h.

120  {
121  return m_endTrajectory3D;
122  }
CDCTrajectory3D m_endTrajectory3D
Memory for the three dimensional trajectory at the end of the track.
Definition: CDCTrack.h:207

◆ getHasMatchingSegment()

bool getHasMatchingSegment ( ) const
inline

Get a flag which indicates that the track has a matching segment (probably set in the SegmentTrackCombiner).

This flag can be used for filter decisions (e.g. if the track is fake).

Definition at line 182 of file CDCTrack.h.

◆ getStartTrajectory3D()

const CDCTrajectory3D& getStartTrajectory3D ( ) const
inline

Getter for the two dimensional trajectory.

The trajectory should start at the start of the track and follow its direction.

Definition at line 112 of file CDCTrack.h.

◆ receiveMaskedFlag()

void receiveMaskedFlag ( ) const

Check all contained wire hits if one has the masked flag.

Set the masked flag of this segment in case at least one of the contained wire hits is flagged as masked.

Definition at line 394 of file CDCTrack.cc.

◆ setEndTrajectory3D()

void setEndTrajectory3D ( const CDCTrajectory3D endTrajectory3D)
inline

Setter for the three dimensional trajectory.

The trajectory should start at the END of the track and follow its direction.

Definition at line 105 of file CDCTrack.h.

◆ setStartTrajectory3D()

void setStartTrajectory3D ( const CDCTrajectory3D startTrajectory3D)
inline

Setter for the two dimensional trajectory.

The trajectory should start at the start of the track and follow its direction.

Definition at line 98 of file CDCTrack.h.

◆ shiftToPositiveArcLengths2D()

void shiftToPositiveArcLengths2D ( bool  doForAllTracks = false)

Set all arcLengths to have positive values by shifting them by pi*radius if they are negative.

This can only be done if the radius is not infinity (for example cosmics). The flag can be used to do this for all tracks (default is to do this only for curlers)

Definition at line 423 of file CDCTrack.cc.

◆ splitIntoSegments()

std::vector< CDCSegment3D > splitIntoSegments ( ) const

Splits the track into segments.

Note : No trajectory information is copied

Definition at line 321 of file CDCTrack.cc.

Member Data Documentation

◆ m_qualityIndicator

float m_qualityIndicator = NAN
private

Multivariate classifier output in [0, 1] correlated with probability that track is good match.

Used to reject fakes and clones. Implemented here to be forwarded to RecoTrack.

Definition at line 214 of file CDCTrack.h.


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