Belle II Software  release-05-01-25
Chi2FacetFilter.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 <tracking/trackFindingCDC/topology/ISuperLayer.h>
15 
16 #include <vector>
17 #include <array>
18 #include <string>
19 
20 namespace Belle2 {
25  namespace TrackFindingCDC {
26  class CDCFacet;
27 
29  class Chi2FacetFilter : public BaseFacetFilter {
30 
31  private:
33  using Super = BaseFacetFilter;
34 
35  public:
38 
40  Chi2FacetFilter(double chi2Cut, double penaltyWidth);
41 
42  public:
44  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) final;
45 
47  void initialize() final;
48 
49  public:
54  Weight operator()(const CDCFacet& facet) final;
55 
56  private: // Parameters
58  std::vector<double> m_param_chi2CutByISuperLayer{75.0};
59 
61  double m_param_penaltyFactor = 120.0 / 75.0;
62 
63  private: // Cached values
65  std::array<double, ISuperLayerUtil::c_N> m_chi2CutByISuperLayer{};
66 
68  std::array<double, ISuperLayerUtil::c_N> m_penaltyWidthByISuperLayer{};
69  };
70  }
72 }
Belle2::TrackFindingCDC::Chi2FacetFilter::Super
BaseFacetFilter Super
Type of the super class.
Definition: Chi2FacetFilter.h:41
Belle2::TrackFindingCDC::Chi2FacetFilter::m_penaltyWidthByISuperLayer
std::array< double, ISuperLayerUtil::c_N > m_penaltyWidthByISuperLayer
Memory for the chi2 cut values distinguished by superlayer.
Definition: Chi2FacetFilter.h:76
Belle2::TrackFindingCDC::Chi2FacetFilter::Chi2FacetFilter
Chi2FacetFilter()
Constructor with the default chi2 cut value and width parameter.
Definition: Chi2FacetFilter.cc:27
Belle2::TrackFindingCDC::Chi2FacetFilter::initialize
void initialize() final
Initialise the parameter caches before the processing starts.
Definition: Chi2FacetFilter.cc:55
Belle2::TrackFindingCDC::Chi2FacetFilter::m_param_chi2CutByISuperLayer
std::vector< double > m_param_chi2CutByISuperLayer
Parameter : The chi2 cut values distinguished by superlayer.
Definition: Chi2FacetFilter.h:66
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::Chi2FacetFilter::m_chi2CutByISuperLayer
std::array< double, ISuperLayerUtil::c_N > m_chi2CutByISuperLayer
Memory for the chi2 cut values distinguished by superlayer.
Definition: Chi2FacetFilter.h:73
Belle2::TrackFindingCDC::Chi2FacetFilter::m_param_penaltyFactor
double m_param_penaltyFactor
Parameter : The chi2 cut values distinguished by superlayer.
Definition: Chi2FacetFilter.h:69
Belle2::TrackFindingCDC::Chi2FacetFilter::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the set of parameters of the filter to the module parameter list.
Definition: Chi2FacetFilter.cc:39
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