ATLAS Offline Software
InnerDetector
InDetRecTools
TrackVertexAssociationTool
TrackVertexAssociationTool
MVAInputEvaluator.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef MVAINPUTEVALUATOR_H
6
#define MVAINPUTEVALUATOR_H
7
8
#include "
xAODEventInfo/EventInfo.h
"
9
#include "
xAODTracking/TrackParticleFwd.h
"
10
#include "
xAODTracking/VertexFwd.h
"
11
12
#include <iterator>
13
#include <map>
14
#include <memory>
15
#include <string>
16
17
namespace
CP
{
18
19
class
MVAInputEvaluator
{
20
public
:
21
MVAInputEvaluator
() {};
22
~MVAInputEvaluator
();
23
24
// Nested class for evaluating single input features
25
class
MiniEvaluator
{
26
public
:
27
MiniEvaluator
() {};
28
virtual
~MiniEvaluator
() {};
29
virtual
float
eval
(
const
xAOD::TrackParticle
& trk,
const
xAOD::Vertex
& vx,
const
xAOD::EventInfo
&
evt
)
const
= 0;
30
};
31
32
// Enumerate the different possible inputs
33
enum
Input
{
34
Pt
,
35
Eta
,
36
M
,
37
D0
,
38
ErrD0
,
39
Z0
,
40
ErrZ0
,
41
Phi
,
42
ErrPhi
,
43
Theta
,
44
ErrTheta
,
45
QOverP
,
46
ErrQOverP
,
47
ChiSq
,
48
RedChiSq
,
49
D0Sig
,
50
DZ
,
51
ErrDZ
,
52
DZSinTheta
,
53
ErrDZSinTheta
,
54
FitWeight
,
55
VxX
,
56
ErrVxX
,
57
VxY
,
58
ErrVxY
,
59
VxZ
,
60
ErrVxZ
61
};
62
63
// Handy typedefs
64
// Defines the mapping of strings to Inputs:
65
typedef
std::map<std::string, Input>
InputSelectionMap
;
66
// Defines the mapping of those same strings to MiniEvaluators:
67
typedef
std::map<std::string, std::unique_ptr<MiniEvaluator>>
InputEvaluatorMap
;
68
69
void
add
(
const
std::string&
name
,
const
MVAInputEvaluator::Input
&
type
);
70
void
load
(
const
MVAInputEvaluator::InputSelectionMap
&
selection
);
71
void
eval
(
const
xAOD::TrackParticle
& trk,
const
xAOD::Vertex
& vx,
const
xAOD::EventInfo
&
evt
, std::map<std::string, double>&
input
)
const
;
72
void
clear
();
73
74
private
:
75
// Loaded evaluator map
76
InputEvaluatorMap
m_evalMap
= {};
77
78
};
79
80
}
// namepace CP
81
82
#endif // MVAINPUTEVALUATOR_H
CP::MVAInputEvaluator::Pt
@ Pt
Definition:
MVAInputEvaluator.h:34
CP::MVAInputEvaluator::MiniEvaluator
Definition:
MVAInputEvaluator.h:25
CP::MVAInputEvaluator::M
@ M
Definition:
MVAInputEvaluator.h:36
CP::MVAInputEvaluator::MiniEvaluator::eval
virtual float eval(const xAOD::TrackParticle &trk, const xAOD::Vertex &vx, const xAOD::EventInfo &evt) const =0
CP::MVAInputEvaluator::InputEvaluatorMap
std::map< std::string, std::unique_ptr< MiniEvaluator > > InputEvaluatorMap
Definition:
MVAInputEvaluator.h:67
CP::MVAInputEvaluator::D0Sig
@ D0Sig
Definition:
MVAInputEvaluator.h:49
CP::MVAInputEvaluator::ErrTheta
@ ErrTheta
Definition:
MVAInputEvaluator.h:44
CP::MVAInputEvaluator::ErrD0
@ ErrD0
Definition:
MVAInputEvaluator.h:38
LArG4FSStartPointFilter.evt
evt
Definition:
LArG4FSStartPointFilter.py:42
CP::MVAInputEvaluator::RedChiSq
@ RedChiSq
Definition:
MVAInputEvaluator.h:48
CP::MVAInputEvaluator::eval
void eval(const xAOD::TrackParticle &trk, const xAOD::Vertex &vx, const xAOD::EventInfo &evt, std::map< std::string, double > &input) const
Definition:
MVAInputEvaluator.cxx:435
CP::MVAInputEvaluator::DZSinTheta
@ DZSinTheta
Definition:
MVAInputEvaluator.h:52
CP::MVAInputEvaluator::DZ
@ DZ
Definition:
MVAInputEvaluator.h:50
CP::MVAInputEvaluator
Definition:
MVAInputEvaluator.h:19
CP
Select isolated Photons, Electrons and Muons.
Definition:
Control/xAODRootAccess/xAODRootAccess/TEvent.h:49
CP::MVAInputEvaluator::FitWeight
@ FitWeight
Definition:
MVAInputEvaluator.h:54
CP::MVAInputEvaluator::VxX
@ VxX
Definition:
MVAInputEvaluator.h:55
CP::MVAInputEvaluator::ErrQOverP
@ ErrQOverP
Definition:
MVAInputEvaluator.h:46
CP::MVAInputEvaluator::D0
@ D0
Definition:
MVAInputEvaluator.h:37
CP::MVAInputEvaluator::m_evalMap
InputEvaluatorMap m_evalMap
Definition:
MVAInputEvaluator.h:76
CP::MVAInputEvaluator::QOverP
@ QOverP
Definition:
MVAInputEvaluator.h:45
CP::MVAInputEvaluator::ChiSq
@ ChiSq
Definition:
MVAInputEvaluator.h:47
CP::MVAInputEvaluator::MiniEvaluator::MiniEvaluator
MiniEvaluator()
Definition:
MVAInputEvaluator.h:27
CP::MVAInputEvaluator::load
void load(const MVAInputEvaluator::InputSelectionMap &selection)
Definition:
MVAInputEvaluator.cxx:428
CP::MVAInputEvaluator::ErrVxZ
@ ErrVxZ
Definition:
MVAInputEvaluator.h:60
PlotPulseshapeFromCool.input
input
Definition:
PlotPulseshapeFromCool.py:106
CP::MVAInputEvaluator::clear
void clear()
Definition:
MVAInputEvaluator.cxx:442
CP::MVAInputEvaluator::Phi
@ Phi
Definition:
MVAInputEvaluator.h:41
CP::MVAInputEvaluator::ErrVxX
@ ErrVxX
Definition:
MVAInputEvaluator.h:56
CP::MVAInputEvaluator::VxZ
@ VxZ
Definition:
MVAInputEvaluator.h:59
CP::MVAInputEvaluator::ErrDZSinTheta
@ ErrDZSinTheta
Definition:
MVAInputEvaluator.h:53
CP::MVAInputEvaluator::InputSelectionMap
std::map< std::string, Input > InputSelectionMap
Definition:
MVAInputEvaluator.h:65
CP::MVAInputEvaluator::~MVAInputEvaluator
~MVAInputEvaluator()
Definition:
MVAInputEvaluator.cxx:302
selection
const std::string selection
Definition:
fbtTestBasics.cxx:74
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:228
CP::MVAInputEvaluator::ErrVxY
@ ErrVxY
Definition:
MVAInputEvaluator.h:58
CP::MVAInputEvaluator::Z0
@ Z0
Definition:
MVAInputEvaluator.h:39
VertexFwd.h
EventInfo.h
xAOD::EventInfo_v1
Class describing the basic event information.
Definition:
EventInfo_v1.h:43
xAOD::Vertex_v1
Class describing a Vertex.
Definition:
Vertex_v1.h:42
python.CaloScaleNoiseConfig.type
type
Definition:
CaloScaleNoiseConfig.py:78
TrackParticleFwd.h
CP::MVAInputEvaluator::Eta
@ Eta
Definition:
MVAInputEvaluator.h:35
CP::MVAInputEvaluator::Input
Input
Definition:
MVAInputEvaluator.h:33
CP::MVAInputEvaluator::MVAInputEvaluator
MVAInputEvaluator()
Definition:
MVAInputEvaluator.h:21
CP::MVAInputEvaluator::Theta
@ Theta
Definition:
MVAInputEvaluator.h:43
CP::MVAInputEvaluator::ErrPhi
@ ErrPhi
Definition:
MVAInputEvaluator.h:42
CP::MVAInputEvaluator::add
void add(const std::string &name, const MVAInputEvaluator::Input &type)
Definition:
MVAInputEvaluator.cxx:306
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition:
TrackParticle_v1.h:43
CP::MVAInputEvaluator::ErrZ0
@ ErrZ0
Definition:
MVAInputEvaluator.h:40
CP::MVAInputEvaluator::MiniEvaluator::~MiniEvaluator
virtual ~MiniEvaluator()
Definition:
MVAInputEvaluator.h:28
CP::MVAInputEvaluator::VxY
@ VxY
Definition:
MVAInputEvaluator.h:57
CP::MVAInputEvaluator::ErrDZ
@ ErrDZ
Definition:
MVAInputEvaluator.h:51
Generated on Fri Jan 10 2025 21:15:15 for ATLAS Offline Software by
1.8.18