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 
16 
17 namespace TauGNNUtils {
18 
31 class GNNVarCalc : public asg::AsgMessaging {
32 public:
33  // Pointers to calculator functions
34  using ScalarCalc = bool (*)(const xAOD::TauJet &, double &);
35 
36  using TrackCalc = bool (*)(const xAOD::TauJet &, const xAOD::TauTrack &,
37  double &);
38 
39  using ClusterCalc = bool (*)(const xAOD::TauJet &,
40  const xAOD::CaloVertexedTopoCluster &, double &);
41 
42 public:
43  GNNVarCalc();
44  ~GNNVarCalc() = default;
45 
46  // Methods to compute the output (vector) based on the variable name
47 
48  // Computes high-level ID variables
49  bool compute(const std::string &name, const xAOD::TauJet &tau, double &out) const;
50 
51  // Computes track variables
52  bool compute(const std::string &name, const xAOD::TauJet &tau,
53  const std::vector<const xAOD::TauTrack *> &tracks,
54  std::vector<double> &out) const;
55 
56  // Computes cluster variables
57  bool compute(const std::string &name, const xAOD::TauJet &tau,
58  const std::vector<xAOD::CaloVertexedTopoCluster> &clusters,
59  std::vector<double> &out) const;
60 
61  // Methods to insert calculator functions into the lookup table
62  void insert(const std::string &name, ScalarCalc func, const std::vector<std::string>& scalar_vars);
63  void insert(const std::string &name, TrackCalc func, const std::vector<std::string>& track_vars);
64  void insert(const std::string &name, ClusterCalc func, const std::vector<std::string>& cluster_vars);
65 
66 private:
67  // Lookup tables
68  std::unordered_map<std::string, ScalarCalc> m_scalar_map;
69  std::unordered_map<std::string, TrackCalc> m_track_map;
70  std::unordered_map<std::string, ClusterCalc> m_cluster_map;
71 };
72 
73 // Factory function to create a variable calculator populated with default
74 // variables
75 std::unique_ptr<GNNVarCalc> get_calculator(const std::vector<std::string>& scalar_vars,
76  const std::vector<std::string>& track_vars,
77  const std::vector<std::string>& cluster_vars);
78 
79 
80 namespace Variables {
81 
82 // Functions to calculate (scalar) input variables
83 // Returns a status code indicating success
84 bool absEta(const xAOD::TauJet &tau, double &out);
85 
86 bool centFrac(const xAOD::TauJet &tau, double &out);
87 
88 bool isolFrac(const xAOD::TauJet &tau, double &out);
89 
90 bool etOverPtLeadTrk(const xAOD::TauJet &tau, double &out);
91 
92 bool innerTrkAvgDist(const xAOD::TauJet &tau, double &out);
93 
94 bool absipSigLeadTrk(const xAOD::TauJet &tau, double &out);
95 
96 bool sumEMCellEtOverLeadTrkPt(const xAOD::TauJet &tau, double &out);
97 
98 bool SumPtTrkFrac(const xAOD::TauJet &tau, double &out);
99 
100 bool EMPOverTrkSysP(const xAOD::TauJet &tau, double &out);
101 
102 bool ptRatioEflowApprox(const xAOD::TauJet &tau, double &out);
103 
104 bool mEflowApprox(const xAOD::TauJet &tau, double &out);
105 
106 bool dRmax(const xAOD::TauJet &tau, double &out);
107 
108 bool trFlightPathSig(const xAOD::TauJet &tau, double &out);
109 
110 bool massTrkSys(const xAOD::TauJet &tau, double &out);
111 
112 bool pt(const xAOD::TauJet &tau, double &out);
113 
114 bool pt_tau_log(const xAOD::TauJet &tau, double &out);
115 
116 bool ptDetectorAxis(const xAOD::TauJet &tau, double &out);
117 
118 bool ptIntermediateAxis(const xAOD::TauJet &tau, double &out);
119 
120 //functions to calculate input variables needed for the eVeto RNN
121 bool ptJetSeed_log (const xAOD::TauJet &tau, double &out);
122 bool absleadTrackEta (const xAOD::TauJet &tau, double &out);
123 bool leadTrackDeltaEta (const xAOD::TauJet &tau, double &out);
124 bool leadTrackDeltaPhi (const xAOD::TauJet &tau, double &out);
125 bool leadTrackProbNNorHT (const xAOD::TauJet &tau, double &out);
126 bool EMFracFixed (const xAOD::TauJet &tau, double &out);
127 bool etHotShotWinOverPtLeadTrk (const xAOD::TauJet &tau, double &out);
128 bool hadLeakFracFixed (const xAOD::TauJet &tau, double &out);
129 bool PSFrac (const xAOD::TauJet &tau, double &out);
130 bool ClustersMeanCenterLambda (const xAOD::TauJet &tau, double &out);
131 bool ClustersMeanEMProbability (const xAOD::TauJet &tau, double &out);
132 bool ClustersMeanFirstEngDens (const xAOD::TauJet &tau, double &out);
133 bool ClustersMeanPresamplerFrac(const xAOD::TauJet &tau, double &out);
134 bool ClustersMeanSecondLambda (const xAOD::TauJet &tau, double &out);
135 bool EMPOverTrkSysP (const xAOD::TauJet &tau, double &out);
136 
137 
138 namespace Track {
139 
140 // Functions to calculate input variables for each track
141 // Returns a status code indicating success
142 
143 bool pt_log(
144  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
145 
146 bool trackPt(
147  const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
148 
149 bool trackEta(
150  const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
151 
152 bool trackPhi(
153  const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
154 
155 bool pt_tau_log(
156  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
157 
158 bool pt_jetseed_log(
159  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
160 
161 bool d0_abs_log(
162  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
163 
165  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
166 
167 bool z0sinthetaTJVA(
168  const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
169 
170 bool z0sinthetaSigTJVA(
171  const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
172 
173 bool d0TJVA(
174  const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
175 
176 bool d0SigTJVA(
177  const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
178 
179 bool dEta(
180  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
181 
182 bool dEtaJetSeedAxis(
183  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
184 
185 bool dPhi(
186  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
187 
188 bool dPhiJetSeedAxis(
189  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
190 
192  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
193 
194 bool nPixelHits(
195  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
196 
197 bool nSCTHits(
198  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
199 
200 // trigger variants
201 bool nIBLHitsAndExp (
202  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
203 
205  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
206 
208  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
209 
210 bool eProbabilityHT(
211  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
212 
213 bool eProbabilityNN(
214  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
215 
216 bool eProbabilityNNorHT(
217  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
218 
219 bool chargedScoreRNN(
220  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
221 
222 bool isolationScoreRNN(
223  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
224 
225 bool conversionScoreRNN(
226  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
227 
228 bool fakeScoreRNN(
229  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
230 
231 //Extension - variables for GNTau
232 bool numberOfInnermostPixelLayerHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
233 bool numberOfPixelHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
234 bool numberOfPixelSharedHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
235 bool numberOfPixelDeadSensors(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
236 bool numberOfSCTHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
237 bool numberOfSCTSharedHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
238 bool numberOfSCTDeadSensors(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
239 bool numberOfTRTHighThresholdHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
240 bool numberOfTRTHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
241 bool nSiHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
242 bool expectInnermostPixelLayerHit(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
244 bool numberOfContribPixelLayers(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
245 bool numberOfPixelHoles(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
246 bool d0_old(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
247 bool qOverP(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
248 bool theta(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
249 bool z0TJVA(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
250 bool charge(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
251 bool dz0_TV_PV0(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
252 bool log_sumpt_TV(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
253 bool log_sumpt2_TV(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
254 bool log_sumpt_PV0(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
255 bool log_sumpt2_PV0(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
256 
257 } // namespace Track
258 
259 
260 namespace Cluster {
261 
262 // Functions to calculate input variables for each cluster
263 // Returns a status code indicating success
264 
265 bool et_log(
266  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
267 
268 bool pt_tau_log(
269  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
270 
271 bool pt_jetseed_log(
272  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
273 
274 bool dEta(
275  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
276 
277 bool dPhi(
278  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
279 
280 bool SECOND_R(
281  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
282 
283 bool SECOND_LAMBDA(
284  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
285 
286 bool CENTER_LAMBDA(
287  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
288 
290  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
291 
293  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
294 
296  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
297 
298 //Extension - Variables for GNTau
299 bool e(
300  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
301 
302 bool et(
303  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
304 
305 bool FIRST_ENG_DENS(
306  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
307 
308 bool EM_PROBABILITY(
309  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
310 
311 bool CENTER_MAG(
312  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
313 } // namespace Cluster
314 } // namespace Variables
315 } // namespace TauJetGNNUtils
316 
317 #endif // TAURECTOOLS_TAUGNNUTILS_H
TauGNNUtils::Variables::Cluster::dPhi
bool dPhi(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:825
TauGNNUtils::Variables::Track::numberOfPixelHoles
bool numberOfPixelHoles(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:736
TauGNNUtils::GNNVarCalc::ScalarCalc
bool(*)(const xAOD::TauJet &, double &) ScalarCalc
Definition: TauGNNUtils.h:34
TauGNNUtils::Variables::Track::log_sumpt2_TV
bool log_sumpt2_TV(const xAOD::TauJet &tau, const xAOD::TauTrack &, double &out)
Definition: TauGNNUtils.cxx:781
TauGNNUtils::Variables::Cluster::CENTER_LAMBDA
bool CENTER_LAMBDA(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:840
TauGNNUtils::Variables::Track::numberOfPixelDeadSensors
bool numberOfPixelDeadSensors(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:663
TauGNNUtils::Variables::centFrac
bool centFrac(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:239
TauGNNUtils::Variables::ClustersMeanFirstEngDens
bool ClustersMeanFirstEngDens(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:444
TauGNNUtils::Variables::Cluster::et_log
bool et_log(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:805
TauGNNUtils::get_calculator
std::unique_ptr< GNNVarCalc > get_calculator(const std::vector< std::string > &scalar_vars, const std::vector< std::string > &track_vars, const std::vector< std::string > &cluster_vars)
Definition: TauGNNUtils.cxx:113
TauGNNUtils::Variables::ptRatioEflowApprox
bool ptRatioEflowApprox(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:297
TauGNNUtils::Variables::Track::log_sumpt_PV0
bool log_sumpt_PV0(const xAOD::TauJet &tau, const xAOD::TauTrack &, double &out)
Definition: TauGNNUtils.cxx:787
TauGNNUtils
Definition: TauGNNUtils.cxx:11
TauGNNUtils::Variables::Cluster::EM_PROBABILITY
bool EM_PROBABILITY(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:909
TauGNNUtils::Variables::absipSigLeadTrk
bool absipSigLeadTrk(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:269
TauGNNUtils::Variables::Track::nPixelHits
bool nPixelHits(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:556
TauGNNUtils::Variables::Track::dEtaJetSeedAxis
bool dEtaJetSeedAxis(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:532
TauGNNUtils::Variables::EMFracFixed
bool EMFracFixed(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:402
TauGNNUtils::Variables::Track::dz0_TV_PV0
bool dz0_TV_PV0(const xAOD::TauJet &tau, const xAOD::TauTrack &, double &out)
Definition: TauGNNUtils.cxx:769
TauGNNUtils::Variables::Track::chargedScoreRNN
bool chargedScoreRNN(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:617
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
TauGNNUtils::Variables::Track::numberOfSCTHits
bool numberOfSCTHits(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:670
TauGNNUtils::Variables::Track::expectNextToInnermostPixelLayerHit
bool expectNextToInnermostPixelLayerHit(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:722
TauGNNUtils::Variables::Track::eProbabilityNNorHT
bool eProbabilityNNorHT(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:608
TauGNNUtils::Variables::Cluster::FirstEngDensOverClustersMeanFirstEngDens
bool FirstEngDensOverClustersMeanFirstEngDens(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:871
TauGNNUtils::Variables::innerTrkAvgDist
bool innerTrkAvgDist(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:262
TauGNNUtils::Variables::absleadTrackEta
bool absleadTrackEta(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:358
TauGNNUtils::Variables::Cluster::CENTER_LAMBDAOverClustersMeanCenterLambda
bool CENTER_LAMBDAOverClustersMeanCenterLambda(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:854
TauGNNUtils::Variables::isolFrac
bool isolFrac(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:247
TauGNNUtils::Variables::Cluster::et
bool et(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:897
TauGNNUtils::Variables::ptIntermediateAxis
bool ptIntermediateAxis(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:348
TauGNNUtils::Variables::massTrkSys
bool massTrkSys(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:326
TauGNNUtils::Variables::hadLeakFracFixed
bool hadLeakFracFixed(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:416
TauGNNUtils::Variables::Track::d0_old
bool d0_old(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:743
TauGNNUtils::Variables::Track::d0_abs_log
bool d0_abs_log(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:497
TauGNNUtils::Variables::trFlightPathSig
bool trFlightPathSig(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:319
TauGNNUtils::Variables::etHotShotWinOverPtLeadTrk
bool etHotShotWinOverPtLeadTrk(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:409
TauGNNUtils::GNNVarCalc::ClusterCalc
bool(*)(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &, double &) ClusterCalc
Definition: TauGNNUtils.h:40
TauGNNUtils::Variables::ClustersMeanEMProbability
bool ClustersMeanEMProbability(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:437
TauGNNUtils::Variables::Track::pt_jetseed_log
bool pt_jetseed_log(const xAOD::TauJet &tau, const xAOD::TauTrack &, double &out)
Definition: TauGNNUtils.cxx:492
AsgMessaging.h
TauGNNUtils::GNNVarCalc::TrackCalc
bool(*)(const xAOD::TauJet &, const xAOD::TauTrack &, double &) TrackCalc
Definition: TauGNNUtils.h:37
TauGNNUtils::Variables::PSFrac
bool PSFrac(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:423
TauGNNUtils::Variables::Track::nSiHits
bool nSiHits(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:705
TauGNNUtils::Variables::Track::eProbabilityHT
bool eProbabilityHT(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:595
TauGNNUtils::Variables::Track::isolationScoreRNN
bool isolationScoreRNN(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:623
TauGNNUtils::Variables::Track::z0sinthetaTJVA
bool z0sinthetaTJVA(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:507
TauGNNUtils::Variables::pt_tau_log
bool pt_tau_log(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:338
TauGNNUtils::Variables::leadTrackDeltaPhi
bool leadTrackDeltaPhi(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:372
TauGNNUtils::Variables::Track::z0sinthetaSigTJVA
bool z0sinthetaSigTJVA(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:512
TauGNNUtils::Variables::Track::charge
bool charge(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:764
TauGNNUtils::Variables::Track::expectInnermostPixelLayerHit
bool expectInnermostPixelLayerHit(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:715
TauGNNUtils::Variables::Track::dPhi
bool dPhi(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:538
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
TauGNNUtils::Variables::Track::nInnermostPixelHits
bool nInnermostPixelHits(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:549
TauGNNUtils::GNNVarCalc::compute
bool compute(const std::string &name, const xAOD::TauJet &tau, double &out) const
Definition: TauGNNUtils.cxx:16
TauGNNUtils::Variables::Track::log_sumpt_TV
bool log_sumpt_TV(const xAOD::TauJet &tau, const xAOD::TauTrack &, double &out)
Definition: TauGNNUtils.cxx:775
TauGNNUtils::Variables::Track::numberOfSCTDeadSensors
bool numberOfSCTDeadSensors(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:684
TauGNNUtils::Variables::ptJetSeed_log
bool ptJetSeed_log(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:353
TauGNNUtils::Variables::Cluster::SECOND_LAMBDA
bool SECOND_LAMBDA(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:835
TauGNNUtils::Variables::ClustersMeanSecondLambda
bool ClustersMeanSecondLambda(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:458
TauGNNUtils::Variables::Cluster::pt_jetseed_log
bool pt_jetseed_log(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &, double &out)
Definition: TauGNNUtils.cxx:815
TauGNNUtils::GNNVarCalc::m_track_map
std::unordered_map< std::string, TrackCalc > m_track_map
Definition: TauGNNUtils.h:69
TauGNNUtils::Variables::leadTrackDeltaEta
bool leadTrackDeltaEta(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:365
TauGNNUtils::GNNVarCalc::~GNNVarCalc
~GNNVarCalc()=default
TauGNNUtils::Variables::Track::numberOfSCTSharedHits
bool numberOfSCTSharedHits(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:677
TauGNNUtils::Variables::mEflowApprox
bool mEflowApprox(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:305
TauGNNUtils::Variables::Track::trackPt
bool trackPt(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:472
TauGNNUtils::Variables::ClustersMeanPresamplerFrac
bool ClustersMeanPresamplerFrac(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:451
TauGNNUtils::Variables::Track::dPhiJetSeedAxis
bool dPhiJetSeedAxis(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:543
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
TauGNNUtils::Variables::SumPtTrkFrac
bool SumPtTrkFrac(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:283
asg::AsgMessaging
Class mimicking the AthMessaging class from the offline software.
Definition: AsgMessaging.h:40
TauGNNUtils::GNNVarCalc::m_cluster_map
std::unordered_map< std::string, ClusterCalc > m_cluster_map
Definition: TauGNNUtils.h:70
TauGNNUtils::Variables::Track::numberOfPixelHits
bool numberOfPixelHits(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:649
TauGNNUtils::Variables::Cluster::SECOND_R
bool SECOND_R(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:830
TauGNNUtils::Variables::Track::nSCTHits
bool nSCTHits(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:563
TauGNNUtils::Variables::Cluster::e
bool e(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:892
TauGNNUtils::Variables::Track::qOverP
bool qOverP(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:749
TauGNNUtils::Variables::sumEMCellEtOverLeadTrkPt
bool sumEMCellEtOverLeadTrkPt(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:276
TauGNNUtils::Variables::Track::nPixelHitsPlusDeadSensors
bool nPixelHitsPlusDeadSensors(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:579
TauGNNUtils::Variables::Track::numberOfPixelSharedHits
bool numberOfPixelSharedHits(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:656
CaloVertexedTopoCluster.h
Evaluate cluster kinematics with a different vertex / signal state.
TauGNNUtils::Variables::dRmax
bool dRmax(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:312
TauGNNUtils::Variables::EMPOverTrkSysP
bool EMPOverTrkSysP(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:290
TauGNNUtils::Variables::Track::theta
bool theta(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:754
TauGNNUtils::GNNVarCalc::insert
void insert(const std::string &name, ScalarCalc func, const std::vector< std::string > &scalar_vars)
Definition: TauGNNUtils.cxx:83
TauGNNUtils::Variables::Track::numberOfContribPixelLayers
bool numberOfContribPixelLayers(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:729
EventInfo.h
TauGNNUtils::Variables::Cluster::CENTER_MAG
bool CENTER_MAG(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:916
TauGNNUtils::Variables::etOverPtLeadTrk
bool etOverPtLeadTrk(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:255
TauGNNUtils::Variables::Track::fakeScoreRNN
bool fakeScoreRNN(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:635
VertexContainer.h
TauGNNUtils::Variables::Track::pt_log
bool pt_log(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:467
TauGNNUtils::Variables::leadTrackProbNNorHT
bool leadTrackProbNNorHT(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:379
TauGNNUtils::Variables::ClustersMeanCenterLambda
bool ClustersMeanCenterLambda(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:430
TauGNNUtils::Variables::Track::nSCTHitsPlusDeadSensors
bool nSCTHitsPlusDeadSensors(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:587
TauGNNUtils::Variables::Track::numberOfTRTHighThresholdHits
bool numberOfTRTHighThresholdHits(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:691
TauGNNUtils::GNNVarCalc
Tool to calculate input variables for the GNN-based tau identification.
Definition: TauGNNUtils.h:31
xAOD::TauTrack_v1
Definition: TauTrack_v1.h:27
TauGNNUtils::Variables::Track::eProbabilityNN
bool eProbabilityNN(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:602
TauGNNUtils::Variables::Track::conversionScoreRNN
bool conversionScoreRNN(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:629
GlobalVariables.Variables
Variables
Definition: GlobalVariables.py:276
TauJet.h
TauGNNUtils::GNNVarCalc::GNNVarCalc
GNNVarCalc()
Definition: TauGNNUtils.cxx:13
RunTileMonitoring.clusters
clusters
Definition: RunTileMonitoring.py:133
TauGNNUtils::Variables::Cluster::FIRST_ENG_DENS
bool FIRST_ENG_DENS(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:902
TauGNNUtils::Variables::absEta
bool absEta(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:234
TauGNNUtils::Variables::Cluster::SECOND_LAMBDAOverClustersMeanSecondLambda
bool SECOND_LAMBDAOverClustersMeanSecondLambda(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:845
TauGNNUtils::Variables::Track::pt_tau_log
bool pt_tau_log(const xAOD::TauJet &tau, const xAOD::TauTrack &, double &out)
Definition: TauGNNUtils.cxx:487
TauGNNUtils::Variables::pt
bool pt(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:333
TauGNNUtils::Variables::Track::z0TJVA
bool z0TJVA(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:759
TauGNNUtils::Variables::Track::numberOfTRTHits
bool numberOfTRTHits(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:698
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
TauGNNUtils::Variables::Track::trackPhi
bool trackPhi(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:482
TauGNNUtils::Variables::Track::d0TJVA
bool d0TJVA(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:517
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
TauGNNUtils::Variables::Track::z0sinThetaTJVA_abs_log
bool z0sinThetaTJVA_abs_log(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:502
xAOD::CaloVertexedTopoCluster
Evaluate cluster kinematics with a different vertex / signal state.
Definition: Event/xAOD/xAODCaloEvent/xAODCaloEvent/CaloVertexedTopoCluster.h:38
TauGNNUtils::Variables::ptDetectorAxis
bool ptDetectorAxis(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:343
AsgTool.h
TauGNNUtils::Variables::Track::dEta
bool dEta(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:527
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition: TrigDecision_v1.cxx:60
TauGNNUtils::Variables::Track::numberOfInnermostPixelLayerHits
bool numberOfInnermostPixelLayerHits(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:642
TauGNNUtils::Variables::Cluster::dEta
bool dEta(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:820
TauGNNUtils::Variables::Cluster::pt_tau_log
bool pt_tau_log(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &, double &out)
Definition: TauGNNUtils.cxx:810
TauGNNUtils::Variables::Track::d0SigTJVA
bool d0SigTJVA(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:522
TauGNNUtils::Variables::Track::nIBLHitsAndExp
bool nIBLHitsAndExp(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:571
TauGNNUtils::Variables::Track::trackEta
bool trackEta(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:477
TauGNNUtils::Variables::Track::log_sumpt2_PV0
bool log_sumpt2_PV0(const xAOD::TauJet &tau, const xAOD::TauTrack &, double &out)
Definition: TauGNNUtils.cxx:793
TauGNNUtils::GNNVarCalc::m_scalar_map
std::unordered_map< std::string, ScalarCalc > m_scalar_map
Definition: TauGNNUtils.h:68