10 #include <tracking/trackFindingCDC/filters/segmentRelation/BasicSegmentRelationVarSet.h>
12 #include <tracking/trackFindingCDC/eventdata/segments/CDCSegment2D.h>
14 #include <tracking/trackFindingCDC/topology/CDCWire.h>
16 #include <tracking/trackFindingCDC/utilities/Functional.h>
19 using namespace TrackFindingCDC;
22 std::array<int, 8> getNHitsByILayer(
const CDCSegment2D& segment)
24 std::array<int, 8> result{};
25 for (
const CDCRecoHit2D& recoHit2D : segment) {
26 ++result[recoHit2D.getWire().getILayer()];
34 if (not ptrSegmentRelation)
return false;
47 var<
named(
"from_size")>() = fromSegment.size();
48 var<
named(
"to_size")>() = toSegment.size();
50 std::array<int, 8> fromNHitsByILayer = getNHitsByILayer(fromSegment);
51 std::array<int, 8> toNHitsByILayer = getNHitsByILayer(toSegment);
53 var<
named(
"from_n_layers")>() = std::count_if(fromNHitsByILayer.begin(), fromNHitsByILayer.end(),
Id() > 0);;
54 var<
named(
"to_n_layers")>() = std::count_if(toNHitsByILayer.begin(), toNHitsByILayer.end(),
Id() > 0);