11 #include <tracking/trackFindingCDC/eventdata/segments/CDCSegment3D.h>
12 #include <tracking/trackFindingCDC/eventdata/trajectories/CDCTrajectorySZ.h>
13 #include <tracking/trackFindingCDC/hough/boxes/Z0TanLambdaBox.h>
14 #include <tracking/trackFindingCDC/hough/baseelements/SameSignChecker.h>
21 namespace TrackFindingCDC {
28 class SegmentInZ0TanLambdaBox {
38 Weight
operator()(
const std::pair<CDCSegment3D, CDCTrajectorySZ>& segmentWithTrajectorySZ,
41 float lowerZ0 = z0TanLambdaBox->getLowerZ0();
42 float upperZ0 = z0TanLambdaBox->getUpperZ0();
44 float lowerTanLambda = z0TanLambdaBox->getLowerTanLambda();
45 float upperTanLambda = z0TanLambdaBox->getUpperTanLambda();
48 const CDCSegment3D& segment = segmentWithTrajectorySZ.first;
50 float trajectoryZ0 = szTrajectory.
getZ0();
53 if (std::isnan(trajectoryZ0) or std::isnan(trajectoryTanLambda)) {
57 if (
SameSignChecker::isIn(trajectoryZ0, trajectoryTanLambda, lowerZ0, upperZ0, lowerTanLambda, upperTanLambda)) {
58 return 0.6 * segment.size();