Belle II Software prerelease-11-00-00a
TrackQualityEstimatorMVAModule.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/trackingUtilities/mva/MVAExpert.h>
11#include <tracking/spacePointCreation/SpacePointTrackCand.h>
12#include <tracking/trackFindingVXD/trackQualityEstimators/QualityEstimatorBase.h>
13
14#include <tracking/trackFitting/trackQualityEstimator/variableExtractors/EventInfoExtractor.h>
15#include <tracking/trackFitting/trackQualityEstimator/variableExtractors/RecoTrackExtractor.h>
16#include <tracking/trackFitting/trackQualityEstimator/variableExtractors/SubRecoTrackExtractor.h>
17#include <tracking/trackFitting/trackQualityEstimator/variableExtractors/HitInfoExtractor.h>
18#include <tracking/trackFindingVXD/variableExtractors/ClusterInfoExtractor.h>
19#include <tracking/trackFindingVXD/variableExtractors/QEResultsExtractor.h>
20
21#include <framework/core/Module.h>
22#include <framework/datastore/StoreArray.h>
23#include <tracking/dataobjects/RecoTrack.h>
24
25namespace Belle2 {
30
37
38 public:
39
42
44 void initialize() override;
45
47 void beginRun() override;
48
50 void event() override;
51
52
53 private:
55 std::string m_recoTracksStoreArrayName = "RecoTracks";
57 std::string m_cdcRecoTracksStoreArrayName = "CDCRecoTracks";
59 std::string m_svdRecoTracksStoreArrayName = "SVDRecoTracks";
61 std::string m_pxdRecoTracksStoreArrayName = "PXDRecoTracks";
63 std::string m_tracksStoreArrayName = "Tracks";
64
66 std::string m_weightFileIdentifier = "trackfitting_MVATrackQualityIndicator";
67
70
73
75 std::unique_ptr<TrackingUtilities::MVAExpert> m_mvaExpert;
76
78 std::unique_ptr<EventInfoExtractor> m_eventInfoExtractor;
80 std::unique_ptr<RecoTrackExtractor> m_recoTrackExtractor;
82 std::unique_ptr<SubRecoTrackExtractor> m_subRecoTrackExtractor;
84 std::unique_ptr<HitInfoExtractor> m_hitInfoExtractor;
85
87 std::vector<TrackingUtilities::Named<float*>> m_variableSet;
88
91 std::unique_ptr<QEResultsExtractor> m_qeResultsExtractor;
92
94 std::unique_ptr<ClusterInfoExtractor> m_clusterInfoExtractor;
95
99 std::unique_ptr<QEResultsExtractor> m_qeResultsExtractorBefore;
100
103 std::unique_ptr<ClusterInfoExtractor> m_clusterInfoExtractorBefore;
104
106 std::unique_ptr<QualityEstimatorBase> m_estimator;
107
110 float m_nSpacePoints = NAN;
113
119 std::string m_SVDEstimationMethod = "tripletFit";
120 };
121
122}
Module()
Constructor.
Definition Module.cc:30
Accessor to arrays stored in the data store.
Definition StoreArray.h:113
std::unique_ptr< HitInfoExtractor > m_hitInfoExtractor
pointer to object that extracts info from the hits within the RecoTrack
std::unique_ptr< EventInfoExtractor > m_eventInfoExtractor
pointer to object that extracts info from the whole event
void initialize() override
Initializes the Module.
void event() override
Applies the selected quality estimation method for a given set of TCs.
std::unique_ptr< TrackingUtilities::MVAExpert > m_mvaExpert
pointer to the object to interact with the MVA package
std::vector< TrackingUtilities::Named< float * > > m_variableSet
set of named variables to be used in MVA
std::string m_svdRecoTracksStoreArrayName
Name of the SVD StoreArray.
std::string m_tracksStoreArrayName
Name of the StoreArray with mdst Tracks from track fit.
float m_nSpacePoints
number of SpacePoints in SPTC as additional info for MVA, type is float to be consistent with m_varia...
bool m_collectEventFeatures
Parameter to enable event-wise features.
std::string m_pxdRecoTracksStoreArrayName
Name of the PXD StoreArray.
std::unique_ptr< QEResultsExtractor > m_qeResultsExtractor
pointer to object that extracts the results from the estimation method (including QI,...
std::unique_ptr< ClusterInfoExtractor > m_clusterInfoExtractorBefore
pointer to object that extracts info from the clusters of a SPTC For the SVD track before CDC.
std::string m_weightFileIdentifier
identifier of weightfile in Database or local root/xml file
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::string m_cdcRecoTracksStoreArrayName
Name of the CDC StoreArray.
std::unique_ptr< QualityEstimatorBase > m_estimator
pointer to the selected QualityEstimator
StoreArray< RecoTrack > m_recoTracks
Store Array of the recoTracks.
std::unique_ptr< RecoTrackExtractor > m_recoTrackExtractor
pointer to object that extracts info from the root RecoTrack
std::string m_SVDEstimationMethod
Identifier which estimation method to use for SVD.
std::string m_recoTracksStoreArrayName
Name of the recoTrack StoreArray.
std::unique_ptr< SubRecoTrackExtractor > m_subRecoTrackExtractor
pointer to object that extracts info from the related sub RecoTracks
float m_nSpacePointsBefore
number of SpacePoints in SPTC.
std::unique_ptr< QEResultsExtractor > m_qeResultsExtractorBefore
pointer to object that extracts the results from the estimation method (including QI,...
Abstract base class for different kinds of events.