ATLAS Offline Software
Loading...
Searching...
No Matches
TausRUsDataLoader Class Reference

Builds the fixed-size input tensors of the TausRUs network. More...

#include <TausRUsDataLoader.h>

Inheritance diagram for TausRUsDataLoader:
Collaboration diagram for TausRUsDataLoader:

Classes

struct  VariableConfig
struct  InputConfig
struct  Sequence
 One input node, its variables resolved to their functions. More...

Public Member Functions

 TausRUsDataLoader (const std::string &name)
StatusCode initialize (const std::vector< InputConfig > &inputs)
 Resolve the variables of inputs to their functions.
AthInfer::InputDataMap loadInputs (const xAOD::TauJet &tau, const xAOD::VertexContainer &vertices) const
std::vector< const xAOD::TauTrack * > selectTracks (const xAOD::TauJet &tau) const
 The tracks and vertices the input tensors are built from, in slot order, for decoding the per-slot heads.
std::vector< const xAOD::Vertex * > selectVertices (const xAOD::VertexContainer &vertices) const
size_t maxTracks () const
size_t maxVertices () const
void setLevel (MSG::Level lvl)
 Change the current logging level.
Functions providing the same interface as AthMessaging
bool msgLvl (const MSG::Level lvl) const
 Test the output level of the object.
MsgStream & msg () const
 The standard message stream.
MsgStream & msg (const MSG::Level lvl) const
 The standard message stream.

Private Types

using ClusterFunc_t = std::function<bool(const xAOD::TauJet&, const xAOD::CaloVertexedTopoCluster&, float&)>
using TrackFunc_t = std::function<bool(const xAOD::TauJet&, const xAOD::TauTrack&, float&)>
using VertexFunc_t = std::function<bool(const xAOD::TauJet&, const xAOD::Vertex&, float&)>
using ScalarFunc_t = std::function<bool(const xAOD::TauJet&, float&)>

Private Member Functions

template<class Func>
StatusCode resolve (const InputConfig &input, const std::unordered_map< std::string, Func > &funcMap, Sequence< Func > &sequence) const
std::vector< const xAOD::CaloVertexedTopoCluster * > selectClusters (const xAOD::TauJet &tau, std::vector< xAOD::CaloVertexedTopoCluster > &storage) const
void initMessaging () const
 Initialize our message level and MessageSvc.

Private Attributes

Sequence< ClusterFunc_t > m_clusters
Sequence< TrackFunc_t > m_tracks
Sequence< VertexFunc_t > m_vertices
Sequence< ScalarFunc_t > m_scalars
std::string m_nm
 Message source name.
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels).
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer.
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level.
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging).

Static Private Attributes

static const std::unordered_map< std::string, ClusterFunc_t > m_clusterFuncs
static const std::unordered_map< std::string, TrackFunc_t > m_trackFuncs
static const std::unordered_map< std::string, VertexFunc_t > m_vertexFuncs
static const std::unordered_map< std::string, ScalarFunc_t > m_scalarFuncs

Detailed Description

Builds the fixed-size input tensors of the TausRUs network.

The inputs are described by the model metadata: per input node, the collection it is built from, its truncation and its variables. Each variable name selects one function from the map of its collection, so a model with other inputs needs no code change unless it uses a new variable. The constituents are sorted and truncated, the remaining slots zero-padded.

Definition at line 67 of file TausRUsDataLoader.h.

Member Typedef Documentation

◆ ClusterFunc_t

Definition at line 99 of file TausRUsDataLoader.h.

◆ ScalarFunc_t

using TausRUsDataLoader::ScalarFunc_t = std::function<bool(const xAOD::TauJet&, float&)>
private

Definition at line 102 of file TausRUsDataLoader.h.

◆ TrackFunc_t

using TausRUsDataLoader::TrackFunc_t = std::function<bool(const xAOD::TauJet&, const xAOD::TauTrack&, float&)>
private

Definition at line 100 of file TausRUsDataLoader.h.

◆ VertexFunc_t

