10 #include <tracking/modules/cosmicsTrackMerger/PhiRecoTrackRelationFilter.h>
12 #include <tracking/trackFindingCDC/eventdata/trajectories/CDCTrajectory2D.h>
13 #include <tracking/trackFindingCDC/geometry/Vector3D.h>
15 #include <tracking/trackFindingCDC/numerics/Angle.h>
16 #include <tracking/trackFindingCDC/utilities/StringManipulation.h>
18 #include <framework/core/ModuleParamList.templateDetails.h>
21 using namespace TrackFindingCDC;
24 const std::string& prefix)
26 moduleParamList->
addParameter(prefixed(prefix,
"maximalPhiDistance"),
27 m_param_maximalPhiDistance,
28 "Maximal Phi distance below to tracks should be merged.",
29 m_param_maximalPhiDistance);
35 if (fromTrack->getPositionSeed().Y() < toTrack->getPositionSeed().Y()) {
39 const CDCTrajectory2D fromTrajectory(
Vector3D(fromTrack->getPositionSeed()).xy(), 0,
40 Vector3D(fromTrack->getMomentumSeed()).xy(), fromTrack->getChargeSeed());
41 const CDCTrajectory2D toTrajectory(
Vector3D(toTrack->getPositionSeed()).xy(), 0,
42 Vector3D(toTrack->getMomentumSeed()).xy(), toTrack->getChargeSeed());
44 const Vector2D origin;
46 const double fromPhi = fromTrajectory.getFlightDirection2D(origin).phi();
47 const double toPhi = toTrajectory.getFlightDirection2D(origin).phi();
51 if (phiDistance > m_param_maximalPhiDistance) {