Belle II Software development
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 {
36
37 public:
38
41
43 void initialize() override;
44
46 void beginRun() override;
47
49 void event() override;
50
51
52 protected:
53
54 // -----module parameters---
55
61 std::string m_EstimationMethod = "tripletFit";
62
64 std::string m_SpacePointTrackCandsStoreArrayName = "SPTrackCands";
65
67 std::string m_weightFileIdentifier = "vxdtf2_mva_qe_weightFile_noTiming";
68
70 bool m_UseTimingInfo = false;
71
73 std::string m_ClusterInformation = "Average";
74
75 // -------------------------
76
79
81 std::unique_ptr<QualityEstimatorBase> m_estimator;
82
84 std::unique_ptr<MVAExpert> m_mvaExpert;
85
88 std::unique_ptr<QEResultsExtractor> m_qeResultsExtractor;
89
91 std::unique_ptr<ClusterInfoExtractor> m_clusterInfoExtractor;
92
94 std::vector<Named<float*>> m_variableSet;
95
98 float m_nSpacePoints = NAN;
99
100 };
102}
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 consistent with m_varia...
std::unique_ptr< QEResultsExtractor > m_qeResultsExtractor
pointer to object that extracts the results from the estimation method (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.