Belle II Software development
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 <cdc/topology/ISuperLayer.h>
13
14#include <vector>
15#include <array>
16#include <string>
17
18namespace Belle2 {
23 namespace TrackingUtilities {
24 class CDCFacet;
25 }
26 namespace TrackFindingCDC {
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 TrackingUtilities::Weight operator()(const TrackingUtilities::CDCFacet& facet) final;
55
56 private: // Parameters
59
61 double m_param_penaltyFactor = 120.0 / 75.0;
62
63 private: // Cached values
65 std::array<double, CDC::ISuperLayerUtil::c_N> m_chi2CutByISuperLayer{};
66
68 std::array<double, CDC::ISuperLayerUtil::c_N> m_penaltyWidthByISuperLayer{};
69 };
70 }
72}
The Module parameter list class.
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.
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.
std::array< double, CDC::ISuperLayerUtil::c_N > m_penaltyWidthByISuperLayer
Memory for the chi2 cut values distinguished by superlayer.
std::array< double, CDC::ISuperLayerUtil::c_N > m_chi2CutByISuperLayer
Memory for the chi2 cut values distinguished by superlayer.
Class representing a triple of neighboring oriented wire with additional trajectory information.
Definition CDCFacet.h:32
STL class.
Abstract base class for different kinds of events.
STL namespace.