Belle II Software  release-08-01-10
Chi2FacetFilter.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 <tracking/trackFindingCDC/topology/ISuperLayer.h>
13 
14 #include <vector>
15 #include <array>
16 #include <string>
17 
18 namespace Belle2 {
23  namespace TrackFindingCDC {
24  class CDCFacet;
25 
28 
29  private:
32 
33  public:
36 
38  Chi2FacetFilter(double chi2Cut, double penaltyWidth);
39 
40  public:
42  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) final;
43 
45  void initialize() final;
46 
47  public:
52  Weight operator()(const CDCFacet& facet) final;
53 
54  private: // Parameters
56  std::vector<double> m_param_chi2CutByISuperLayer{75.0};
57 
59  double m_param_penaltyFactor = 120.0 / 75.0;
60 
61  private: // Cached values
63  std::array<double, ISuperLayerUtil::c_N> m_chi2CutByISuperLayer{};
64 
66  std::array<double, ISuperLayerUtil::c_N> m_penaltyWidthByISuperLayer{};
67  };
68  }
70 }
The Module parameter list class.
Class representing a triple of neighboring oriented wire with additional trajectory information.
Definition: CDCFacet.h:32
Filter for the constuction of good facets based in the chi2 fit.
std::array< double, ISuperLayerUtil::c_N > m_chi2CutByISuperLayer
Memory for the chi2 cut values distinguished by superlayer.
std::vector< double > m_param_chi2CutByISuperLayer
Parameter : The chi2 cut values distinguished by superlayer.
Chi2FacetFilter()
Constructor with the default chi2 cut value and width parameter.
double m_param_penaltyFactor
Parameter : The chi2 cut values distinguished by superlayer.
void initialize() final
Initialise the parameter caches before the processing starts.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the set of parameters of the filter to the module parameter list.
std::array< double, ISuperLayerUtil::c_N > m_penaltyWidthByISuperLayer
Memory for the chi2 cut values distinguished by superlayer.
Base class for filters on a generic object type.
Definition: Filter.dcl.h:29
Abstract base class for different kinds of events.