Belle II Software  release-05-01-25
VXDQualityEstimatorMVAModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Jonas Wagner, Sebastian Racs *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 #include <tracking/spacePointCreation/SpacePointTrackCand.h>
13 #include <tracking/trackFindingVXD/trackQualityEstimators/QualityEstimatorBase.h>
14 #include <tracking/trackFindingVXD/mva/MVAExpert.h>
15 #include <tracking/trackFindingVXD/variableExtractors/ClusterInfoExtractor.h>
16 #include <tracking/trackFindingVXD/variableExtractors/QEResultsExtractor.h>
17 
18 #include <framework/datastore/StoreArray.h>
19 #include <framework/core/Module.h>
20 
21 #include <memory>
22 #include <string>
23 #include <vector>
24 
25 
26 namespace Belle2 {
40  class VXDQualityEstimatorMVAModule : public Module {
41 
42  public:
43 
46 
48  void initialize() override;
49 
51  void beginRun() override;
52 
54  void event() override;
55 
56 
57  protected:
58 
59  // -----module parameters---
60 
66  std::string m_EstimationMethod = "tripletFit";
67 
69  std::string m_SpacePointTrackCandsStoreArrayName = "SPTrackCands";
70 
72  std::string m_weightFileIdentifier = "vxdtf2_mva_qe_weightFile_noTiming";
73 
75  bool m_UseTimingInfo = false;
76 
78  std::string m_ClusterInformation = "Average";
79 
80  // -------------------------
81 
84 
86  std::unique_ptr<QualityEstimatorBase> m_estimator;
87 
89  std::unique_ptr<MVAExpert> m_mvaExpert;
90 
93  std::unique_ptr<QEResultsExtractor> m_qeResultsExtractor;
94 
96  std::unique_ptr<ClusterInfoExtractor> m_clusterInfoExtractor;
97 
99  std::vector<Named<float*>> m_variableSet;
100 
103  float m_nSpacePoints = NAN;
104 
105  };
107 }
Belle2::VXDQualityEstimatorMVAModule::m_mvaExpert
std::unique_ptr< MVAExpert > m_mvaExpert
pointer to the object to interact with the MVA package
Definition: VXDQualityEstimatorMVAModule.h:97
Belle2::VXDQualityEstimatorMVAModule::m_nSpacePoints
float m_nSpacePoints
number of SpacePoints in SPTC as additional info for MVA, type is float to be consistend with m_varia...
Definition: VXDQualityEstimatorMVAModule.h:111
Belle2::VXDQualityEstimatorMVAModule::m_estimator
std::unique_ptr< QualityEstimatorBase > m_estimator
pointer to the selected QualityEstimator
Definition: VXDQualityEstimatorMVAModule.h:94
Belle2::VXDQualityEstimatorMVAModule::m_EstimationMethod
std::string m_EstimationMethod
Identifier which estimation method to use.
Definition: VXDQualityEstimatorMVAModule.h:74
Belle2::VXDQualityEstimatorMVAModule::event
void event() override
Applies the selected quality estimation method for a given set of TCs.
Definition: VXDQualityEstimatorMVAModule.cc:89
Belle2::VXDQualityEstimatorMVAModule::m_UseTimingInfo
bool m_UseTimingInfo
whether to use timing information available in the weight file
Definition: VXDQualityEstimatorMVAModule.h:83
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::VXDQualityEstimatorMVAModule::beginRun
void beginRun() override
Launches mvaExpert and sets the magnetic field strength.
Definition: VXDQualityEstimatorMVAModule.cc:81
Belle2::VXDQualityEstimatorMVAModule::m_variableSet
std::vector< Named< float * > > m_variableSet
set of named variables to be used in MVA
Definition: VXDQualityEstimatorMVAModule.h:107
Belle2::VXDQualityEstimatorMVAModule::m_spacePointTrackCands
StoreArray< SpacePointTrackCand > m_spacePointTrackCands
the storeArray for SpacePointTrackCands as member, is faster than recreating link for each event
Definition: VXDQualityEstimatorMVAModule.h:91
Belle2::VXDQualityEstimatorMVAModule::m_qeResultsExtractor
std::unique_ptr< QEResultsExtractor > m_qeResultsExtractor
pointer to object that extracts the results from the estimation mehtod (including QI,...
Definition: VXDQualityEstimatorMVAModule.h:101
Belle2::VXDQualityEstimatorMVAModule::m_ClusterInformation
std::string m_ClusterInformation
how to compile information from clusters ['Average']
Definition: VXDQualityEstimatorMVAModule.h:86
Belle2::VXDQualityEstimatorMVAModule::m_clusterInfoExtractor
std::unique_ptr< ClusterInfoExtractor > m_clusterInfoExtractor
pointer to object that extracts info from the clusters of a SPTC
Definition: VXDQualityEstimatorMVAModule.h:104
Belle2::VXDQualityEstimatorMVAModule::m_SpacePointTrackCandsStoreArrayName
std::string m_SpacePointTrackCandsStoreArrayName
Name of the expected StoreArray containing SpacePointTrackCands.
Definition: VXDQualityEstimatorMVAModule.h:77
Belle2::StoreArray< SpacePointTrackCand >
Belle2::VXDQualityEstimatorMVAModule::m_weightFileIdentifier
std::string m_weightFileIdentifier
identifier of weightfile in Database or local root/xml file
Definition: VXDQualityEstimatorMVAModule.h:80
Belle2::VXDQualityEstimatorMVAModule::VXDQualityEstimatorMVAModule
VXDQualityEstimatorMVAModule()
Constructor of the module.
Definition: VXDQualityEstimatorMVAModule.cc:22
Belle2::VXDQualityEstimatorMVAModule::initialize
void initialize() override
Initializes the Module.
Definition: VXDQualityEstimatorMVAModule.cc:55