Belle II Software  release-05-01-25
FeasibleRLFacetFilter.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Oliver Frost *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <tracking/trackFindingCDC/filters/facet/BaseFacetFilter.h>
13 
14 #include <string>
15 
16 namespace Belle2 {
23  namespace TrackFindingCDC {
24  class CDCFacet;
25  class CDCRLWireHitTriple;
26 
32  class FeasibleRLFacetFilter : public BaseFacetFilter {
33 
34  private:
36  using Super = BaseFacetFilter;
37 
38  public:
40  explicit FeasibleRLFacetFilter(bool hardRLCut = true);
41 
42  public:
44  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) final;
45 
46  public:
51  Weight operator()(const CDCFacet& facet) final;
52 
53  public:
55  void setHardRLCut(bool hardRLCut)
56  {
57  m_param_hardRLCut = hardRLCut;
58  }
59 
61  bool getHardRLCut() const
62  {
64  }
65 
66  private:
68  bool isFeasible(const CDCRLWireHitTriple& rlWireHitTriple) const;
69 
70  private:
72  bool m_param_hardRLCut = true;
73  };
74  }
76 }
Belle2::TrackFindingCDC::FeasibleRLFacetFilter::isFeasible
bool isFeasible(const CDCRLWireHitTriple &rlWireHitTriple) const
Check if the hit triplet is a feasible combination for shape and rl passage information.
Definition: FeasibleRLFacetFilter.cc:49
Belle2::TrackFindingCDC::FeasibleRLFacetFilter::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the set of parameters of the filter to the module parameter list.
Definition: FeasibleRLFacetFilter.cc:29
Belle2::TrackFindingCDC::FeasibleRLFacetFilter::operator()
Weight operator()(const CDCFacet &facet) final
Main filter method returning the weight of the facet.
Definition: FeasibleRLFacetFilter.cc:40
Belle2::TrackFindingCDC::CDCRLWireHitTriple
Class representing a triple of neighboring wire hits.
Definition: CDCRLWireHitTriple.h:45
Belle2::TrackFindingCDC::FeasibleRLFacetFilter::getHardRLCut
bool getHardRLCut() const
Getter for the flag that the boarderline cases should be excluded.
Definition: FeasibleRLFacetFilter.h:69
Belle2::TrackFindingCDC::FeasibleRLFacetFilter::m_param_hardRLCut
bool m_param_hardRLCut
Switch for hard selection.
Definition: FeasibleRLFacetFilter.h:80
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::FeasibleRLFacetFilter::FeasibleRLFacetFilter
FeasibleRLFacetFilter(bool hardRLCut=true)
Constructor taking a flag if boarderline feasable cases should be excluded.
Definition: FeasibleRLFacetFilter.cc:24
Belle2::TrackFindingCDC::FeasibleRLFacetFilter::Super
BaseFacetFilter Super
Type of the super class.
Definition: FeasibleRLFacetFilter.h:44
Belle2::TrackFindingCDC::CDCFacet
Class representing a triple of neighboring oriented wire with additional trajectory information.
Definition: CDCFacet.h:42
Belle2::ModuleParamList
The Module parameter list class.
Definition: ModuleParamList.h:46
Belle2::TrackFindingCDC::FeasibleRLFacetFilter::setHardRLCut
void setHardRLCut(bool hardRLCut)
Setter for the flag that the boarderline cases should be excluded.
Definition: FeasibleRLFacetFilter.h:63