Belle II Software release-09-00-00
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
24namespace 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
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
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.