ATLAS Offline Software
TauGNNUtils.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TAURECTOOLS_TAUGNNUTILS_H
6 #define TAURECTOOLS_TAUGNNUTILS_H
7 
8 #include "xAODTau/TauJet.h"
12 #include "AsgTools/AsgTool.h"
14 #include <unordered_map>
15 #include <mutex>
16 
17 
18 
19 namespace TauGNNUtils {
20 
21 namespace Variables {
22 
23 // Functions to calculate (scalar) input variables
24 // Returns a status code indicating success
25 namespace Scalar{
26  bool absEta(const xAOD::TauJet &tau, float &out);
27 
28  bool centFrac(const xAOD::TauJet &tau, float &out);
29 
30  bool isolFrac(const xAOD::TauJet &tau, float &out);
31 
32  bool etOverPtLeadTrk(const xAOD::TauJet &tau, float &out);
33 
34  bool innerTrkAvgDist(const xAOD::TauJet &tau, float &out);
35 
36  bool absipSigLeadTrk(const xAOD::TauJet &tau, float &out);
37 
38  bool sumEMCellEtOverLeadTrkPt(const xAOD::TauJet &tau, float &out);
39 
40  bool SumPtTrkFrac(const xAOD::TauJet &tau, float &out);
41 
42  bool EMPOverTrkSysP(const xAOD::TauJet &tau, float &out);
43 
44  bool ptRatioEflowApprox(const xAOD::TauJet &tau, float &out);
45 
46  bool mEflowApprox(const xAOD::TauJet &tau, float &out);
47 
48  bool dRmax(const xAOD::TauJet &tau, float &out);
49 
50  bool trFlightPathSig(const xAOD::TauJet &tau, float &out);
51 
52  bool massTrkSys(const xAOD::TauJet &tau, float &out);
53 
54  bool pt(const xAOD::TauJet &tau, float &out);
55 
56  bool pt_tau_log(const xAOD::TauJet &tau, float &out);
57 
58  bool ptDetectorAxis(const xAOD::TauJet &tau, float &out);
59 
60  bool ptIntermediateAxis(const xAOD::TauJet &tau, float &out);
61 
62  //functions to calculate input variables needed for the eVeto RNN
63  bool ptJetSeed_log (const xAOD::TauJet &tau, float &out);
64  bool absleadTrackEta (const xAOD::TauJet &tau, float &out);
65  bool leadTrackDeltaEta (const xAOD::TauJet &tau, float &out);
66  bool leadTrackDeltaPhi (const xAOD::TauJet &tau, float &out);
67  bool leadTrackProbNNorHT (const xAOD::TauJet &tau, float &out);
68  bool EMFracFixed (const xAOD::TauJet &tau, float &out);
69  bool etHotShotWinOverPtLeadTrk (const xAOD::TauJet &tau, float &out);
70  bool hadLeakFracFixed (const xAOD::TauJet &tau, float &out);
71  bool PSFrac (const xAOD::TauJet &tau, float &out);
72  bool ClustersMeanCenterLambda (const xAOD::TauJet &tau, float &out);
73  bool ClustersMeanEMProbability (const xAOD::TauJet &tau, float &out);
74  bool ClustersMeanFirstEngDens (const xAOD::TauJet &tau, float &out);
75  bool ClustersMeanPresamplerFrac(const xAOD::TauJet &tau, float &out);
76  bool ClustersMeanSecondLambda (const xAOD::TauJet &tau, float &out);
77  bool EMPOverTrkSysP (const xAOD::TauJet &tau, float &out);
78 }//namespace Scalar
79 
80 namespace Track {
81 
82 // Functions to calculate input variables for each track
83 // Returns a status code indicating success
84 
85 bool pt_log(
86  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
87 
88 bool trackPt(
89  const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
90 
91 bool trackEta(
92  const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
93 
94 bool trackPhi(
95  const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
96 
97 bool pt_tau_log(
98  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
99 
100 bool pt_jetseed_log(
101  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
102 
103 bool d0_abs_log(
104  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
105 
107  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
108 
109 bool z0sinthetaTJVA(
110  const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
111 
112 bool z0sinthetaSigTJVA(
113  const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
114 
115 bool d0TJVA(
116  const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
117 
118 bool d0SigTJVA(
119  const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
120 
121 bool dEta(
122  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
123 
124 bool dEtaJetSeedAxis(
125  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
126 
127 bool dPhi(
128  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
129 
130 bool dPhiJetSeedAxis(
131  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
132 
134  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
135 
136 bool nPixelHits(
137  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
138 
139 bool nSCTHits(
140  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
141 
142 // trigger variants
143 bool nIBLHitsAndExp (
144  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
145 
147  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
148 
150  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
151 
152 bool eProbabilityHT(
153  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
154 
156  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
157 
158 bool eProbabilityNN(
159  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
160 
161 bool eProbabilityNNorHT(
162  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
163 
164 bool chargedScoreRNN(
165  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
166 
167 bool isolationScoreRNN(
168  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
169 
170 bool conversionScoreRNN(
171  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
172 
173 bool fakeScoreRNN(
174  const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out);
175 
176 //Extension - variables for GNTau
177 bool numberOfInnermostPixelLayerHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
178 bool numberOfPixelHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
179 bool numberOfPixelSharedHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
180 bool numberOfPixelDeadSensors(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
181 bool numberOfSCTHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
182 bool numberOfSCTSharedHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
183 bool numberOfSCTDeadSensors(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
184 bool numberOfTRTHighThresholdHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
185 bool numberOfTRTHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
186 bool nSiHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
187 bool expectInnermostPixelLayerHit(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
189 bool numberOfContribPixelLayers(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
190 bool numberOfPixelHoles(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
191 bool d0_old(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
192 bool qOverP(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
193 bool theta(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
194 bool z0TJVA(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
195 bool charge(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
196 bool dz0_TV_PV0(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
197 bool log_sumpt_TV(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
198 bool log_sumpt2_TV(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
199 bool log_sumpt_PV0(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
200 bool log_sumpt2_PV0(const xAOD::TauJet& tau, const xAOD::TauTrack &track, float &out);
201 
202 } // namespace Track
203 
204 
205 namespace Cluster {
206 
207 // Functions to calculate input variables for each cluster
208 // Returns a status code indicating success
209 
210 bool et_log(
211  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out);
212 
213 bool pt_tau_log(
214  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out);
215 
216 bool pt_jetseed_log(
217  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out);
218 
219 bool dEta(
220  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out);
221 
222 bool dPhi(
223  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out);
224 
225 bool SECOND_R(
226  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out);
227 
228 bool SECOND_LAMBDA(
229  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out);
230 
231 bool CENTER_LAMBDA(
232  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out);
233 
235  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out);
236 
238  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out);
239 
241  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out);
242 
243 //Extension - Variables for GNTau
244 bool e(
245  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out);
246 
247 bool et(
248  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out);
249 
250 bool FIRST_ENG_DENS(
251  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out);
252 
253 bool EM_PROBABILITY(
254  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out);
255 
256 bool CENTER_MAG(
257  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out);
258 } // namespace Cluster
259 
260 } // namespace Variables
261 
276 public:
277  // Pointers to calculator functions
278  using ScalarCalc = std::function<bool(const xAOD::TauJet &, float &)>;
279  using TrackCalc = std::function<bool(const xAOD::TauJet &, const xAOD::TauTrack &, float &)>;
280  using ClusterCalc = std::function<bool(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &, float &)>;
281 
282 public:
283  GNNVarCalc(bool useTRT);
284  ~GNNVarCalc() = default;
285 
286  // Methods to compute the output (vector) based on the variable name
287 
288  // Computes high-level ID variables
289  float compute(const std::string &name, const xAOD::TauJet &tau) const;
290 
291  // Computes track variables
292  std::vector<float> compute(const std::string &name, const xAOD::TauJet &tau,
293  const std::vector<const xAOD::TauTrack *> &tracks) const;
294 
295  // Computes cluster variables
296  std::vector<float> compute(const std::string &name, const xAOD::TauJet &tau,
297  const std::vector<xAOD::CaloVertexedTopoCluster> &clusters) const;
298 
299 private:
300  static void initialize_map(bool useTRT);
301  inline static std::once_flag m_init_flag; // ensures thread-safe one-time init
302 
303  // Lookup tables
304  inline static const std::unordered_map<std::string, ScalarCalc> m_scalar_map = {
305  {"isolFrac", Variables::Scalar::isolFrac},
306  {"centFrac", Variables::Scalar::centFrac},
307  {"etOverPtLeadTrk", Variables::Scalar::etOverPtLeadTrk},
308  {"innerTrkAvgDist", Variables::Scalar::innerTrkAvgDist},
309  {"absipSigLeadTrk", Variables::Scalar::absipSigLeadTrk},
310  {"SumPtTrkFrac", Variables::Scalar::SumPtTrkFrac},
311  {"sumEMCellEtOverLeadTrkPt", Variables::Scalar::sumEMCellEtOverLeadTrkPt},
312  {"EMPOverTrkSysP", Variables::Scalar::EMPOverTrkSysP},
313  {"ptRatioEflowApprox", Variables::Scalar::ptRatioEflowApprox},
314  {"mEflowApprox", Variables::Scalar::mEflowApprox},
315  {"dRmax", Variables::Scalar::dRmax},
316  {"trFlightPathSig", Variables::Scalar::trFlightPathSig},
317  {"massTrkSys", Variables::Scalar::massTrkSys},
318  {"pt", Variables::Scalar::pt}
319  };
320 
321  inline static std::unordered_map<std::string, TrackCalc> m_track_map ATLAS_THREAD_SAFE = {
322  {"pt_log", Variables::Track::pt_log},
323  {"trackPt", Variables::Track::trackPt},
324  {"trackEta", Variables::Track::trackEta},
325  {"trackPhi", Variables::Track::trackPhi},
326  {"pt_tau_log", Variables::Track::pt_tau_log},
327  {"pt_jetseed_log", Variables::Track::pt_jetseed_log},
328  {"d0_abs_log", Variables::Track::d0_abs_log},
329  {"z0sinThetaTJVA_abs_log", Variables::Track::z0sinThetaTJVA_abs_log},
330  {"z0sinthetaTJVA", Variables::Track::z0sinthetaTJVA},
331  {"z0sinthetaSigTJVA", Variables::Track::z0sinthetaSigTJVA},
332  {"d0TJVA", Variables::Track::d0TJVA},
333  {"d0SigTJVA", Variables::Track::d0SigTJVA},
334  {"dEta", Variables::Track::dEta},
335  {"dEtaJetSeedAxis", Variables::Track::dEtaJetSeedAxis},
336  {"dPhi", Variables::Track::dPhi},
337  {"dPhiJetSeedAxis", Variables::Track::dPhiJetSeedAxis},
338  {"nInnermostPixelHits", Variables::Track::nInnermostPixelHits},
339  {"numberOfInnermostPixelLayerHits", Variables::Track::numberOfInnermostPixelLayerHits},
340  {"nPixelHits", Variables::Track::nPixelHits},
341  {"nSCTHits", Variables::Track::nSCTHits},
342  {"nIBLHitsAndExp", Variables::Track::nIBLHitsAndExp},
343  {"nPixelHitsPlusDeadSensors", Variables::Track::nPixelHitsPlusDeadSensors},
344  {"nSCTHitsPlusDeadSensors", Variables::Track::nSCTHitsPlusDeadSensors},
345  {"eProbabilityHT", Variables::Track::eProbabilityHT}
346  };
347 
348  inline static const std::unordered_map<std::string, ClusterCalc> m_cluster_map = {
349  {"dEta", Variables::Cluster::dEta},
350  {"dPhi", Variables::Cluster::dPhi},
351  {"SECOND_R", Variables::Cluster::SECOND_R},
352  {"SECOND_LAMBDA", Variables::Cluster::SECOND_LAMBDA},
353  {"CENTER_LAMBDA", Variables::Cluster::CENTER_LAMBDA},
354  {"et", Variables::Cluster::et}
355  };
356 
357 };
358 
359 } // namespace TauJetGNNUtils
360 
361 #endif // TAURECTOOLS_TAUGNNUTILS_H
TauGNNUtils::Variables::Scalar::pt_tau_log
bool pt_tau_log(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:211
TauGNNUtils::Variables::Track::nIBLHitsAndExp
bool nIBLHitsAndExp(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:445
TauGNNUtils::Variables::Track::pt_jetseed_log
bool pt_jetseed_log(const xAOD::TauJet &tau, const xAOD::TauTrack &, float &out)
Definition: TauGNNUtils.cxx:366
TauGNNUtils::Variables::Cluster::e
bool e(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
Definition: TauGNNUtils.cxx:778
TauGNNUtils::Variables::Scalar::ClustersMeanSecondLambda
bool ClustersMeanSecondLambda(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:331
TauGNNUtils::Variables::Track::d0SigTJVA
bool d0SigTJVA(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:396
TauGNNUtils::Variables::Scalar::dRmax
bool dRmax(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:185
TauGNNUtils::Variables::Scalar::ClustersMeanEMProbability
bool ClustersMeanEMProbability(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:310
TauGNNUtils::Variables::Scalar::leadTrackProbNNorHT
bool leadTrackProbNNorHT(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:252
TauGNNUtils
Definition: TauGNNUtils.cxx:12
TauGNNUtils::Variables::Track::z0sinThetaTJVA_abs_log
bool z0sinThetaTJVA_abs_log(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:376
TauGNNUtils::Variables::Track::nPixelHitsPlusDeadSensors
bool nPixelHitsPlusDeadSensors(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:453
TauGNNUtils::GNNVarCalc::TrackCalc
std::function< bool(const xAOD::TauJet &, const xAOD::TauTrack &, float &)> TrackCalc
Definition: TauGNNUtils.h:279
TauGNNUtils::Variables::Track::isolationScoreRNN
bool isolationScoreRNN(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:503
TauGNNUtils::Variables::Track::expectNextToInnermostPixelLayerHit
bool expectNextToInnermostPixelLayerHit(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:602
TauGNNUtils::Variables::Scalar::ClustersMeanPresamplerFrac
bool ClustersMeanPresamplerFrac(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:324
TauGNNUtils::Variables::Track::numberOfPixelHoles
bool numberOfPixelHoles(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:616
TauGNNUtils::Variables::Scalar::etOverPtLeadTrk
bool etOverPtLeadTrk(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:128
TauGNNUtils::Variables::Cluster::FirstEngDensOverClustersMeanFirstEngDens
bool FirstEngDensOverClustersMeanFirstEngDens(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
Definition: TauGNNUtils.cxx:757
TauGNNUtils::Variables::Track::chargedScoreRNN
bool chargedScoreRNN(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:497
TauGNNUtils::Variables::Track::d0_abs_log
bool d0_abs_log(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:371
TauGNNUtils::GNNVarCalc::ATLAS_THREAD_SAFE
static std::unordered_map< std::string, TrackCalc > m_track_map ATLAS_THREAD_SAFE
Definition: TauGNNUtils.h:321
TauGNNUtils::Variables::Track::log_sumpt2_PV0
bool log_sumpt2_PV0(const xAOD::TauJet &tau, const xAOD::TauTrack &, float &out)
Definition: TauGNNUtils.cxx:673
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:70
TauGNNUtils::Variables::Track::qOverP
bool qOverP(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:629
TauGNNUtils::Variables::Scalar::ptJetSeed_log
bool ptJetSeed_log(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:226
TauGNNUtils::Variables::Scalar::pt
bool pt(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:206
TauGNNUtils::GNNVarCalc::m_init_flag
static std::once_flag m_init_flag
Definition: TauGNNUtils.h:301
TauGNNUtils::Variables::Track::z0sinthetaSigTJVA
bool z0sinthetaSigTJVA(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:386
TauGNNUtils::Variables::Cluster::dPhi
bool dPhi(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
Definition: TauGNNUtils.cxx:705
TauGNNUtils::Variables::Track::d0_old
bool d0_old(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:623
TauGNNUtils::Variables::Scalar::centFrac
bool centFrac(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:112
TauGNNUtils::Variables::Track::log_sumpt2_TV
bool log_sumpt2_TV(const xAOD::TauJet &tau, const xAOD::TauTrack &, float &out)
Definition: TauGNNUtils.cxx:661
TauGNNUtils::GNNVarCalc::compute
float compute(const std::string &name, const xAOD::TauJet &tau) const
Definition: TauGNNUtils.cxx:25
TauGNNUtils::Variables::Cluster::pt_jetseed_log
bool pt_jetseed_log(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &, float &out)
Definition: TauGNNUtils.cxx:695
TauGNNUtils::Variables::Scalar::absEta
bool absEta(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:107
TauGNNUtils::Variables::Cluster::SECOND_LAMBDAOverClustersMeanSecondLambda
bool SECOND_LAMBDAOverClustersMeanSecondLambda(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
Definition: TauGNNUtils.cxx:731
TauGNNUtils::Variables::Scalar::leadTrackDeltaPhi
bool leadTrackDeltaPhi(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:245
TauGNNUtils::GNNVarCalc::GNNVarCalc
GNNVarCalc(bool useTRT)
Definition: TauGNNUtils.cxx:14
TauGNNUtils::Variables::Track::fakeScoreRNN
bool fakeScoreRNN(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:515
TauGNNUtils::GNNVarCalc::ScalarCalc
std::function< bool(const xAOD::TauJet &, float &)> ScalarCalc
Definition: TauGNNUtils.h:278
TauGNNUtils::Variables::Scalar::EMFracFixed
bool EMFracFixed(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:275
TauGNNUtils::Variables::Track::nSCTHits
bool nSCTHits(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:437
TauGNNUtils::Variables::Scalar::ptRatioEflowApprox
bool ptRatioEflowApprox(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:170
AsgMessaging.h
TauGNNUtils::Variables::Track::nSiHits
bool nSiHits(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:585
TauGNNUtils::Variables::Track::z0TJVA
bool z0TJVA(const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:639
TauGNNUtils::Variables::Track::numberOfPixelDeadSensors
bool numberOfPixelDeadSensors(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:543
TauGNNUtils::Variables::Scalar::sumEMCellEtOverLeadTrkPt
bool sumEMCellEtOverLeadTrkPt(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:149
TauGNNUtils::Variables::Track::trackPhi
bool trackPhi(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:356
TauGNNUtils::Variables::Scalar::PSFrac
bool PSFrac(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:296
TauGNNUtils::Variables::Track::numberOfInnermostPixelLayerHits
bool numberOfInnermostPixelLayerHits(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:522
TauGNNUtils::Variables::Scalar::leadTrackDeltaEta
bool leadTrackDeltaEta(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:238
TauGNNUtils::Variables::Track::charge
bool charge(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:644
TauGNNUtils::Variables::Track::eProbabilityHT
bool eProbabilityHT(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:469
TauGNNUtils::Variables::Track::trackPt
bool trackPt(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:346
TauGNNUtils::Variables::Cluster::SECOND_LAMBDA
bool SECOND_LAMBDA(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
Definition: TauGNNUtils.cxx:717
TauGNNUtils::Variables::Scalar::isolFrac
bool isolFrac(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:120
TauGNNUtils::Variables::Cluster::CENTER_LAMBDAOverClustersMeanCenterLambda
bool CENTER_LAMBDAOverClustersMeanCenterLambda(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
Definition: TauGNNUtils.cxx:740
TauGNNUtils::Variables::Track::dEtaJetSeedAxis
bool dEtaJetSeedAxis(const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:406
TauGNNUtils::Variables::Track::numberOfTRTHits
bool numberOfTRTHits(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:578
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
TauGNNUtils::Variables::Cluster::pt_tau_log
bool pt_tau_log(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &, float &out)
Definition: TauGNNUtils.cxx:690
TauGNNUtils::Variables::Scalar::ClustersMeanFirstEngDens
bool ClustersMeanFirstEngDens(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:317
TauGNNUtils::Variables::Track::dz0_TV_PV0
bool dz0_TV_PV0(const xAOD::TauJet &tau, const xAOD::TauTrack &, float &out)
Definition: TauGNNUtils.cxx:649
TauGNNUtils::Variables::Track::dEta
bool dEta(const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:401
TauGNNUtils::Variables::Scalar::massTrkSys
bool massTrkSys(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:199
TauGNNUtils::Variables::Cluster::et_log
bool et_log(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
Definition: TauGNNUtils.cxx:685
TauGNNUtils::Variables::Scalar::hadLeakFracFixed
bool hadLeakFracFixed(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:289
TauGNNUtils::Variables::Track::expectInnermostPixelLayerHit
bool expectInnermostPixelLayerHit(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:595
TauGNNUtils::Variables::Track::numberOfSCTSharedHits
bool numberOfSCTSharedHits(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:557
TauGNNUtils::Variables::Track::eProbabilityNNorHT
bool eProbabilityNNorHT(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:488
TauGNNUtils::Variables::Cluster::CENTER_MAG
bool CENTER_MAG(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
Definition: TauGNNUtils.cxx:802
TauGNNUtils::Variables::Cluster::EM_PROBABILITY
bool EM_PROBABILITY(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
Definition: TauGNNUtils.cxx:795
TauGNNUtils::Variables::Cluster::SECOND_R
bool SECOND_R(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
Definition: TauGNNUtils.cxx:710
TauGNNUtils::GNNVarCalc::~GNNVarCalc
~GNNVarCalc()=default
TauGNNUtils::GNNVarCalc::initialize_map
static void initialize_map(bool useTRT)
Definition: TauGNNUtils.cxx:19
TauGNNUtils::Variables::Track::numberOfContribPixelLayers
bool numberOfContribPixelLayers(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:609
TauGNNUtils::Variables::Track::numberOfSCTDeadSensors
bool numberOfSCTDeadSensors(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:564
TauGNNUtils::Variables::Track::log_sumpt_TV
bool log_sumpt_TV(const xAOD::TauJet &tau, const xAOD::TauTrack &, float &out)
Definition: TauGNNUtils.cxx:655
TauGNNUtils::Variables::Scalar::mEflowApprox
bool mEflowApprox(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:178
TauGNNUtils::Variables::Scalar::absipSigLeadTrk
bool absipSigLeadTrk(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:142
TauGNNUtils::Variables::Scalar::etHotShotWinOverPtLeadTrk
bool etHotShotWinOverPtLeadTrk(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:282
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
TauGNNUtils::Variables::Track::pt_tau_log
bool pt_tau_log(const xAOD::TauJet &tau, const xAOD::TauTrack &, float &out)
Definition: TauGNNUtils.cxx:361
asg::AsgMessaging
Class mimicking the AthMessaging class from the offline software.
Definition: AsgMessaging.h:40
TauGNNUtils::Variables::Track::nPixelHits
bool nPixelHits(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:430
TauGNNUtils::Variables::Track::numberOfPixelHits
bool numberOfPixelHits(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:529
TauGNNUtils::Variables::Scalar::ClustersMeanCenterLambda
bool ClustersMeanCenterLambda(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:303
TauGNNUtils::Variables::Track::pt_log
bool pt_log(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:341
CaloVertexedTopoCluster.h
Evaluate cluster kinematics with a different vertex / signal state.
TauGNNUtils::Variables::Cluster::FIRST_ENG_DENS
bool FIRST_ENG_DENS(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
Definition: TauGNNUtils.cxx:788
TauGNNUtils::Variables::Scalar::EMPOverTrkSysP
bool EMPOverTrkSysP(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:163
TauGNNUtils::Variables::Scalar::absleadTrackEta
bool absleadTrackEta(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:231
EventInfo.h
TauGNNUtils::Variables::Cluster::dEta
bool dEta(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
Definition: TauGNNUtils.cxx:700
VertexContainer.h
TauGNNUtils::GNNVarCalc
Tool to calculate input variables for the GNN-based tau identification.
Definition: TauGNNUtils.h:275
TauGNNUtils::Variables::Track::eProbabilityNN
bool eProbabilityNN(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:482
TauGNNUtils::Variables::Track::numberOfTRTHighThresholdHits
bool numberOfTRTHighThresholdHits(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:571
xAOD::TauTrack_v1
Definition: TauTrack_v1.h:27
TauGNNUtils::Variables::Track::numberOfPixelSharedHits
bool numberOfPixelSharedHits(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:536
GlobalVariables.Variables
Variables
Definition: GlobalVariables.py:275
TauJet.h
TauGNNUtils::Variables::Track::log_sumpt_PV0
bool log_sumpt_PV0(const xAOD::TauJet &tau, const xAOD::TauTrack &, float &out)
Definition: TauGNNUtils.cxx:667
TauGNNUtils::Variables::Track::dPhi
bool dPhi(const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:412
RunTileMonitoring.clusters
clusters
Definition: RunTileMonitoring.py:133
TauGNNUtils::Variables::Track::nSCTHitsPlusDeadSensors
bool nSCTHitsPlusDeadSensors(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:461
TauGNNUtils::Variables::Scalar::ptIntermediateAxis
bool ptIntermediateAxis(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:221
TauGNNUtils::Variables::Track::numberOfSCTHits
bool numberOfSCTHits(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:550
TauGNNUtils::GNNVarCalc::m_cluster_map
static const std::unordered_map< std::string, ClusterCalc > m_cluster_map
Definition: TauGNNUtils.h:348
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
TauGNNUtils::Variables::Cluster::et
bool et(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
Definition: TauGNNUtils.cxx:783
xAOD::track
@ track
Definition: TrackingPrimitives.h:513
TauGNNUtils::GNNVarCalc::ClusterCalc
std::function< bool(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &, float &)> ClusterCalc
Definition: TauGNNUtils.h:280
TauGNNUtils::Variables::Scalar::innerTrkAvgDist
bool innerTrkAvgDist(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:135
TauGNNUtils::Variables::Track::theta
bool theta(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:634
TauGNNUtils::Variables::Scalar::trFlightPathSig
bool trFlightPathSig(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:192
xAOD::CaloVertexedTopoCluster
Evaluate cluster kinematics with a different vertex / signal state.
Definition: Event/xAOD/xAODCaloEvent/xAODCaloEvent/CaloVertexedTopoCluster.h:38
TauGNNUtils::Variables::Track::eProbabilityHT_noTRT
bool eProbabilityHT_noTRT(const xAOD::TauJet &, const xAOD::TauTrack &, float &out)
Definition: TauGNNUtils.cxx:476
AsgTool.h
TauGNNUtils::Variables::Scalar::ptDetectorAxis
bool ptDetectorAxis(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:216
TauGNNUtils::Variables::Track::nInnermostPixelHits
bool nInnermostPixelHits(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:423
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition: TrigDecision_v1.cxx:60
TauGNNUtils::Variables::Track::trackEta
bool trackEta(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:351
TauGNNUtils::Variables::Scalar::SumPtTrkFrac
bool SumPtTrkFrac(const xAOD::TauJet &tau, float &out)
Definition: TauGNNUtils.cxx:156
TauGNNUtils::Variables::Cluster::CENTER_LAMBDA
bool CENTER_LAMBDA(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
Definition: TauGNNUtils.cxx:724
TauGNNUtils::Variables::Track::z0sinthetaTJVA
bool z0sinthetaTJVA(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:381
TauGNNUtils::Variables::Track::dPhiJetSeedAxis
bool dPhiJetSeedAxis(const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:417
TauGNNUtils::Variables::Track::d0TJVA
bool d0TJVA(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:391
TauGNNUtils::Variables::Track::conversionScoreRNN
bool conversionScoreRNN(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
Definition: TauGNNUtils.cxx:509
TauGNNUtils::GNNVarCalc::m_scalar_map
static const std::unordered_map< std::string, ScalarCalc > m_scalar_map
Definition: TauGNNUtils.h:304