Belle II Software  release-08-01-10
MLSegmentNetworkProducerModule.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 
9 #pragma once
10 
11 #include <tracking/spacePointCreation/SpacePoint.h>
12 #include <tracking/trackFindingVXD/filterTools/MLRange.h>
13 #include <tracking/trackFindingVXD/filterMap/threeHitVariables/MLHandover.h>
14 #include <tracking/trackFindingVXD/filterTools/FBDTClassifier.h>
15 
16 #include <tracking/trackFindingVXD/segmentNetwork/DirectedNodeNetworkContainer.h>
17 #include <framework/datastore/StoreObjPtr.h>
18 
19 #include <framework/core/Module.h>
20 
21 // stl
22 #include <string>
23 #include <memory>
24 
25 namespace Belle2 {
42 
43  public:
44 
50  VoidObserver >;
51 
52  void initialize() override;
54  void event() override;
56  void terminate() override;
58  private:
59 
61  std::string m_PARAMfbdtFileName;
62 
65 
67  std::string m_PARAMsecMapName;
68 
70  std::string m_PARAMrootFileName;
71 
73  double m_PARAMcutVal;
74 
76  std::unique_ptr<MLFilter> m_filter{nullptr};
77 
79  std::unique_ptr<Belle2::FBDTClassifier<9> > m_classifier{nullptr};
80 
83 
85  void setupClassifier(const std::string& filename);
86 
88  void setupFilter();
89 
90  };
91 
93 } // end namespace Belle2
This class is used to select pairs, triplets...
Definition: Filter.h:34
Range used for the Machine Learning assisted TrackFinding approach.
Definition: MLRange.h:29
Segment network producer module with a Machine Learning classifier.
std::string m_PARAMrootFileName
name of the root file name
std::unique_ptr< Belle2::FBDTClassifier< 9 > > m_classifier
classifier used throughout this module
Belle2::StoreObjPtr< Belle2::DirectedNodeNetworkContainer > m_network
StoreObjPtr to access the DNNs that are used in this module.
void setupClassifier(const std::string &filename)
construct the classifier from file
std::string m_PARAMsecMapName
the name of the used SectorMap.
double m_PARAMcutVal
cut value to be used with classifier
std::string m_PARAMnetworkInputName
name of the StoreObjPtr pointing to the network container used in this module.
std::string m_PARAMfbdtFileName
file where the FastBDT classifier is stored.
std::unique_ptr< MLFilter > m_filter
internal three hit filter
Base class for Modules.
Definition: Module.h:72
The most CPU efficient Observer for the VXDTF filter tools (even if useless).
Definition: VoidObserver.h:30
Abstract base class for different kinds of events.