ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
tauRecTools
tauRecTools
ConstituentsLoaderTauHit.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
4
This is a subclass of IConstituentsLoader. It is used to load the TrackParticleValidation attached
5
to a tau by the JetHitAssociationAlg, and extract their features for the NN evaluation.
6
*/
7
8
#pragma once
9
10
// local includes
11
#include "
FlavorTagInference/ConstituentsLoader.h
"
12
#include "
FlavorTagInference/CustomGetterUtils.h
"
13
14
// EDM includes
15
#include <
xAODBase/IParticle.h
>
16
#include <
xAODTracking/TrackMeasurementValidationContainer.h
>
17
18
// Eigen is needed for Vector3D
19
#include "
GeoPrimitives/GeoPrimitives.h
"
20
21
// STL includes
22
#include <string>
23
#include <vector>
24
#include <functional>
25
26
27
namespace
TauHitVars
{
28
29
float
j
(
const
xAOD::IParticle &p,
const
xAOD::TrackMeasurementValidation
&
hit
,
const
Eigen::Matrix3d &jab_inv);
30
31
float
a
(
const
xAOD::IParticle &p,
const
xAOD::TrackMeasurementValidation
&
hit
,
const
Eigen::Matrix3d &jab_inv);
32
33
float
b
(
const
xAOD::IParticle &p,
const
xAOD::TrackMeasurementValidation
&
hit
,
const
Eigen::Matrix3d &jab_inv);
34
35
float
layer
(
const
xAOD::IParticle &p,
const
xAOD::TrackMeasurementValidation
&
hit
,
const
Eigen::Matrix3d &jab_inv);
36
37
}
// namespace TauHitVars
38
39
40
namespace
FlavorTagInference
{
41
// Subclass for IParticles loader inherited from abstract IConstituentsLoader class
42
class
ConstituentLoaderTauHit
:
public
IConstituentsLoader
{
43
public
:
44
ConstituentLoaderTauHit
(
const
ConstituentsInputConfig
& cfg,
const
std::string& hits_key);
45
46
Inputs
getData
(
const
xAOD::IParticle
& p)
const override
;
47
48
inline
const
std::string&
getName
()
const override
{
return
m_name
; }
49
inline
const
ConstituentsType
&
getType
()
const override
{
return
m_config
.type; }
50
inline
const
FTagDataDependencyNames
&
getDependencies
()
const override
{
return
m_deps
; }
51
inline
const
std::set<std::string>&
getUsedRemap
()
const override
{
return
m_used_remap
; }
52
53
using
FeatureFunc_t
= std::function<float(
const
xAOD::IParticle
&,
const
xAOD::TrackMeasurementValidation
&,
const
Eigen::Matrix3d&)>;
54
private
:
55
const
std::string
m_hits_key
;
56
const
std::vector<const xAOD::TrackMeasurementValidation*>
getParticleHits
(
const
xAOD::IParticle
& p)
const
;
57
58
const
Eigen::Matrix3d
getJABInvMatrix
(
const
xAOD::IParticle
& p)
const
;
59
60
const
Inputs
getFeatures
(
const
xAOD::IParticle
& p,
const
std::vector<const xAOD::TrackMeasurementValidation*>& hits)
const
;
61
62
std::vector<FeatureFunc_t>
m_feature_extractors
;
63
FeatureFunc_t
getFeatureExtractor
(
const
std::string& var_name)
const
;
64
inline
static
const
std::unordered_map<std::string, FeatureFunc_t>
m_func_map
= {
65
{
"j"
,
TauHitVars::j
},
66
{
"a"
,
TauHitVars::a
},
67
{
"b"
,
TauHitVars::b
},
68
{
"layer"
,
TauHitVars::layer
}
69
};
70
};
71
}
72
IParticle.h
GeoPrimitives.h
hit
bool hit(const Container &ids, int pdgId)
Definition
JetIRCSafeLabelTool.cxx:64
a
static Double_t a
Definition
LArPhysWaveHECTool.cxx:38
ConstituentsLoader.h
CustomGetterUtils.h
TrackMeasurementValidationContainer.h
FlavorTagInference::ConstituentLoaderTauHit::m_feature_extractors
std::vector< FeatureFunc_t > m_feature_extractors
Definition
ConstituentsLoaderTauHit.h:62
FlavorTagInference::ConstituentLoaderTauHit::getUsedRemap
const std::set< std::string > & getUsedRemap() const override
Definition
ConstituentsLoaderTauHit.h:51
FlavorTagInference::ConstituentLoaderTauHit::FeatureFunc_t
std::function< float(const xAOD::IParticle &, const xAOD::TrackMeasurementValidation &, const Eigen::Matrix3d &)> FeatureFunc_t
Definition
ConstituentsLoaderTauHit.h:53
FlavorTagInference::ConstituentLoaderTauHit::getFeatureExtractor
FeatureFunc_t getFeatureExtractor(const std::string &var_name) const
Definition
ConstituentLoaderTauHit.cxx:87
FlavorTagInference::ConstituentLoaderTauHit::getFeatures
const Inputs getFeatures(const xAOD::IParticle &p, const std::vector< const xAOD::TrackMeasurementValidation * > &hits) const
Definition
ConstituentLoaderTauHit.cxx:69
FlavorTagInference::ConstituentLoaderTauHit::ConstituentLoaderTauHit
ConstituentLoaderTauHit(const ConstituentsInputConfig &cfg, const std::string &hits_key)
Definition
ConstituentLoaderTauHit.cxx:8
FlavorTagInference::ConstituentLoaderTauHit::m_func_map
static const std::unordered_map< std::string, FeatureFunc_t > m_func_map
Definition
ConstituentsLoaderTauHit.h:64
FlavorTagInference::ConstituentLoaderTauHit::getDependencies
const FTagDataDependencyNames & getDependencies() const override
Definition
ConstituentsLoaderTauHit.h:50
FlavorTagInference::ConstituentLoaderTauHit::getParticleHits
const std::vector< const xAOD::TrackMeasurementValidation * > getParticleHits(const xAOD::IParticle &p) const
Definition
ConstituentLoaderTauHit.cxx:25
FlavorTagInference::ConstituentLoaderTauHit::getType
const ConstituentsType & getType() const override
Definition
ConstituentsLoaderTauHit.h:49
FlavorTagInference::ConstituentLoaderTauHit::getData
Inputs getData(const xAOD::IParticle &p) const override
Definition
ConstituentLoaderTauHit.cxx:18
FlavorTagInference::ConstituentLoaderTauHit::m_hits_key
const std::string m_hits_key
Definition
ConstituentsLoaderTauHit.h:55
FlavorTagInference::ConstituentLoaderTauHit::getJABInvMatrix
const Eigen::Matrix3d getJABInvMatrix(const xAOD::IParticle &p) const
Definition
ConstituentLoaderTauHit.cxx:41
FlavorTagInference::ConstituentLoaderTauHit::getName
const std::string & getName() const override
Definition
ConstituentsLoaderTauHit.h:48
FlavorTagInference::IConstituentsLoader::m_config
ConstituentsInputConfig m_config
Definition
PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/ConstituentsLoader.h:100
FlavorTagInference::IConstituentsLoader::m_used_remap
std::set< std::string > m_used_remap
Definition
PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/ConstituentsLoader.h:101
FlavorTagInference::IConstituentsLoader::m_name
std::string m_name
Definition
PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/ConstituentsLoader.h:102
FlavorTagInference::IConstituentsLoader::IConstituentsLoader
IConstituentsLoader(const ConstituentsInputConfig &cfg)
Definition
PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/ConstituentsLoader.h:86
FlavorTagInference::IConstituentsLoader::m_deps
FTagDataDependencyNames m_deps
Definition
PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/ConstituentsLoader.h:99
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
TauHitVars
Definition
ConstituentLoaderTauHit.cxx:100
TauHitVars::j
float j(const xAOD::IParticle &, const xAOD::TrackMeasurementValidation &hit, const Eigen::Matrix3d &jab_inv)
Definition
ConstituentLoaderTauHit.cxx:102
TauHitVars::layer
float layer(const xAOD::IParticle &, const xAOD::TrackMeasurementValidation &hit, const Eigen::Matrix3d &)
Definition
ConstituentLoaderTauHit.cxx:129
TauHitVars::b
float b(const xAOD::IParticle &, const xAOD::TrackMeasurementValidation &hit, const Eigen::Matrix3d &jab_inv)
Definition
ConstituentLoaderTauHit.cxx:120
TauHitVars::a
float a(const xAOD::IParticle &, const xAOD::TrackMeasurementValidation &hit, const Eigen::Matrix3d &jab_inv)
Definition
ConstituentLoaderTauHit.cxx:111
xAOD::TrackMeasurementValidation
TrackMeasurementValidation_v1 TrackMeasurementValidation
Reference the current persistent version:
Definition
TrackMeasurementValidation.h:13
FlavorTagInference::ConstituentsInputConfig
Definition
PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/ConstituentsLoader.h:67
FlavorTagInference::FTagDataDependencyNames
Definition
FTagDataDependencyNames.h:12
Generated on
for ATLAS Offline Software by
1.17.0