ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
JetTagging
FlavorTagInference
FlavorTagInference
FlowElementsLoader.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
4
This is a subclass of IConstituentsLoader. It is used to load the FlowElements from the jet
5
and extract their features for the NN evaluation.
6
*/
7
8
#ifndef FLOW_ELEMENTS_LOADER_H
9
#define FLOW_ELEMENTS_LOADER_H
10
11
// local includes
12
#include "
FlavorTagInference/ConstituentsLoader.h
"
13
#include "
FlavorTagInference/CustomGetterUtils.h
"
14
15
// EDM includes
16
#include "
xAODJet/JetFwd.h
"
17
#include "
xAODPFlow/FlowElement.h
"
18
19
// STL includes
20
#include <string>
21
#include <vector>
22
#include <functional>
23
24
namespace
FlavorTagInference
{
25
26
// Subclass for IParticles loader inherited from abstract IConstituentsLoader class
27
class
FlowElementsLoader
:
public
IConstituentsLoader
{
28
public
:
29
FlowElementsLoader
(
const
ConstituentsInputConfig
& cfg,
const
FTagOptions
& options);
30
Inputs
getData
(
const
xAOD::IParticle
&
jet
)
const override
;
31
const
FTagDataDependencyNames
&
getDependencies
()
const override
;
32
const
std::set<std::string>&
getUsedRemap
()
const override
;
33
const
std::string&
getName
()
const override
;
34
const
ConstituentsType
&
getType
()
const override
;
35
protected
:
36
// typedefs
37
typedef
xAOD::IParticle
Jet
;
38
typedef
std::pair<std::string, double>
NamedVar
;
39
typedef
std::pair<std::string, std::vector<double> >
NamedSeq
;
40
// FlowElement typedefs
41
typedef
std::vector<const xAOD::FlowElement*>
FlowElements
;
42
typedef
std::function<double(
const
xAOD::FlowElement
*,
43
const
Jet
&)>
FlowElementSortVar
;
44
45
// getter function
46
typedef
std::function<
NamedSeq
(
const
Jet
&,
const
FlowElements
&)>
SeqFromFlowElements
;
47
48
// usings for IParticle getter
49
using
AE
=
SG::AuxElement
;
50
using
IPC
=
xAOD::IParticleContainer
;
51
using
PartLinks
= std::vector<ElementLink<IPC>>;
52
using
FEV
= std::vector<const xAOD::FlowElement*>;
53
54
FlowElementSortVar
flowElementSortVar
(
ConstituentsSortOrder
);
55
56
std::vector<const xAOD::FlowElement*>
getFlowElementsFromJet
(
const
xAOD::IParticle
&
jet
)
const
;
57
58
FlowElementSortVar
m_flowElementSortVar
;
59
getter_utils::SeqGetter<xAOD::FlowElement>
m_seqGetter
;
60
std::function<
FEV
(
const
Jet
&)>
m_associator
;
61
};
62
}
63
64
#endif
FlowElement.h
JetFwd.h
ConstituentsLoader.h
CustomGetterUtils.h
FlavorTagInference::FlowElementsLoader::NamedVar
std::pair< std::string, double > NamedVar
Definition
FlowElementsLoader.h:38
FlavorTagInference::FlowElementsLoader::Jet
xAOD::IParticle Jet
Definition
FlowElementsLoader.h:37
FlavorTagInference::FlowElementsLoader::getData
Inputs getData(const xAOD::IParticle &jet) const override
Definition
FlowElementsLoader.cxx:73
FlavorTagInference::FlowElementsLoader::getType
const ConstituentsType & getType() const override
Definition
FlowElementsLoader.cxx:87
FlavorTagInference::FlowElementsLoader::m_associator
std::function< FEV(const Jet &)> m_associator
Definition
FlowElementsLoader.h:60
FlavorTagInference::FlowElementsLoader::NamedSeq
std::pair< std::string, std::vector< double > > NamedSeq
Definition
FlowElementsLoader.h:39
FlavorTagInference::FlowElementsLoader::AE
SG::AuxElement AE
Definition
FlowElementsLoader.h:49
FlavorTagInference::FlowElementsLoader::IPC
xAOD::IParticleContainer IPC
Definition
FlowElementsLoader.h:50
FlavorTagInference::FlowElementsLoader::getDependencies
const FTagDataDependencyNames & getDependencies() const override
Definition
FlowElementsLoader.cxx:78
FlavorTagInference::FlowElementsLoader::FlowElementsLoader
FlowElementsLoader(const ConstituentsInputConfig &cfg, const FTagOptions &options)
Definition
FlowElementsLoader.cxx:28
FlavorTagInference::FlowElementsLoader::FlowElementSortVar
std::function< double(const xAOD::FlowElement *, const Jet &)> FlowElementSortVar
Definition
FlowElementsLoader.h:43
FlavorTagInference::FlowElementsLoader::m_flowElementSortVar
FlowElementSortVar m_flowElementSortVar
Definition
FlowElementsLoader.h:58
FlavorTagInference::FlowElementsLoader::m_seqGetter
getter_utils::SeqGetter< xAOD::FlowElement > m_seqGetter
Definition
FlowElementsLoader.h:59
FlavorTagInference::FlowElementsLoader::getUsedRemap
const std::set< std::string > & getUsedRemap() const override
Definition
FlowElementsLoader.cxx:81
FlavorTagInference::FlowElementsLoader::getName
const std::string & getName() const override
Definition
FlowElementsLoader.cxx:84
FlavorTagInference::FlowElementsLoader::getFlowElementsFromJet
std::vector< const xAOD::FlowElement * > getFlowElementsFromJet(const xAOD::IParticle &jet) const
Definition
FlowElementsLoader.cxx:57
FlavorTagInference::FlowElementsLoader::FEV
std::vector< const xAOD::FlowElement * > FEV
Definition
FlowElementsLoader.h:52
FlavorTagInference::FlowElementsLoader::FlowElements
std::vector< const xAOD::FlowElement * > FlowElements
Definition
FlowElementsLoader.h:41
FlavorTagInference::FlowElementsLoader::flowElementSortVar
FlowElementSortVar flowElementSortVar(ConstituentsSortOrder)
Definition
FlowElementsLoader.cxx:14
FlavorTagInference::FlowElementsLoader::PartLinks
std::vector< ElementLink< IPC > > PartLinks
Definition
FlowElementsLoader.h:51
FlavorTagInference::FlowElementsLoader::SeqFromFlowElements
std::function< NamedSeq(const Jet &, const FlowElements &)> SeqFromFlowElements
Definition
FlowElementsLoader.h:46
FlavorTagInference::IConstituentsLoader::IConstituentsLoader
IConstituentsLoader(const ConstituentsInputConfig &cfg)
Definition
PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/ConstituentsLoader.h:86
FlavorTagInference::getter_utils::SeqGetter
Template class to extract features from sequence of constituents.
Definition
PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/CustomGetterUtils.h:75
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
FlavorTagInference
This file contains "getter" functions used for accessing tagger inputs from the EDM.
Definition
CaloClusterLoader.h:27
FlavorTagInference::ConstituentsType
ConstituentsType
Definition
PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/ConstituentsLoader.h:48
FlavorTagInference::ConstituentsSortOrder
ConstituentsSortOrder
Definition
PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/ConstituentsLoader.h:29
SG::AuxElement
AuxElement(SG::AuxVectorData *container, size_t index)
Base class for elements of a container that can have aux data.
jet
Definition
JetCalibTools_PlotJESFactors.cxx:23
xAOD::FlowElement
FlowElement_v1 FlowElement
Definition of the current "pfo version".
Definition
FlowElement.h:16
xAOD::IParticleContainer
DataVector< IParticle > IParticleContainer
Simple convenience declaration of IParticleContainer.
Definition
xAOD/xAODBase/xAODBase/IParticleContainer.h:32
FlavorTagInference::ConstituentsInputConfig
Definition
PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/ConstituentsLoader.h:67
FlavorTagInference::FTagDataDependencyNames
Definition
FTagDataDependencyNames.h:12
FlavorTagInference::FTagOptions
Definition
PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/DataPrepUtilities.h:45
Generated on
for ATLAS Offline Software by
1.17.0