10 #include <tracking/ckf/pxd/filters/relations/LoosePXDPairFilter.h>
11 #include <tracking/trackFindingCDC/filters/base/Filter.icc.h>
13 #include <tracking/trackFindingCDC/utilities/StringManipulation.h>
14 #include <framework/core/ModuleParamList.templateDetails.h>
17 using namespace TrackFindingCDC;
19 TrackFindingCDC::Weight
22 const CKFToPXDState::stateCache& currentStateCache = relation.first->getStateCache();
23 const CKFToPXDState::stateCache& nextStateCache = relation.second->getStateCache();
28 if (currentStateCache.geoLayer == nextStateCache.geoLayer) {
29 if (fabs(currentStateCache.theta - nextStateCache.theta) > m_param_ThetaOverlayRegionPrecut) {
34 double phiDiff = currentStateCache.phi - nextStateCache.phi;
35 while (phiDiff > M_PI) phiDiff -= 2. * M_PI;
36 while (phiDiff < -M_PI) phiDiff += 2. * M_PI;
38 if (not currentStateCache.isHitState) {
39 if (fabs(phiDiff) > m_param_PhiSeedHitPrecut) {
42 }
else if (!(fabs(phiDiff) < m_param_PhiHitHitPrecut and
43 fabs(currentStateCache.theta - nextStateCache.theta) < m_param_ThetaHitHitPrecut)) {
52 moduleParamList->
addParameter(TrackFindingCDC::prefixed(prefix,
"thetaOverlayRegionCut"), m_param_ThetaOverlayRegionPrecut,
53 "Pre-cut in theta for the overlay region.", m_param_ThetaOverlayRegionPrecut);
54 moduleParamList->
addParameter(TrackFindingCDC::prefixed(prefix,
"phiSeedHitCut"), m_param_PhiSeedHitPrecut,
55 "Pre-cut in phi for relations between seed states and hit states.", m_param_PhiSeedHitPrecut);
56 moduleParamList->
addParameter(TrackFindingCDC::prefixed(prefix,
"phiHitHitCut"), m_param_PhiHitHitPrecut,
57 "Pre-cut in phi for relations between hit states.", m_param_PhiHitHitPrecut);
58 moduleParamList->
addParameter(TrackFindingCDC::prefixed(prefix,
"thetaHitHitCut"), m_param_ThetaHitHitPrecut,
59 "Pre-cut in theta for relations between hit states.", m_param_ThetaHitHitPrecut);