using TausRUsDataLoader::VertexFunc_t = std::function<bool(const xAOD::TauJet&, const xAOD::Vertex&, float&)>
private

Definition at line 101 of file TausRUsDataLoader.h.

Constructor & Destructor Documentation

◆ TausRUsDataLoader()

TausRUsDataLoader::TausRUsDataLoader ( const std::string & name)
explicit

Definition at line 139 of file TausRUsDataLoader.cxx.

140 : asg::AsgMessaging(name) {}

Member Function Documentation

◆ initialize()

StatusCode TausRUsDataLoader::initialize ( const std::vector< InputConfig > & inputs)

Resolve the variables of inputs to their functions.

Definition at line 168 of file TausRUsDataLoader.cxx.

168 {
169 for (const InputConfig& input : inputs) {
170 if (input.collection == "clusters") {
172 } else if (input.collection == "tracks") {
174 } else if (input.collection == "vertices") {
176 } else if (input.collection == "seedjet") {
178 } else {
179 ATH_MSG_ERROR("Input '" << input.name << "' is built from unknown collection '"
180 << input.collection << "'");
181 return StatusCode::FAILURE;
182 }
183 }
184 return StatusCode::SUCCESS;
185}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x,...)
static const std::unordered_map< std::string, VertexFunc_t > m_vertexFuncs
StatusCode resolve(const InputConfig &input, const std::unordered_map< std::string, Func > &funcMap, Sequence< Func > &sequence) const
static const std::unordered_map< std::string, ScalarFunc_t > m_scalarFuncs
Sequence< VertexFunc_t > m_vertices
static const std::unordered_map< std::string, TrackFunc_t > m_trackFuncs
static const std::unordered_map< std::string, ClusterFunc_t > m_clusterFuncs
Sequence< ClusterFunc_t > m_clusters
Sequence< ScalarFunc_t > m_scalars
Sequence< TrackFunc_t > m_tracks

◆ initMessaging()

void AthMessaging::initMessaging ( ) const
privateinherited

Initialize our message level and MessageSvc.

This method should only be called once.

Definition at line 39 of file AthMessaging.cxx.

40{
42 // If user did not set an explicit level, set a default
43 if (m_lvl == MSG::NIL) {
44 m_lvl = m_imsg ?
45 static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
46 MSG::INFO;
47 }
48}
std::string m_nm
Message source name.
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
std::atomic< MSG::Level > m_lvl
Current logging level.
IMessageSvc * getMessageSvc(bool quiet=false)
int outputLevel(const IMessageSvc *ims, const std::string &source)

◆ loadInputs()

AthInfer::InputDataMap TausRUsDataLoader::loadInputs ( const xAOD::TauJet & tau,
const xAOD::VertexContainer & vertices ) const

Definition at line 233 of file TausRUsDataLoader.cxx.

234 {
235 AthInfer::InputDataMap inputData;
236
237 auto add = [&inputData](const auto& sequence, std::vector<float> tensor, bool isScalar) {
238 const auto nVariables = static_cast<int64_t>(sequence.funcs.size());
239 std::vector<int64_t> shape = isScalar
240 ? std::vector<int64_t>{1, nVariables}
241 : std::vector<int64_t>{1, static_cast<int64_t>(sequence.maxObjects), nVariables};
242 inputData[sequence.name] = std::make_pair(std::move(shape), std::move(tensor));
243 };
244
245 if (!m_clusters.name.empty()) {
246 std::vector<xAOD::CaloVertexedTopoCluster> storage;
247 add(m_clusters, fillTensor(m_clusters, tau, selectClusters(tau, storage)), false);
248 }
249 if (!m_tracks.name.empty()) {
250 add(m_tracks, fillTensor(m_tracks, tau, selectTracks(tau)), false);
251 }
252 if (!m_vertices.name.empty()) {
253 add(m_vertices, fillTensor(m_vertices, tau, selectVertices(vertices)), false);
254 }
255 if (!m_scalars.name.empty()) {
256 std::vector<float> tensor(m_scalars.funcs.size(), 0.f);
257 for (size_t iVar = 0; iVar < m_scalars.funcs.size(); ++iVar) {
258 float value = 0.f;
259 if (m_scalars.funcs[iVar](tau, value)) {
260 tensor[iVar] = (value + m_scalars.offsets[iVar]) * m_scalars.scales[iVar];
261 }
262 }
263 add(m_scalars, std::move(tensor), true);
264 }
265 return inputData;
266}
std::vector< const xAOD::TauTrack * > selectTracks(const xAOD::TauJet &tau) const
The tracks and vertices the input tensors are built from, in slot order, for decoding the per-slot he...
std::vector< const xAOD::CaloVertexedTopoCluster * > selectClusters(const xAOD::TauJet &tau, std::vector< xAOD::CaloVertexedTopoCluster > &storage) const
std::vector< const xAOD::Vertex * > selectVertices(const xAOD::VertexContainer &vertices) const
bool add(const std::string &hname, TKey *tobj)
Definition fastadd.cxx:55
std::map< std::string, InferenceData > InputDataMap

