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 dPhi(
183  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
184 
186  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
187 
188 bool nPixelHits(
189  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
190 
191 bool nSCTHits(
192  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
193 
194 // trigger variants
195 bool nIBLHitsAndExp (
196  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
197 
199  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
200 
202  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
203 
204 bool eProbabilityHT(
205  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
206 
207 bool eProbabilityNN(
208  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
209 
210 bool eProbabilityNNorHT(
211  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
212 
213 bool chargedScoreRNN(
214  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
215 
216 bool isolationScoreRNN(
217  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
218 
219 bool conversionScoreRNN(
220  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
221 
222 bool fakeScoreRNN(
223  const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
224 
225 //Extension - variables for GNTau
226 bool numberOfInnermostPixelLayerHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
227 bool numberOfPixelHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
228 bool numberOfPixelSharedHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
229 bool numberOfPixelDeadSensors(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
230 bool numberOfSCTHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
231 bool numberOfSCTSharedHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
232 bool numberOfSCTDeadSensors(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
233 bool numberOfTRTHighThresholdHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
234 bool numberOfTRTHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
235 bool nSiHits(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
236 bool expectInnermostPixelLayerHit(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
238 bool numberOfContribPixelLayers(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
239 bool numberOfPixelHoles(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
240 bool d0_old(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
241 bool qOverP(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
242 bool theta(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
243 bool z0TJVA(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
244 bool charge(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
245 bool dz0_TV_PV0(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
246 bool log_sumpt_TV(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
247 bool log_sumpt2_TV(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
248 bool log_sumpt_PV0(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
249 bool log_sumpt2_PV0(const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
250 
251 } // namespace Track
252 
253 
254 namespace Cluster {
255 
256 // Functions to calculate input variables for each cluster
257 // Returns a status code indicating success
258 
259 bool et_log(
260  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
261 
262 bool pt_tau_log(
263  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
264 
265 bool pt_jetseed_log(
266  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
267 
268 bool dEta(
269  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
270 
271 bool dPhi(
272  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
273 
274 bool SECOND_R(
275  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
276 
277 bool SECOND_LAMBDA(
278  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
279 
280 bool CENTER_LAMBDA(
281  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
282 
284  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
285 
287  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
288 
290  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
291 
292 //Extension - Variables for GNTau
293 bool e(
294  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
295 
296 bool et(
297  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
298 
299 bool FIRST_ENG_DENS(
300  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
301 
302 bool EM_PROBABILITY(
303  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
304 
305 bool CENTER_MAG(
306  const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
307 } // namespace Cluster
308 } // namespace Variables
309 } // namespace TauJetGNNUtils
310 
311 #endif // TAURECTOOLS_TAUGNNUTILS_H
TauGNNUtils::Variables::Cluster::dPhi
bool dPhi(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:811
TauGNNUtils::Variables::Track::numberOfPixelHoles
bool numberOfPixelHoles(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:722
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:767
TauGNNUtils::Variables::Cluster::CENTER_LAMBDA
bool CENTER_LAMBDA(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:826
TauGNNUtils::Variables::Track::numberOfPixelDeadSensors
bool numberOfPixelDeadSensors(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:649
TauGNNUtils::Variables::centFrac
bool centFrac(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:237
TauGNNUtils::Variables::ClustersMeanFirstEngDens
bool ClustersMeanFirstEngDens(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:442
TauGNNUtils::Variables::Cluster::et_log
bool et_log(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:791
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:295
TauGNNUtils::Variables::Track::log_sumpt_PV0
bool log_sumpt_PV0(const xAOD::TauJet &tau, const xAOD::TauTrack &, double &out)
Definition: TauGNNUtils.cxx:773
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:895
TauGNNUtils::Variables::absipSigLeadTrk
bool absipSigLeadTrk(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:267
TauGNNUtils::Variables::Track::nPixelHits
bool nPixelHits(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:542
TauGNNUtils::Variables::EMFracFixed
bool EMFracFixed(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:400
TauGNNUtils::Variables::Track::dz0_TV_PV0
bool dz0_TV_PV0(const xAOD::TauJet &tau, const xAOD::TauTrack &, double &out)
Definition: TauGNNUtils.cxx:755
TauGNNUtils::Variables::Track::chargedScoreRNN
bool chargedScoreRNN(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:603
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:656
TauGNNUtils::Variables::Track::expectNextToInnermostPixelLayerHit
bool expectNextToInnermostPixelLayerHit(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:708
TauGNNUtils::Variables::Track::eProbabilityNNorHT
bool eProbabilityNNorHT(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:594
TauGNNUtils::Variables::Cluster::FirstEngDensOverClustersMeanFirstEngDens
bool FirstEngDensOverClustersMeanFirstEngDens(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:857
TauGNNUtils::Variables::innerTrkAvgDist
bool innerTrkAvgDist(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:260
TauGNNUtils::Variables::absleadTrackEta
bool absleadTrackEta(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:356
TauGNNUtils::Variables::Cluster::CENTER_LAMBDAOverClustersMeanCenterLambda
bool CENTER_LAMBDAOverClustersMeanCenterLambda(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:840
TauGNNUtils::Variables::isolFrac
bool isolFrac(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:245
TauGNNUtils::Variables::Cluster::et
bool et(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:883
TauGNNUtils::Variables::ptIntermediateAxis
bool ptIntermediateAxis(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:346
TauGNNUtils::Variables::massTrkSys
bool massTrkSys(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:324
TauGNNUtils::Variables::hadLeakFracFixed
bool hadLeakFracFixed(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:414
TauGNNUtils::Variables::Track::d0_old
bool d0_old(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:729
TauGNNUtils::Variables::Track::d0_abs_log
bool d0_abs_log(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:495
TauGNNUtils::Variables::trFlightPathSig
bool trFlightPathSig(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:317
TauGNNUtils::Variables::etHotShotWinOverPtLeadTrk
bool etHotShotWinOverPtLeadTrk(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:407
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:435
TauGNNUtils::Variables::Track::pt_jetseed_log
bool pt_jetseed_log(const xAOD::TauJet &tau, const xAOD::TauTrack &, double &out)
Definition: TauGNNUtils.cxx:490
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:421
TauGNNUtils::Variables::Track::nSiHits
bool nSiHits(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:691
TauGNNUtils::Variables::Track::eProbabilityHT
bool eProbabilityHT(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:581
TauGNNUtils::Variables::Track::isolationScoreRNN
bool isolationScoreRNN(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:609
TauGNNUtils::Variables::Track::z0sinthetaTJVA
bool z0sinthetaTJVA(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:505
TauGNNUtils::Variables::pt_tau_log
bool pt_tau_log(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:336
TauGNNUtils::Variables::leadTrackDeltaPhi
bool leadTrackDeltaPhi(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:370
TauGNNUtils::Variables::Track::z0sinthetaSigTJVA
bool z0sinthetaSigTJVA(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:510
TauGNNUtils::Variables::Track::charge
bool charge(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:750
TauGNNUtils::Variables::Track::expectInnermostPixelLayerHit
bool expectInnermostPixelLayerHit(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:701
TauGNNUtils::Variables::Track::dPhi
bool dPhi(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:530
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:535
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:761
TauGNNUtils::Variables::Track::numberOfSCTDeadSensors
bool numberOfSCTDeadSensors(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:670
TauGNNUtils::Variables::ptJetSeed_log
bool ptJetSeed_log(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:351
TauGNNUtils::Variables::Cluster::SECOND_LAMBDA
bool SECOND_LAMBDA(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:821
TauGNNUtils::Variables::ClustersMeanSecondLambda
bool ClustersMeanSecondLambda(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:456
TauGNNUtils::Variables::Cluster::pt_jetseed_log
bool pt_jetseed_log(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &, double &out)
Definition: TauGNNUtils.cxx:801
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:363
TauGNNUtils::GNNVarCalc::~GNNVarCalc
~GNNVarCalc()=default
TauGNNUtils::Variables::Track::numberOfSCTSharedHits
bool numberOfSCTSharedHits(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:663
TauGNNUtils::Variables::mEflowApprox
bool mEflowApprox(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:303
TauGNNUtils::Variables::Track::trackPt
bool trackPt(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:470
TauGNNUtils::Variables::ClustersMeanPresamplerFrac
bool ClustersMeanPresamplerFrac(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:449
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TauGNNUtils::Variables::SumPtTrkFrac
bool SumPtTrkFrac(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:281
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:635
TauGNNUtils::Variables::Cluster::SECOND_R
bool SECOND_R(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:816
TauGNNUtils::Variables::Track::nSCTHits
bool nSCTHits(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:549
TauGNNUtils::Variables::Cluster::e
bool e(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:878
TauGNNUtils::Variables::Track::qOverP
bool qOverP(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:735
TauGNNUtils::Variables::sumEMCellEtOverLeadTrkPt
bool sumEMCellEtOverLeadTrkPt(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:274
TauGNNUtils::Variables::Track::nPixelHitsPlusDeadSensors
bool nPixelHitsPlusDeadSensors(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:565
TauGNNUtils::Variables::Track::numberOfPixelSharedHits
bool numberOfPixelSharedHits(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:642
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:310
TauGNNUtils::Variables::EMPOverTrkSysP
bool EMPOverTrkSysP(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:288
TauGNNUtils::Variables::Track::theta
bool theta(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:740
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:715
EventInfo.h
TauGNNUtils::Variables::Cluster::CENTER_MAG
bool CENTER_MAG(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:902
TauGNNUtils::Variables::etOverPtLeadTrk
bool etOverPtLeadTrk(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:253
TauGNNUtils::Variables::Track::fakeScoreRNN
bool fakeScoreRNN(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:621
VertexContainer.h
TauGNNUtils::Variables::Track::pt_log
bool pt_log(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:465
TauGNNUtils::Variables::leadTrackProbNNorHT
bool leadTrackProbNNorHT(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:377
TauGNNUtils::Variables::ClustersMeanCenterLambda
bool ClustersMeanCenterLambda(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:428
TauGNNUtils::Variables::Track::nSCTHitsPlusDeadSensors
bool nSCTHitsPlusDeadSensors(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:573
TauGNNUtils::Variables::Track::numberOfTRTHighThresholdHits
bool numberOfTRTHighThresholdHits(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:677
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:588
TauGNNUtils::Variables::Track::conversionScoreRNN
bool conversionScoreRNN(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:615
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:888
TauGNNUtils::Variables::absEta
bool absEta(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:232
TauGNNUtils::Variables::Cluster::SECOND_LAMBDAOverClustersMeanSecondLambda
bool SECOND_LAMBDAOverClustersMeanSecondLambda(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:831
TauGNNUtils::Variables::Track::pt_tau_log
bool pt_tau_log(const xAOD::TauJet &tau, const xAOD::TauTrack &, double &out)
Definition: TauGNNUtils.cxx:485
TauGNNUtils::Variables::pt
bool pt(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:331
TauGNNUtils::Variables::Track::z0TJVA
bool z0TJVA(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:745
TauGNNUtils::Variables::Track::numberOfTRTHits
bool numberOfTRTHits(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:684
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
TauGNNUtils::Variables::Track::trackPhi
bool trackPhi(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:480
TauGNNUtils::Variables::Track::d0TJVA
bool d0TJVA(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:515
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:500
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:341
AsgTool.h
TauGNNUtils::Variables::Track::dEta
bool dEta(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:525
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:628
TauGNNUtils::Variables::Cluster::dEta
bool dEta(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
Definition: TauGNNUtils.cxx:806
TauGNNUtils::Variables::Cluster::pt_tau_log
bool pt_tau_log(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &, double &out)
Definition: TauGNNUtils.cxx:796
TauGNNUtils::Variables::Track::d0SigTJVA
bool d0SigTJVA(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:520
TauGNNUtils::Variables::Track::nIBLHitsAndExp
bool nIBLHitsAndExp(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:557
TauGNNUtils::Variables::Track::trackEta
bool trackEta(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:475
TauGNNUtils::Variables::Track::log_sumpt2_PV0
bool log_sumpt2_PV0(const xAOD::TauJet &tau, const xAOD::TauTrack &, double &out)
Definition: TauGNNUtils.cxx:779
TauGNNUtils::GNNVarCalc::m_scalar_map
std::unordered_map< std::string, ScalarCalc > m_scalar_map
Definition: TauGNNUtils.h:68