Belle II Software development
MVARealisticSegmentRelationFilter.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/segmentRelation/MVARealisticSegmentRelationFilter.h>
9
10#include <tracking/trackingUtilities/filters/base/MVAFilter.icc.h>
11
12using namespace Belle2;
13using namespace TrackFindingCDC;
14using namespace TrackingUtilities;
15
17
19 : Super(std::make_unique<VarSet>(),
20 "trackfindingcdc_RealisticSegmentRelationFilter",
21 0.805,
22 "trackfindingcdc_RealisticSegmentRelationFilterParameters")
23{
24 this->addProcessingSignalListener(&m_feasibleSegmentRelationFilter);
25}
26
28{
29 double isFeasibleWeight = m_feasibleSegmentRelationFilter(segmentRelation);
30 if (std::isnan(isFeasibleWeight)) {
31 return NAN;
32 } else {
33 return Super::operator()(segmentRelation);
34 }
35}
TrackingUtilities::Weight operator()(const TrackingUtilities::Relation< const TrackingUtilities::CDCSegment2D > &segmentRelation) override
Function to object for its signalness.
TrackingUtilities::MVA< BaseSegmentRelationFilter > Super
Type of the base class.
MVAFeasibleSegmentRelationFilter m_feasibleSegmentRelationFilter
Feasibility filter applied first before invoking the main cut.
MVARealisticSegmentRelationFilter()
Constructor initialising the MVAFilter with standard training name for this filter.
TrackingUtilities::VariadicUnionVarSet< BasicSegmentRelationVarSet, FitlessSegmentRelationVarSet, FitSegmentRelationVarSet > VarSet
Type of the TrackingUtilities::VarSet the filter is working on.
Filter based on a mva method.
Type for two related objects.
Definition Relation.h:21
Abstract base class for different kinds of events.
STL namespace.