ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
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
TrackParticleFwd.h
VertexFwd.h
CP::MVAInputEvaluator::MiniEvaluator::MiniEvaluator
MiniEvaluator()
Definition
MVAInputEvaluator.h:27
CP::MVAInputEvaluator::MiniEvaluator::~MiniEvaluator
virtual ~MiniEvaluator()
Definition
MVAInputEvaluator.h:28
CP::MVAInputEvaluator::MiniEvaluator::eval
virtual float eval(const xAOD::TrackParticle &trk, const xAOD::Vertex &vx, const xAOD::EventInfo &evt) const =0
CP::MVAInputEvaluator::add
void add(const std::string &name, const MVAInputEvaluator::Input &type)
Definition
MVAInputEvaluator.cxx:306
CP::MVAInputEvaluator::MVAInputEvaluator
MVAInputEvaluator()
Definition
MVAInputEvaluator.h:21
CP::MVAInputEvaluator::clear
void clear()
Definition
MVAInputEvaluator.cxx:442
CP::MVAInputEvaluator::m_evalMap
InputEvaluatorMap m_evalMap
Definition
MVAInputEvaluator.h:76
CP::MVAInputEvaluator::load
void load(const MVAInputEvaluator::InputSelectionMap &selection)
Definition
MVAInputEvaluator.cxx:428
CP::MVAInputEvaluator::~MVAInputEvaluator
~MVAInputEvaluator()
Definition
MVAInputEvaluator.cxx:302
CP::MVAInputEvaluator::InputSelectionMap
std::map< std::string, Input > InputSelectionMap
Definition
MVAInputEvaluator.h:65
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::InputEvaluatorMap
std::map< std::string, std::unique_ptr< MiniEvaluator > > InputEvaluatorMap
Definition
MVAInputEvaluator.h:67
CP::MVAInputEvaluator::Input
Input
Definition
MVAInputEvaluator.h:33
CP::MVAInputEvaluator::VxY
@ VxY
Definition
MVAInputEvaluator.h:57
CP::MVAInputEvaluator::RedChiSq
@ RedChiSq
Definition
MVAInputEvaluator.h:48
CP::MVAInputEvaluator::Eta
@ Eta
Definition
MVAInputEvaluator.h:35
CP::MVAInputEvaluator::Pt
@ Pt
Definition
MVAInputEvaluator.h:34
CP::MVAInputEvaluator::ErrVxX
@ ErrVxX
Definition
MVAInputEvaluator.h:56
CP::MVAInputEvaluator::D0
@ D0
Definition
MVAInputEvaluator.h:37
CP::MVAInputEvaluator::D0Sig
@ D0Sig
Definition
MVAInputEvaluator.h:49
CP::MVAInputEvaluator::DZSinTheta
@ DZSinTheta
Definition
MVAInputEvaluator.h:52
CP::MVAInputEvaluator::ErrDZ
@ ErrDZ
Definition
MVAInputEvaluator.h:51
CP::MVAInputEvaluator::M
@ M
Definition
MVAInputEvaluator.h:36
CP::MVAInputEvaluator::ErrQOverP
@ ErrQOverP
Definition
MVAInputEvaluator.h:46
CP::MVAInputEvaluator::VxZ
@ VxZ
Definition
MVAInputEvaluator.h:59
CP::MVAInputEvaluator::ErrZ0
@ ErrZ0
Definition
MVAInputEvaluator.h:40
CP::MVAInputEvaluator::ErrVxZ
@ ErrVxZ
Definition
MVAInputEvaluator.h:60
CP::MVAInputEvaluator::QOverP
@ QOverP
Definition
MVAInputEvaluator.h:45
CP::MVAInputEvaluator::FitWeight
@ FitWeight
Definition
MVAInputEvaluator.h:54
CP::MVAInputEvaluator::ErrDZSinTheta
@ ErrDZSinTheta
Definition
MVAInputEvaluator.h:53
CP::MVAInputEvaluator::DZ
@ DZ
Definition
MVAInputEvaluator.h:50
CP::MVAInputEvaluator::ErrPhi
@ ErrPhi
Definition
MVAInputEvaluator.h:42
CP::MVAInputEvaluator::ChiSq
@ ChiSq
Definition
MVAInputEvaluator.h:47
CP::MVAInputEvaluator::ErrD0
@ ErrD0
Definition
MVAInputEvaluator.h:38
CP::MVAInputEvaluator::ErrVxY
@ ErrVxY
Definition
MVAInputEvaluator.h:58
CP::MVAInputEvaluator::Theta
@ Theta
Definition
MVAInputEvaluator.h:43
CP::MVAInputEvaluator::ErrTheta
@ ErrTheta
Definition
MVAInputEvaluator.h:44
CP::MVAInputEvaluator::Phi
@ Phi
Definition
MVAInputEvaluator.h:41
CP::MVAInputEvaluator::Z0
@ Z0
Definition
MVAInputEvaluator.h:39
CP::MVAInputEvaluator::VxX
@ VxX
Definition
MVAInputEvaluator.h:55
selection
const std::string selection
Definition
fbtTestBasics.cxx:75
CP
Select isolated Photons, Electrons and Muons.
Definition
Control/xAODRootAccess/xAODRootAccess/TEvent.h:27
xAOD::name
name
Definition
TriggerMenuJson_v1.cxx:29
xAOD::EventInfo
EventInfo_v1 EventInfo
Definition of the latest event info version.
Definition
IEventInfoCnvTool.h:16
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition
Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition
Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
type
EventInfo.h
Generated on
for ATLAS Offline Software by
1.17.0