◆ maxTracks()

size_t TausRUsDataLoader::maxTracks ( ) const
inline

Definition at line 95 of file TausRUsDataLoader.h.

95{ return m_tracks.maxObjects; }

◆ maxVertices()

size_t TausRUsDataLoader::maxVertices ( ) const
inline

Definition at line 96 of file TausRUsDataLoader.h.

96{ return m_vertices.maxObjects; }

◆ msg() [1/2]

MsgStream & asg::AsgMessaging::msg ( ) const
inherited

The standard message stream.

Returns
A reference to the default message stream of this object.

Definition at line 49 of file AsgMessaging.cxx.

49 {
50#ifndef XAOD_STANDALONE
51 return ::AthMessaging::msg();
52#else // not XAOD_STANDALONE
53 return m_msg;
54#endif // not XAOD_STANDALONE
55 }

◆ msg() [2/2]

MsgStream & asg::AsgMessaging::msg ( const MSG::Level lvl) const
inherited

The standard message stream.

Parameters
lvlThe message level to set the stream to
Returns
A reference to the default message stream, set to level "lvl"

Definition at line 57 of file AsgMessaging.cxx.

57 {
58#ifndef XAOD_STANDALONE
59 return ::AthMessaging::msg( lvl );
60#else // not XAOD_STANDALONE
61 m_msg << lvl;
62 return m_msg;
63#endif // not XAOD_STANDALONE
64 }

◆ msgLvl()

bool asg::AsgMessaging::msgLvl ( const MSG::Level lvl) const
inherited

Test the output level of the object.

Parameters
lvlThe message level to test against
Returns
boolean Indicting if messages at given level will be printed
true If messages at level "lvl" will be printed

Definition at line 41 of file AsgMessaging.cxx.

41 {
42#ifndef XAOD_STANDALONE
43 return ::AthMessaging::msgLvl( lvl );
44#else // not XAOD_STANDALONE
45 return m_msg.msgLevel( lvl );
46#endif // not XAOD_STANDALONE
47 }

◆ resolve()

template<class Func>
StatusCode TausRUsDataLoader::resolve ( const InputConfig & input,
const std::unordered_map< std::string, Func > & funcMap,
Sequence< Func > & sequence ) const
private

Definition at line 142 of file TausRUsDataLoader.cxx.

144 {
145 if (!sequence.name.empty()) {
146 ATH_MSG_ERROR("Inputs '" << sequence.name << "' and '" << input.name
147 << "' are both built from " << input.collection);
148 return StatusCode::FAILURE;
149 }
150 sequence.name = input.name;
151 sequence.maxObjects = input.maxObjects;
152 for (const VariableConfig& variable : input.variables) {
153 const auto func = funcMap.find(variable.name);
154 if (func == funcMap.end()) {
155 ATH_MSG_ERROR("Variable '" << variable.name << "' of input '" << input.name
156 << "' is not defined for " << input.collection);
157 return StatusCode::FAILURE;
158 }
159 sequence.funcs.push_back(func->second);
160 sequence.offsets.push_back(variable.offset);
161 sequence.scales.push_back(variable.scale);
162 }
163 ATH_MSG_INFO("TausRUs input '" << input.name << "' (" << input.collection << "): "
164 << input.maxObjects << " objects x " << input.variables.size() << " variables");
165 return StatusCode::SUCCESS;
166}
#define ATH_MSG_INFO(x,...)

