Belle II Software  release-05-01-25
Chi2BasedCDCPathPairFilter.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Nils Brau, Simon Kurz *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <tracking/ckf/cdc/filters/pathPairs/BaseCDCPathPairFilter.h>
13 
14 #include <tracking/trackFindingCDC/numerics/Weight.h>
15 
16 namespace Belle2 {
21  class Chi2BasedCDCPathPairFilter : public BaseCDCPathPairFilter {
23  public:
25  TrackFindingCDC::Weight operator()(const BaseCDCPathPairFilter::Object& pair) final {
26  const auto& lhs = *pair.first;
27  const auto& rhs = *pair.second;
28 
29  if (lhs.size() > rhs.size() + 2)
30  {
31  return true;
32  } else if (lhs.size() + 2 < rhs.size())
33  {
34  return false;
35  }
36 
37  // Order by chi2 of fit of last state
38  return lhs.back().getChi2() < rhs.back().getChi2();
39  }
40  };
42 }
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::Chi2BasedCDCPathPairFilter::operator()
TrackFindingCDC::Weight operator()(const BaseCDCPathPairFilter::Object &pair) final
Input: pair of paths, returns 1 if pair.first to be selected, 0 otherwise.
Definition: Chi2BasedCDCPathPairFilter.h:33
Belle2::BaseCDCPathPairFilter
TrackFindingCDC::Filter< std::pair< const CDCCKFPath *, const CDCCKFPath * > > BaseCDCPathPairFilter
Base filter for CKF CDC paths.
Definition: BaseCDCPathPairFilter.h:31
Belle2::TrackFindingCDC::Filter::Object
AObject Object
Type of the object to be analysed.
Definition: Filter.dcl.h:43