ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetRecTools
InDetGNNHardScatterSelection
InDetGNNHardScatterSelection
PhotonsLoader.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
4
This is a subclass of IConstituentsLoader. It is used to load the general Photons from the vertex
5
and extract their features for the NN evaluation.
6
*/
7
8
#ifndef INDET_PHOTONS_LOADER_H
9
#define INDET_PHOTONS_LOADER_H
10
11
// local includes
12
#include "
InDetGNNHardScatterSelection/ConstituentsLoader.h
"
13
#include "
InDetGNNHardScatterSelection/CustomGetterUtils.h
"
14
15
// EDM includes
16
#include "
xAODTracking/VertexFwd.h
"
17
#include "
xAODEgamma/Photon.h
"
18
#include "
xAODEgamma/PhotonContainer.h
"
19
#include "
xAODBase/IParticle.h
"
20
21
// STL includes
22
#include <string>
23
#include <vector>
24
#include <functional>
25
#include <exception>
26
#include <type_traits>
27
#include <regex>
28
29
namespace
InDetGNNHardScatterSelection
{
30
31
// Subclass for Photons loader inherited from abstract IConstituentsLoader class
32
class
PhotonsLoader
:
public
IConstituentsLoader
{
33
public
:
34
PhotonsLoader
(
const
ConstituentsInputConfig
& cfg);
35
std::tuple<std::string, FlavorTagInference::Inputs, std::vector<const xAOD::IParticle*>>
getData
(
36
const
xAOD::Vertex
& vertex)
const override
;
37
std::string
getName
()
const override
;
38
ConstituentsType
getType
()
const override
;
39
protected
:
40
// typedefs
41
typedef
xAOD::Vertex
Vertex
;
42
typedef
std::pair<std::string, double>
NamedVar
;
43
typedef
std::pair<std::string, std::vector<double> >
NamedSeq
;
44
// iparticle typedefs
45
typedef
std::vector<const xAOD::Photon*>
Photons
;
46
typedef
std::vector<const xAOD::IParticle*>
Particles
;
47
typedef
std::function<double(
const
xAOD::Photon
*,
48
const
Vertex
&)>
PhotonSortVar
;
49
50
// usings for Photon getter
51
using
AE
=
SG::AuxElement
;
52
using
IPC
=
xAOD::PhotonContainer
;
53
using
PartLinks
= std::vector<ElementLink<IPC>>;
54
using
IPV
= std::vector<const xAOD::Photon*>;
55
56
static
PhotonSortVar
iparticleSortVar
(
ConstituentsSortOrder
);
57
58
std::vector<const xAOD::Photon*>
getPhotonsFromVertex
(
const
xAOD::Vertex
& vertex)
const
;
59
60
PhotonSortVar
m_iparticleSortVar
;
61
getter_utils::CustomSequenceGetter<xAOD::Photon>
m_customSequenceGetter
;
62
std::function<
IPV
(
const
Vertex
&)>
m_associator
;
63
};
64
}
65
66
#endif
IParticle.h
PhotonContainer.h
Photon.h
ConstituentsLoader.h
CustomGetterUtils.h
VertexFwd.h
InDetGNNHardScatterSelection::IConstituentsLoader::IConstituentsLoader
IConstituentsLoader(const ConstituentsInputConfig &cfg)
Definition
InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/InDetGNNHardScatterSelection/ConstituentsLoader.h:63
InDetGNNHardScatterSelection::PhotonsLoader::m_iparticleSortVar
PhotonSortVar m_iparticleSortVar
Definition
PhotonsLoader.h:60
InDetGNNHardScatterSelection::PhotonsLoader::PartLinks
std::vector< ElementLink< IPC > > PartLinks
Definition
PhotonsLoader.h:53
InDetGNNHardScatterSelection::PhotonsLoader::Photons
std::vector< const xAOD::Photon * > Photons
Definition
PhotonsLoader.h:45
InDetGNNHardScatterSelection::PhotonsLoader::Vertex
xAOD::Vertex Vertex
Definition
PhotonsLoader.h:41
InDetGNNHardScatterSelection::PhotonsLoader::AE
SG::AuxElement AE
Definition
PhotonsLoader.h:51
InDetGNNHardScatterSelection::PhotonsLoader::getName
std::string getName() const override
Definition
PhotonsLoader.cxx:76
InDetGNNHardScatterSelection::PhotonsLoader::getPhotonsFromVertex
std::vector< const xAOD::Photon * > getPhotonsFromVertex(const xAOD::Vertex &vertex) const
Definition
PhotonsLoader.cxx:49
InDetGNNHardScatterSelection::PhotonsLoader::m_customSequenceGetter
getter_utils::CustomSequenceGetter< xAOD::Photon > m_customSequenceGetter
Definition
PhotonsLoader.h:61
InDetGNNHardScatterSelection::PhotonsLoader::NamedSeq
std::pair< std::string, std::vector< double > > NamedSeq
Definition
PhotonsLoader.h:43
InDetGNNHardScatterSelection::PhotonsLoader::NamedVar
std::pair< std::string, double > NamedVar
Definition
PhotonsLoader.h:42
InDetGNNHardScatterSelection::PhotonsLoader::IPV
std::vector< const xAOD::Photon * > IPV
Definition
PhotonsLoader.h:54
InDetGNNHardScatterSelection::PhotonsLoader::Particles
std::vector< const xAOD::IParticle * > Particles
Definition
PhotonsLoader.h:46
InDetGNNHardScatterSelection::PhotonsLoader::IPC
xAOD::PhotonContainer IPC
Definition
PhotonsLoader.h:52
InDetGNNHardScatterSelection::PhotonsLoader::m_associator
std::function< IPV(const Vertex &)> m_associator
Definition
PhotonsLoader.h:62
InDetGNNHardScatterSelection::PhotonsLoader::getType
ConstituentsType getType() const override
Definition
PhotonsLoader.cxx:79
InDetGNNHardScatterSelection::PhotonsLoader::PhotonsLoader
PhotonsLoader(const ConstituentsInputConfig &cfg)
Definition
PhotonsLoader.cxx:27
InDetGNNHardScatterSelection::PhotonsLoader::getData
std::tuple< std::string, FlavorTagInference::Inputs, std::vector< const xAOD::IParticle * > > getData(const xAOD::Vertex &vertex) const override
Definition
PhotonsLoader.cxx:66
InDetGNNHardScatterSelection::PhotonsLoader::iparticleSortVar
static PhotonSortVar iparticleSortVar(ConstituentsSortOrder)
Definition
PhotonsLoader.cxx:13
InDetGNNHardScatterSelection::PhotonsLoader::PhotonSortVar
std::function< double(const xAOD::Photon *, const Vertex &)> PhotonSortVar
Definition
PhotonsLoader.h:48
InDetGNNHardScatterSelection::getter_utils::CustomSequenceGetter
Template class to extract features from sequence of constituents.
Definition
InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/InDetGNNHardScatterSelection/CustomGetterUtils.h:81
InDetGNNHardScatterSelection
Definition
InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/InDetGNNHardScatterSelection/ConstituentsLoader.h:22
InDetGNNHardScatterSelection::ConstituentsType
ConstituentsType
Definition
InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/InDetGNNHardScatterSelection/ConstituentsLoader.h:31
InDetGNNHardScatterSelection::ConstituentsSortOrder
ConstituentsSortOrder
Definition
InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/InDetGNNHardScatterSelection/ConstituentsLoader.h:25
SG::AuxElement
AuxElement(SG::AuxVectorData *container, size_t index)
Base class for elements of a container that can have aux data.
xAOD::PhotonContainer
PhotonContainer_v1 PhotonContainer
Definition of the current "photon container version".
Definition
Event/xAOD/xAODEgamma/xAODEgamma/PhotonContainer.h:17
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition
Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
xAOD::Photon
Photon_v1 Photon
Definition of the current "egamma version".
Definition
Event/xAOD/xAODEgamma/xAODEgamma/Photon.h:17
InDetGNNHardScatterSelection::ConstituentsInputConfig
Definition
InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/InDetGNNHardScatterSelection/ConstituentsLoader.h:45
Generated on
for ATLAS Offline Software by
1.17.0