◆ selectClusters()

std::vector< const xAOD::CaloVertexedTopoCluster * > TausRUsDataLoader::selectClusters ( const xAOD::TauJet & tau,
std::vector< xAOD::CaloVertexedTopoCluster > & storage ) const
private

Definition at line 187 of file TausRUsDataLoader.cxx.

189 {
190 storage = tau.vertexedClusters();
191
192 std::vector<const xAOD::CaloVertexedTopoCluster*> selected;
193 selected.reserve(storage.size());
194 for (const xAOD::CaloVertexedTopoCluster& cluster : storage) {
195 selected.push_back(&cluster);
196 }
197 std::sort(selected.begin(), selected.end(),
198 [](const xAOD::CaloVertexedTopoCluster* lhs,
199 const xAOD::CaloVertexedTopoCluster* rhs) {
200 return lhs->clust().e() > rhs->clust().e();
201 });
202 if (selected.size() > m_clusters.maxObjects) selected.resize(m_clusters.maxObjects);
203 return selected;
204}
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.

◆ selectTracks()

std::vector< const xAOD::TauTrack * > TausRUsDataLoader::selectTracks ( const xAOD::TauJet & tau) const

The tracks and vertices the input tensors are built from, in slot order, for decoding the per-slot heads.

Definition at line 206 of file TausRUsDataLoader.cxx.

206 {
207 std::vector<const xAOD::TauTrack*> tracks = tau.allTracks();
208 std::erase_if(tracks, [](const xAOD::TauTrack* track) {
209 return track == nullptr || track->track() == nullptr;
210 });
211 std::sort(tracks.begin(), tracks.end(),
212 [](const xAOD::TauTrack* lhs, const xAOD::TauTrack* rhs) {
213 return lhs->track()->pt() > rhs->track()->pt();
214 });
215 if (tracks.size() > m_tracks.maxObjects) tracks.resize(m_tracks.maxObjects);
216 return tracks;
217}
std::size_t erase_if(T_container &container, T_Func pred)
TauTrack_v1 TauTrack
Definition of the current version.
Definition TauTrack.h:16

◆ selectVertices()

std::vector< const xAOD::Vertex * > TausRUsDataLoader::selectVertices ( const xAOD::VertexContainer & vertices) const

Definition at line 219 of file TausRUsDataLoader.cxx.

220 {
221 std::vector<const xAOD::Vertex*> selected;
222 selected.reserve(std::min(vertices.size(), m_vertices.maxObjects));
223 for (const xAOD::Vertex* vertex : vertices) {
224 if (selected.size() == m_vertices.maxObjects) break;
225 if (!vertex) continue;
226 const int type = vertex->vertexType();
227 if (type == 0 || type == -99) continue;
228 selected.push_back(vertex);
229 }
230 return selected;
231}
size_type size() const noexcept
Returns the number of elements in the collection.
Vertex_v1 Vertex
Define the latest version of the vertex class.

◆ setLevel()

void AthMessaging::setLevel ( MSG::Level lvl)
inherited

Change the current logging level.

Use this rather than msg().setLevel() for proper operation with MT.

Definition at line 28 of file AthMessaging.cxx.

29{
30 m_lvl = lvl;
31}

Member Data Documentation

◆ ATLAS_THREAD_SAFE

std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
mutableprivateinherited

Messaging initialized (initMessaging).

Definition at line 141 of file AthMessaging.h.

◆ m_clusterFuncs

