Check if the segment triple is aligned in the Monte Carlo track. Signals NAN if not.
61 if (std::isnan(pairWeight))
return NAN;
67 if (startToMiddleFBInfo == EForwardBackward::c_Invalid)
return NAN;
70 if (middleToEndFBInfo == EForwardBackward::c_Invalid)
return NAN;
73 if (startToMiddleFBInfo != middleToEndFBInfo)
return NAN;
76 if ((startToMiddleFBInfo == EForwardBackward::c_Forward and middleToEndFBInfo == EForwardBackward::c_Forward) or
77 (
getAllowReverse() and startToMiddleFBInfo == EForwardBackward::c_Backward and middleToEndFBInfo == EForwardBackward::c_Backward)) {
82 Weight cellWeight = startSegment.size() + middleSegment.size() + endSegment.size();
83 return startToMiddleFBInfo > 0 ? cellWeight : -cellWeight;
Class representing a pair of reconstructed axial segements in adjacent superlayer.
EForwardBackward areAlignedInMCTrack(const ACDCHitCollection *ptrFromHits, const ACDCHitCollection *ptrToHits) const
Returns if the second collection of hits follows the first collection of hits in their common Monte C...
Specialisation of the lookup for the truth values of two dimensional segments.
static const CDCMCSegment2DLookUp & getInstance()
Getter for the singletone instance.
A reconstructed sequence of two dimensional hits in one super layer.
const CDCAxialSegment2D * getStartSegment() const
Getter for the start axial segment.
const CDCAxialSegment2D * getEndSegment() const
Getter for the end axial segment.
const CDCStereoSegment2D * getMiddleSegment() const
Getter for the middle stereo segment.
MCAxialSegmentPairFilter m_mcAxialSegmentPairFilter
Instance of the cell filter to reject neighborhoods of false cells.
void setTrajectoryOf(const CDCSegmentTriple &segmentTriple) const
Sets the trajectories of the segment triple from Monte Carlo information. Is executed for good segmen...
bool getAllowReverse() const
Getter for the allow reverse parameter.
EForwardBackward
Enumeration to represent the distinct possibilities of the right left passage information.