Belle II Software  release-08-01-10
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/trackFindingCDC/filters/base/MVAFilter.icc.h>
11 
12 using namespace Belle2;
13 using namespace TrackFindingCDC;
14 
16 
18  : Super(std::make_unique<VarSet>(),
19  "trackfindingcdc_RealisticSegmentRelationFilter",
20  0.805,
21  "trackfindingcdc_RealisticSegmentRelationFilterParameters")
22 {
23  this->addProcessingSignalListener(&m_feasibleSegmentRelationFilter);
24 }
25 
27 {
28  double isFeasibleWeight = m_feasibleSegmentRelationFilter(segmentRelation);
29  if (std::isnan(isFeasibleWeight)) {
30  return NAN;
31  } else {
32  return Super::operator()(segmentRelation);
33  }
34 }
Weight operator()(const Relation< const CDCSegment2D > &segmentRelation) override
Function to object for its signalness.
MVAFeasibleSegmentRelationFilter m_feasibleSegmentRelationFilter
Feasibility filter applied first before invoking the main cut.
MVARealisticSegmentRelationFilter()
Constructor initialising the MVAFilter with standard training name for this filter.
Weight operator()(const Object &obj) override
Function to object for its signalness.
Definition: MVAFilter.icc.h:97
AFilter Super
Type of the base class.
Type for two related objects.
Definition: Relation.h:21
Class that accomodates many variable sets and presents them as on set of variables.
Abstract base class for different kinds of events.