Belle II Software development
FeasibleRLFacetFilter.h
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#pragma once
9
10#include <tracking/trackFindingCDC/filters/facet/BaseFacetFilter.h>
11
12#include <string>
13
14namespace Belle2 {
19
20 namespace TrackingUtilities {
21 class CDCFacet;
23 }
24 namespace TrackFindingCDC {
25
31 class FeasibleRLFacetFilter : public BaseFacetFilter {
32
33 private:
35 using Super = BaseFacetFilter;
36
37 public:
39 explicit FeasibleRLFacetFilter(bool hardRLCut = true);
40
41 public:
43 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) final;
44
45 public:
50 TrackingUtilities::Weight operator()(const TrackingUtilities::CDCFacet& facet) final;
51
52 public:
54 void setHardRLCut(bool hardRLCut)
55 {
56 m_param_hardRLCut = hardRLCut;
57 }
58
60 bool getHardRLCut() const
61 {
62 return m_param_hardRLCut;
63 }
64
65 private:
67 bool isFeasible(const TrackingUtilities::CDCRLWireHitTriple& rlWireHitTriple) const;
68
69 private:
71 bool m_param_hardRLCut = true;
72 };
73 }
75}
The Module parameter list class.
FeasibleRLFacetFilter(bool hardRLCut=true)
Constructor taking a flag if borderline feasible cases should be excluded.
bool isFeasible(const TrackingUtilities::CDCRLWireHitTriple &rlWireHitTriple) const
Check if the hit triplet is a feasible combination for shape and rl passage information.
void setHardRLCut(bool hardRLCut)
Setter for the flag that the borderline cases should be excluded.
bool getHardRLCut() const
Getter for the flag that the borderline cases should be excluded.
BaseFacetFilter Super
Type of the super class.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the set of parameters of the filter to the module parameter list.
TrackingUtilities::Weight operator()(const TrackingUtilities::CDCFacet &facet) final
Main filter method returning the weight of the facet.
Class representing a triple of neighboring oriented wire with additional trajectory information.
Definition CDCFacet.h:32
Class representing a triple of neighboring wire hits.
Abstract base class for different kinds of events.