Belle II Software  release-08-01-10
VXDQualityEstimatorMVAModule.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 #include <tracking/spacePointCreation/SpacePointTrackCand.h>
11 #include <tracking/trackFindingVXD/trackQualityEstimators/QualityEstimatorBase.h>
12 #include <tracking/trackFindingVXD/mva/MVAExpert.h>
13 #include <tracking/trackFindingVXD/variableExtractors/ClusterInfoExtractor.h>
14 #include <tracking/trackFindingVXD/variableExtractors/QEResultsExtractor.h>
15 
16 #include <framework/datastore/StoreArray.h>
17 #include <framework/core/Module.h>
18 
19 #include <memory>
20 #include <string>
21 #include <vector>
22 
23 
24 namespace Belle2 {
39 
40  public:
41 
44 
46  void initialize() override;
47 
49  void beginRun() override;
50 
52  void event() override;
53 
54 
55  protected:
56 
57  // -----module parameters---
58 
64  std::string m_EstimationMethod = "tripletFit";
65 
67  std::string m_SpacePointTrackCandsStoreArrayName = "SPTrackCands";
68 
70  std::string m_weightFileIdentifier = "vxdtf2_mva_qe_weightFile_noTiming";
71 
73  bool m_UseTimingInfo = false;
74 
76  std::string m_ClusterInformation = "Average";
77 
78  // -------------------------
79 
82 
84  std::unique_ptr<QualityEstimatorBase> m_estimator;
85 
87  std::unique_ptr<MVAExpert> m_mvaExpert;
88 
91  std::unique_ptr<QEResultsExtractor> m_qeResultsExtractor;
92 
94  std::unique_ptr<ClusterInfoExtractor> m_clusterInfoExtractor;
95 
97  std::vector<Named<float*>> m_variableSet;
98 
101  float m_nSpacePoints = NAN;
102 
103  };
105 }
Base class for Modules.
Definition: Module.h:72
Quality estimation module for SpacePointTrackCandidates using multivariate analysis (MVA).
std::string m_SpacePointTrackCandsStoreArrayName
Name of the expected StoreArray containing SpacePointTrackCands.
void initialize() override
Initializes the Module.
void event() override
Applies the selected quality estimation method for a given set of TCs.
std::string m_EstimationMethod
Identifier which estimation method to use.
float m_nSpacePoints
number of SpacePoints in SPTC as additional info for MVA, type is float to be consistend with m_varia...
std::unique_ptr< QEResultsExtractor > m_qeResultsExtractor
pointer to object that extracts the results from the estimation mehtod (including QI,...
std::unique_ptr< MVAExpert > m_mvaExpert
pointer to the object to interact with the MVA package
bool m_UseTimingInfo
whether to use timing information available in the weight file
std::string m_weightFileIdentifier
identifier of weightfile in Database or local root/xml file
VXDQualityEstimatorMVAModule()
Constructor of the module.
void beginRun() override
Launches mvaExpert and sets the magnetic field strength.
std::unique_ptr< ClusterInfoExtractor > m_clusterInfoExtractor
pointer to object that extracts info from the clusters of a SPTC
std::vector< Named< float * > > m_variableSet
set of named variables to be used in MVA
std::unique_ptr< QualityEstimatorBase > m_estimator
pointer to the selected QualityEstimator
StoreArray< SpacePointTrackCand > m_spacePointTrackCands
the storeArray for SpacePointTrackCands as member, is faster than recreating link for each event
std::string m_ClusterInformation
how to compile information from clusters ['Average']
Abstract base class for different kinds of events.