const std::unordered_map<std::string, ClusterFunc_t> TausRUsDataLoader::m_clusterFuncs
inlinestaticprivate
Initial value:
= {
{"FIRST_ENG_DENS", TauClusterVars::FIRST_ENG_DENS},
{"SECOND_R", TauClusterVars::SECOND_R},
{"EM_PROBABILITY", TauClusterVars::EM_PROBABILITY},
{"SECOND_LAMBDA", TauClusterVars::SECOND_LAMBDA},
{"CENTER_LAMBDA", TauClusterVars::CENTER_LAMBDA},
{"CENTER_MAG", TauClusterVars::CENTER_MAG},
}
bool FIRST_ENG_DENS(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
bool CENTER_MAG(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
bool CENTER_LAMBDA(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
bool EM_PROBABILITY(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
bool SECOND_R(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
bool SECOND_LAMBDA(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
bool dPhiRaw(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
bool dEtaRaw(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
bool log_etRaw(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
bool log_eRaw(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
bool phiRaw(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
bool etaRaw(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)

Definition at line 128 of file TausRUsDataLoader.h.

128 {
129 {"dEtaRaw", TausRUsClusterVars::dEtaRaw},
130 {"dPhiRaw", TausRUsClusterVars::dPhiRaw},
131 {"etaRaw", TausRUsClusterVars::etaRaw},
132 {"phiRaw", TausRUsClusterVars::phiRaw},
133 {"log_etRaw", TausRUsClusterVars::log_etRaw},
134 {"log_eRaw", TausRUsClusterVars::log_eRaw},
135 {"FIRST_ENG_DENS", TauClusterVars::FIRST_ENG_DENS},
136 {"SECOND_R", TauClusterVars::SECOND_R},
137 {"EM_PROBABILITY", TauClusterVars::EM_PROBABILITY},
138 {"SECOND_LAMBDA", TauClusterVars::SECOND_LAMBDA},
139 {"CENTER_LAMBDA", TauClusterVars::CENTER_LAMBDA},
140 {"CENTER_MAG", TauClusterVars::CENTER_MAG},
141 };

◆ m_clusters

Sequence<ClusterFunc_t> TausRUsDataLoader::m_clusters
private

Definition at line 123 of file TausRUsDataLoader.h.

◆ m_imsg

std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr }
mutableprivateinherited

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

135{ nullptr };

◆ m_lvl

std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL }
mutableprivateinherited

Current logging level.

Definition at line 138 of file AthMessaging.h.

138{ MSG::NIL };

◆ m_msg_tls

boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls
mutableprivateinherited

MsgStream instance (a std::cout like with print-out levels).

Definition at line 132 of file AthMessaging.h.

◆ m_nm

std::string AthMessaging::m_nm
privateinherited

Message source name.

Definition at line 129 of file AthMessaging.h.

◆ m_scalarFuncs

const std::unordered_map<std::string, ScalarFunc_t> TausRUsDataLoader::m_scalarFuncs
inlinestaticprivate
Initial value:
= {
{"ptJetSeed", TauScalarVars::ptJetSeed},
{"etaJetSeed", TauScalarVars::etaJetSeed},
{"phiJetSeed", TauScalarVars::phiJetSeed},
{"mJetSeed", TauScalarVars::mJetSeed},
}
bool phiJetSeed(const xAOD::TauJet &tau, float &out)
bool etaJetSeed(const xAOD::TauJet &tau, float &out)
bool mJetSeed(const xAOD::TauJet &tau, float &out)
bool ptJetSeed(const xAOD::TauJet &tau, float &out)

Definition at line 170 of file TausRUsDataLoader.h.

170 {
171 {"ptJetSeed", TauScalarVars::ptJetSeed},
172 {"etaJetSeed", TauScalarVars::etaJetSeed},
173 {"phiJetSeed", TauScalarVars::phiJetSeed},
174 {"mJetSeed", TauScalarVars::mJetSeed},
175 };

◆ m_scalars

Sequence<ScalarFunc_t> TausRUsDataLoader::m_scalars
private

Definition at line 126 of file TausRUsDataLoader.h.

◆ m_trackFuncs

const std::unordered_map<std::string, TrackFunc_t> TausRUsDataLoader::m_trackFuncs
inlinestaticprivate
Initial value:
= {
{"dEta", TauTrackVars::dEta},
{"dPhi", TauTrackVars::dPhi},
{"trackEta", TauTrackVars::trackEta},
{"trackPhi", TauTrackVars::trackPhi},
{"charge", TauTrackVars::charge},
{"qOverP", TauTrackVars::qOverP},
{"d0_old", TauTrackVars::d0_old},
{"z0sinthetaTJVA", TauTrackVars::z0sinthetaTJVA},
{"numberOfTRTHits", TauTrackVars::numberOfTRTHits},
{"numberOfTRTHighThresholdHits", TauTrackVars::numberOfTRTHighThresholdHits},
{"numberOfSCTHits", TauTrackVars::numberOfSCTHits},
{"numberOfPixelHits", TauTrackVars::numberOfPixelHits},
{"numberOfInnermostPixelLayerHits", TauTrackVars::numberOfInnermostPixelLayerHits},
{"eProbabilityNN_trackParticle", TausRUsTrackVars::eProbabilityNN_trackParticle},
}
bool numberOfSCTHits(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool numberOfPixelHits(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool trackEta(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool dEta(const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out)
bool dPhi(const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out)
bool numberOfTRTHighThresholdHits(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool numberOfInnermostPixelLayerHits(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool z0sinthetaTJVA(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool numberOfTRTHits(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool trackPhi(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool qOverP(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool d0_old(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool charge(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool log_e(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool z0(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool log_pt(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool eProbabilityNN_trackParticle(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)

Definition at line 143 of file TausRUsDataLoader.h.

143 {
144 {"dEta", TauTrackVars::dEta},
145 {"dPhi", TauTrackVars::dPhi},
146 {"log_pt", TausRUsTrackVars::log_pt},
147 {"log_e", TausRUsTrackVars::log_e},
148 {"trackEta", TauTrackVars::trackEta},
149 {"trackPhi", TauTrackVars::trackPhi},
150 {"charge", TauTrackVars::charge},
151 {"qOverP", TauTrackVars::qOverP},
152 {"d0_old", TauTrackVars::d0_old},
153 {"z0", TausRUsTrackVars::z0},
154 {"z0sinthetaTJVA", TauTrackVars::z0sinthetaTJVA},
155 {"numberOfTRTHits", TauTrackVars::numberOfTRTHits},
156 {"numberOfTRTHighThresholdHits", TauTrackVars::numberOfTRTHighThresholdHits},
157 {"numberOfSCTHits", TauTrackVars::numberOfSCTHits},
158 {"numberOfPixelHits", TauTrackVars::numberOfPixelHits},
159 {"numberOfInnermostPixelLayerHits", TauTrackVars::numberOfInnermostPixelLayerHits},
160 {"eProbabilityNN_trackParticle", TausRUsTrackVars::eProbabilityNN_trackParticle},
161 };

◆ m_tracks

Sequence<TrackFunc_t> TausRUsDataLoader::m_tracks
private

Definition at line 124 of file TausRUsDataLoader.h.

◆ m_vertexFuncs

const std::unordered_map<std::string, VertexFunc_t> TausRUsDataLoader::m_vertexFuncs
inlinestaticprivate
Initial value:
= {
}
bool x(const xAOD::TauJet &, const xAOD::Vertex &vertex, float &out)
bool z(const xAOD::TauJet &, const xAOD::Vertex &vertex, float &out)
bool sumPt2(const xAOD::TauJet &, const xAOD::Vertex &vertex, float &out)
bool y(const xAOD::TauJet &, const xAOD::Vertex &vertex, float &out)

Definition at line 163 of file TausRUsDataLoader.h.

163 {
164 {"sumPt2", TausRUsVertexVars::sumPt2},
168 };

◆ m_vertices

Sequence<VertexFunc_t> TausRUsDataLoader::m_vertices
private

Definition at line 125 of file TausRUsDataLoader.h.


The documentation for this class was generated from the following files: