ATLAS Offline Software
PhysicsAnalysis
JetTagging
FlavorTagInference
FlavorTagInference
HitsLoader.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 IParticles from the jet
5
and extract their features for the NN evaluation. For now it supports only neutral flow objects.
6
Charged flow objects have experimental support and are not recommended for use.
7
*/
8
9
#ifndef HITS_LOADER_H
10
#define HITS_LOADER_H
11
12
// local includes
13
#include "
FlavorTagInference/ConstituentsLoader.h
"
14
#include "
FlavorTagInference/CustomGetterUtils.h
"
15
16
// EDM includes
17
#include "
xAODJet/JetFwd.h
"
18
#include "
xAODBase/IParticle.h
"
19
#include "
xAODTracking/TrackMeasurementValidationContainer.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
FlavorTagInference
{
30
31
using namespace
FlavorTagInference
;
32
33
ConstituentsInputConfig
createHitsLoaderConfig
(
34
std::pair<std::string, std::vector<std::string>> hits_names
35
);
36
// Subclass for Hits loader inherited from abstract IConstituentsLoader class
37
class
HitsLoader
:
public
IConstituentsLoader
{
38
public
:
39
HitsLoader
(
const
ConstituentsInputConfig
&,
const
FTagOptions
&
options
);
40
std::tuple<Inputs, std::vector<const xAOD::IParticle*>>
getData
(
41
const
xAOD::IParticle
&
jet
)
const override
;
42
const
FTagDataDependencyNames
&
getDependencies
()
const override
;
43
const
std::set<std::string>&
getUsedRemap
()
const override
;
44
const
std::string&
getName
()
const override
;
45
const
ConstituentsType
&
getType
()
const override
;
46
protected
:
47
// typedefs
48
typedef
xAOD::IParticle
Jet
;
49
typedef
std::pair<std::string, double>
NamedVar
;
50
typedef
std::pair<std::string, std::vector<double> >
NamedSeq
;
51
// hit typedefs
52
typedef
std::vector<const xAOD::TrackMeasurementValidation*>
Hits
;
53
54
// getter function
55
typedef
std::function<
NamedSeq
(
const
Jet
&,
const
Hits
&)>
SeqFromHits
;
56
57
// usings for Hits getter
58
using
AE
=
SG::AuxElement
;
59
using
TMC
=
xAOD::TrackMeasurementValidationContainer
;
60
using
HitLinks
= std::vector<ElementLink<TMC>>;
61
using
TMVV
= std::vector<const xAOD::TrackMeasurementValidation*>;
62
63
64
std::vector<const xAOD::TrackMeasurementValidation*>
getHitsFromJet
(
const
xAOD::IParticle
&
jet
)
const
;
65
66
getter_utils::SeqGetter<xAOD::TrackMeasurementValidation>
m_seqGetter
;
67
std::function<
TMVV
(
const
Jet
&)>
m_associator
;
68
};
69
}
70
71
#endif
ConstituentsLoader.h
xAOD::TrackMeasurementValidationContainer
TrackMeasurementValidationContainer_v1 TrackMeasurementValidationContainer
Definition of the current "TrackMeasurementValidation container version".
Definition:
TrackMeasurementValidationContainer.h:14
FlavorTagInference::HitsLoader::TMVV
std::vector< const xAOD::TrackMeasurementValidation * > TMVV
Definition:
HitsLoader.h:61
FlavorTagInference::IConstituentsLoader
Definition:
PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/ConstituentsLoader.h:77
FlavorTagInference
This file contains "getter" functions used for accessing tagger inputs from the EDM.
Definition:
PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/ConstituentsLoader.h:27
IParticle.h
SG::AuxElement
Base class for elements of a container that can have aux data.
Definition:
AuxElement.h:483
FlavorTagInference::getter_utils::SeqGetter
Template class to extract features from sequence of constituents.
Definition:
PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/CustomGetterUtils.h:69
FlavorTagInference::HitsLoader::getUsedRemap
const std::set< std::string > & getUsedRemap() const override
Definition:
HitsLoader.cxx:57
FlavorTagInference::FTagOptions
Definition:
PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/DataPrepUtilities.h:45
FlavorTagInference::HitsLoader::SeqFromHits
std::function< NamedSeq(const Jet &, const Hits &)> SeqFromHits
Definition:
HitsLoader.h:55
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition:
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
FlavorTagInference::HitsLoader::Jet
xAOD::IParticle Jet
Definition:
HitsLoader.h:48
jet
Definition:
JetCalibTools_PlotJESFactors.cxx:23
FlavorTagInference::HitsLoader::HitsLoader
HitsLoader(const ConstituentsInputConfig &, const FTagOptions &options)
Definition:
HitsLoader.cxx:12
FlavorTagInference::ConstituentsInputConfig
Definition:
PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/ConstituentsLoader.h:61
FlavorTagInference::HitsLoader
Definition:
HitsLoader.h:37
FlavorTagInference::FTagDataDependencyNames
Definition:
FTagDataDependencyNames.h:12
python.AtlRunQueryLib.options
options
Definition:
AtlRunQueryLib.py:378
FlavorTagInference::HitsLoader::m_associator
std::function< TMVV(const Jet &)> m_associator
Definition:
HitsLoader.h:67
DataVector
Derived DataVector<T>.
Definition:
DataVector.h:794
FlavorTagInference::HitsLoader::m_seqGetter
getter_utils::SeqGetter< xAOD::TrackMeasurementValidation > m_seqGetter
Definition:
HitsLoader.h:66
FlavorTagInference::ConstituentsType
ConstituentsType
Definition:
PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/ConstituentsLoader.h:47
FlavorTagInference::HitsLoader::getType
const ConstituentsType & getType() const override
Definition:
HitsLoader.cxx:63
FlavorTagInference::HitsLoader::NamedVar
std::pair< std::string, double > NamedVar
Definition:
HitsLoader.h:49
FlavorTagInference::createHitsLoaderConfig
ConstituentsInputConfig createHitsLoaderConfig(std::pair< std::string, std::vector< std::string >> hits_names)
FlavorTagInference::HitsLoader::getHitsFromJet
std::vector< const xAOD::TrackMeasurementValidation * > getHitsFromJet(const xAOD::IParticle &jet) const
Definition:
HitsLoader.cxx:36
JetFwd.h
FlavorTagInference::HitsLoader::getName
const std::string & getName() const override
Definition:
HitsLoader.cxx:60
CustomGetterUtils.h
FlavorTagInference::HitsLoader::Hits
std::vector< const xAOD::TrackMeasurementValidation * > Hits
Definition:
HitsLoader.h:52
FlavorTagInference::HitsLoader::getDependencies
const FTagDataDependencyNames & getDependencies() const override
Definition:
HitsLoader.cxx:54
FlavorTagInference::HitsLoader::NamedSeq
std::pair< std::string, std::vector< double > > NamedSeq
Definition:
HitsLoader.h:50
TrackMeasurementValidationContainer.h
FlavorTagInference::HitsLoader::HitLinks
std::vector< ElementLink< TMC > > HitLinks
Definition:
HitsLoader.h:60
FlavorTagInference::HitsLoader::getData
std::tuple< Inputs, std::vector< const xAOD::IParticle * > > getData(const xAOD::IParticle &jet) const override
Definition:
HitsLoader.cxx:47
Generated on Tue Sep 30 2025 21:10:47 for ATLAS Offline Software by
1.8.18