Belle II Software
prerelease-11-00-00a
QEResultsExtractor.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
11
#include <tracking/trackFindingVXD/variableExtractors/VariableExtractor.h>
12
#include <tracking/trackFindingVXD/trackQualityEstimators/QualityEstimatorBase.h>
13
14
15
namespace
Belle2
{
21
class
QEResultsExtractor
:
public
VariableExtractor
{
22
public
:
23
25
QEResultsExtractor
(
const
std::string& method, std::vector<
TrackingUtilities::Named<float*>
>& variableSet,
26
const
std::string& prefix =
""
):
27
VariableExtractor
(),
m_prefix
(prefix + method)
28
{
29
addVariable
(
m_prefix
+
"_QI"
, variableSet);
30
addVariable
(
m_prefix
+
"_Chi2"
, variableSet);
31
addVariable
(
m_prefix
+
"_Pt"
, variableSet);
32
addVariable
(
m_prefix
+
"_PMag"
, variableSet);
33
addVariable
(
m_prefix
+
"_P_Mag"
, variableSet);
34
addVariable
(
m_prefix
+
"_P_Eta"
, variableSet);
35
addVariable
(
m_prefix
+
"_P_Phi"
, variableSet);
36
addVariable
(
m_prefix
+
"_P_X"
, variableSet);
37
addVariable
(
m_prefix
+
"_P_Y"
, variableSet);
38
addVariable
(
m_prefix
+
"_P_Z"
, variableSet);
39
}
40
42
void
extractVariables
(
QualityEstimationResults
const
& values)
43
{
44
m_variables
.at(
m_prefix
+
"_QI"
) = values.qualityIndicator;
45
46
float
saneValue;
47
saneValue = values.chiSquared ? *(values.chiSquared) : -1;
48
m_variables
.at(
m_prefix
+
"_Chi2"
) = saneValue;
49
saneValue = values.pt ? *(values.pt) : -1;
50
m_variables
.at(
m_prefix
+
"_Pt"
) = saneValue;
51
saneValue = values.pmag ? *(values.pmag) : -1;
52
m_variables
.at(
m_prefix
+
"_PMag"
) = saneValue;
53
54
55
if
(values.p) {
56
auto
&
vector
= *(values.p);
57
m_variables
.at(
m_prefix
+
"_P_Mag"
) =
vector
.Mag();
58
m_variables
.at(
m_prefix
+
"_P_Eta"
) =
vector
.Eta();
59
m_variables
.at(
m_prefix
+
"_P_Phi"
) =
vector
.Phi();
60
m_variables
.at(
m_prefix
+
"_P_X"
) =
vector
.X();
61
m_variables
.at(
m_prefix
+
"_P_Y"
) =
vector
.Y();
62
m_variables
.at(
m_prefix
+
"_P_Z"
) =
vector
.Z();
63
}
else
{
64
m_variables
.at(
m_prefix
+
"_P_Mag"
) = -1;
65
m_variables
.at(
m_prefix
+
"_P_Eta"
) = -1;
66
m_variables
.at(
m_prefix
+
"_P_Phi"
) = -1;
67
m_variables
.at(
m_prefix
+
"_P_X"
) = -1;
68
m_variables
.at(
m_prefix
+
"_P_Y"
) = -1;
69
m_variables
.at(
m_prefix
+
"_P_Z"
) = -1;
70
}
71
}
72
73
protected
:
76
std::string
m_prefix
;
77
};
78
79
}
Belle2::QEResultsExtractor::extractVariables
void extractVariables(QualityEstimationResults const &values)
extract the actual variables and write into a variable set
Definition
QEResultsExtractor.h:42
Belle2::QEResultsExtractor::m_prefix
std::string m_prefix
prefix that will be added before the variable names.
Definition
QEResultsExtractor.h:76
Belle2::QEResultsExtractor::QEResultsExtractor
QEResultsExtractor(const std::string &method, std::vector< TrackingUtilities::Named< float * > > &variableSet, const std::string &prefix="")
Define names of variables that get extracted.
Definition
QEResultsExtractor.h:25
Belle2::TrackingUtilities::Named
A mixin class to attach a name to an object.
Definition
Named.h:23
Belle2::VariableExtractor
class to extract individual variables
Definition
VariableExtractor.h:25
Belle2::VariableExtractor::m_variables
std::unordered_map< std::string, float > m_variables
unordered_map to associate float value with a string name
Definition
VariableExtractor.h:38
Belle2::VariableExtractor::addVariable
void addVariable(const std::string &identifier, std::vector< TrackingUtilities::Named< float * > > &variables)
add a variable to the variable set
Definition
VariableExtractor.h:30
vector
STL class.
Belle2
Abstract base class for different kinds of events.
Definition
MillepedeAlgorithm.h:17
Belle2::QualityEstimationResults
Container for complete fit/estimation results.
Definition
QualityEstimatorBase.h:24
tracking
trackFindingVXD
variableExtractors
include
QEResultsExtractor.h
Generated on Sat May 2 2026 18:57:11 for Belle II Software by
1.13.2