Belle II Software  release-08-01-10
AllSegmentPairRelationFilter.cc
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 #include <tracking/trackFindingCDC/filters/segmentPairRelation/AllSegmentPairRelationFilter.h>
9 
10 #include <tracking/trackFindingCDC/eventdata/tracks/CDCSegmentPair.h>
11 #include <tracking/trackFindingCDC/eventdata/segments/CDCSegment2D.h>
12 
13 using namespace Belle2;
14 using namespace TrackFindingCDC;
15 
17  const CDCSegmentPair& toSegmentPair)
18 {
19  size_t fromOverlapSize = fromSegmentPair.getToSegment()->size();
20  size_t fromSize = fromOverlapSize + fromSegmentPair.getFromSegment()->size();
21  Weight fromWeight = fromSegmentPair.getAutomatonCell().getCellWeight();
22 
23  size_t toOverlapSize = toSegmentPair.getFromSegment()->size();
24  size_t toSize = toOverlapSize + toSegmentPair.getToSegment()->size();
25  Weight toWeight = toSegmentPair.getAutomatonCell().getCellWeight();
26 
27  return (fromWeight * fromOverlapSize / fromSize + toWeight * toOverlapSize / toSize) / 2.0;
28 }
Weight operator()(const CDCSegmentPair &fromSegmentPair, const CDCSegmentPair &toSegmentPair) final
Implementation accepting all possible neighbors. Weight subtracts the overlap penalty.
Weight getCellWeight() const
Getter for the cell weight.
Class representing a pair of one reconstructed axial segement and one stereo segment in adjacent supe...
const CDCSegment2D * getFromSegment() const
Getter for the from segment.
AutomatonCell & getAutomatonCell() const
Mutable getter for the automaton cell.
const CDCSegment2D * getToSegment() const
Getter for the to segment.
Abstract base class for different kinds of events.