ATLAS Offline Software
Loading...
Searching...
No Matches
TauJetRNNUtils::Variables Namespace Reference

Namespaces

namespace  Cluster
namespace  Track

Typedefs

using TauDetail = xAOD::TauJetParameters::Detail

Functions

bool centFrac (const xAOD::TauJet &tau, double &out)
bool etOverPtLeadTrk (const xAOD::TauJet &tau, double &out)
bool innerTrkAvgDist (const xAOD::TauJet &tau, double &out)
bool absipSigLeadTrk (const xAOD::TauJet &tau, double &out)
bool SumPtTrkFrac (const xAOD::TauJet &tau, double &out)
bool EMPOverTrkSysP (const xAOD::TauJet &tau, double &out)
bool ptRatioEflowApprox (const xAOD::TauJet &tau, double &out)
bool mEflowApprox (const xAOD::TauJet &tau, double &out)
bool dRmax (const xAOD::TauJet &tau, double &out)
bool trFlightPathSig (const xAOD::TauJet &tau, double &out)
bool massTrkSys (const xAOD::TauJet &tau, double &out)
bool pt (const xAOD::TauJet &tau, double &out)
bool pt_tau_log (const xAOD::TauJet &tau, double &out)
bool ptDetectorAxis (const xAOD::TauJet &tau, double &out)
bool ptJetSeed_log (const xAOD::TauJet &tau, double &out)
bool absleadTrackEta (const xAOD::TauJet &tau, double &out)
bool leadTrackDeltaEta (const xAOD::TauJet &tau, double &out)
bool leadTrackDeltaPhi (const xAOD::TauJet &tau, double &out)
bool leadTrackProbNNorHT (const xAOD::TauJet &tau, double &out)
bool leadTrackProbNNorHT_noTRT (const xAOD::TauJet &tau, double &out)
bool EMFracFixed (const xAOD::TauJet &tau, double &out)
bool etHotShotWinOverPtLeadTrk (const xAOD::TauJet &tau, double &out)
bool hadLeakFracFixed (const xAOD::TauJet &tau, double &out)
bool PSFrac (const xAOD::TauJet &tau, double &out)
bool ClustersMeanCenterLambda (const xAOD::TauJet &tau, double &out)
bool ClustersMeanEMProbability (const xAOD::TauJet &tau, double &out)
bool ClustersMeanFirstEngDens (const xAOD::TauJet &tau, double &out)
bool ClustersMeanPresamplerFrac (const xAOD::TauJet &tau, double &out)
bool ClustersMeanSecondLambda (const xAOD::TauJet &tau, double &out)

Typedef Documentation

◆ TauDetail

Function Documentation

◆ absipSigLeadTrk()

bool TauJetRNNUtils::Variables::absipSigLeadTrk ( const xAOD::TauJet & tau,
double & out )

Definition at line 206 of file TauJetRNNUtils.cxx.

206 {
207 float ipSigLeadTrk = (tau.nTracks()>0) ? tau.track(0)->d0SigTJVA() : 0.;
208 out = std::min(std::abs(ipSigLeadTrk), 30.0f);
209 return true;
210}
const TauTrack * track(size_t i, TauJetParameters::TauTrackFlag flag=TauJetParameters::TauTrackFlag::classifiedCharged, int *container_index=0) const
Get the pointer to a given tauTrack associated with this tau /*container index needed by trackNonCons...
size_t nTracks(TauJetParameters::TauTrackFlag flag=TauJetParameters::TauTrackFlag::classifiedCharged) const
float d0SigTJVA() const

◆ absleadTrackEta()

bool TauJetRNNUtils::Variables::absleadTrackEta ( const xAOD::TauJet & tau,
double & out )

Definition at line 282 of file TauJetRNNUtils.cxx.

282 {
283 static const SG::ConstAccessor<float> acc_absEtaLeadTrack("ABS_ETA_LEAD_TRACK");
284 float absEtaLeadTrack = acc_absEtaLeadTrack(tau);
285 out = std::max(0.f, absEtaLeadTrack);
286 return true;
287}
Helper class to provide constant type-safe access to aux data.

◆ centFrac()

bool TauJetRNNUtils::Variables::centFrac ( const xAOD::TauJet & tau,
double & out )

Definition at line 185 of file TauJetRNNUtils.cxx.

185 {
186 float centFrac;
187 const auto success = tau.detail(TauDetail::centFrac, centFrac);
188 out = std::min(centFrac, 1.0f);
189 return success;
190}
bool detail(TauJetParameters::Detail detail, int &value) const
Get and set values of common details variables via enum.
bool centFrac(const xAOD::TauJet &tau, double &out)

◆ ClustersMeanCenterLambda()

bool TauJetRNNUtils::Variables::ClustersMeanCenterLambda ( const xAOD::TauJet & tau,
double & out )

Definition at line 377 of file TauJetRNNUtils.cxx.

377 {
379 const auto success = tau.detail(TauDetail::ClustersMeanCenterLambda, ClustersMeanCenterLambda);
380 out = std::max(0.f, ClustersMeanCenterLambda);
381 return success;
382}
bool ClustersMeanCenterLambda(const xAOD::TauJet &tau, double &out)

◆ ClustersMeanEMProbability()

bool TauJetRNNUtils::Variables::ClustersMeanEMProbability ( const xAOD::TauJet & tau,
double & out )

Definition at line 384 of file TauJetRNNUtils.cxx.

384 {
386 const auto success = tau.detail(TauDetail::ClustersMeanEMProbability, ClustersMeanEMProbability);
387 out = std::max(0.f, ClustersMeanEMProbability);
388 return success;
389}
bool ClustersMeanEMProbability(const xAOD::TauJet &tau, double &out)

◆ ClustersMeanFirstEngDens()

bool TauJetRNNUtils::Variables::ClustersMeanFirstEngDens ( const xAOD::TauJet & tau,
double & out )

Definition at line 391 of file TauJetRNNUtils.cxx.

391 {
393 const auto success = tau.detail(TauDetail::ClustersMeanFirstEngDens, ClustersMeanFirstEngDens);
394 out = std::max(-10.f, ClustersMeanFirstEngDens);
395 return success;
396}
bool ClustersMeanFirstEngDens(const xAOD::TauJet &tau, double &out)

◆ ClustersMeanPresamplerFrac()

bool TauJetRNNUtils::Variables::ClustersMeanPresamplerFrac ( const xAOD::TauJet & tau,
double & out )

Definition at line 398 of file TauJetRNNUtils.cxx.

398 {
400 const auto success = tau.detail(TauDetail::ClustersMeanPresamplerFrac, ClustersMeanPresamplerFrac);
401 out = std::max(0.f, ClustersMeanPresamplerFrac);
402 return success;
403}
bool ClustersMeanPresamplerFrac(const xAOD::TauJet &tau, double &out)

◆ ClustersMeanSecondLambda()

bool TauJetRNNUtils::Variables::ClustersMeanSecondLambda ( const xAOD::TauJet & tau,
double & out )

Definition at line 405 of file TauJetRNNUtils.cxx.

405 {
407 const auto success = tau.detail(TauDetail::ClustersMeanSecondLambda, ClustersMeanSecondLambda);
408 out = std::max(0.f, ClustersMeanSecondLambda);
409 return success;
410}
bool ClustersMeanSecondLambda(const xAOD::TauJet &tau, double &out)

◆ dRmax()

bool TauJetRNNUtils::Variables::dRmax ( const xAOD::TauJet & tau,
double & out )

Definition at line 240 of file TauJetRNNUtils.cxx.

240 {
241 float dRmax;
242 const auto success = tau.detail(TauDetail::dRmax, dRmax);
243 out = dRmax;
244 return success;
245}
bool dRmax(const xAOD::TauJet &tau, double &out)

◆ EMFracFixed()

bool TauJetRNNUtils::Variables::EMFracFixed ( const xAOD::TauJet & tau,
double & out )

Definition at line 348 of file TauJetRNNUtils.cxx.

348 {
349 static const SG::ConstAccessor<float> acc_emFracFixed("EMFracFixed");
350 float emFracFixed = acc_emFracFixed(tau);
351 out = std::max(emFracFixed, 0.0f);
352 return true;
353}

◆ EMPOverTrkSysP()

bool TauJetRNNUtils::Variables::EMPOverTrkSysP ( const xAOD::TauJet & tau,
double & out )

Definition at line 219 of file TauJetRNNUtils.cxx.

219 {
220 float EMPOverTrkSysP;
221 const auto success = tau.detail(TauDetail::EMPOverTrkSysP, EMPOverTrkSysP);
222 out = std::log10(std::max(EMPOverTrkSysP, 1e-3f));
223 return success;
224}
bool EMPOverTrkSysP(const xAOD::TauJet &tau, double &out)

◆ etHotShotWinOverPtLeadTrk()

bool TauJetRNNUtils::Variables::etHotShotWinOverPtLeadTrk ( const xAOD::TauJet & tau,
double & out )

Definition at line 355 of file TauJetRNNUtils.cxx.

355 {
356 static const SG::ConstAccessor<float> acc_etHotShotWinOverPtLeadTrk("etHotShotWinOverPtLeadTrk");
357 float etHotShotWinOverPtLeadTrk = acc_etHotShotWinOverPtLeadTrk(tau);
358 out = std::max(etHotShotWinOverPtLeadTrk, 1e-6f);
359 out = std::log10(out);
360 return true;
361}
bool etHotShotWinOverPtLeadTrk(const xAOD::TauJet &tau, double &out)

◆ etOverPtLeadTrk()

bool TauJetRNNUtils::Variables::etOverPtLeadTrk ( const xAOD::TauJet & tau,
double & out )

Definition at line 192 of file TauJetRNNUtils.cxx.

192 {
193 float etOverPtLeadTrk;
194 const auto success = tau.detail(TauDetail::etOverPtLeadTrk, etOverPtLeadTrk);
195 out = std::log10(std::max(etOverPtLeadTrk, 0.1f));
196 return success;
197}
bool etOverPtLeadTrk(const xAOD::TauJet &tau, double &out)

◆ hadLeakFracFixed()

bool TauJetRNNUtils::Variables::hadLeakFracFixed ( const xAOD::TauJet & tau,
double & out )

Definition at line 363 of file TauJetRNNUtils.cxx.

363 {
364 static const SG::ConstAccessor<float> acc_hadLeakFracFixed("hadLeakFracFixed");
365 float hadLeakFracFixed = acc_hadLeakFracFixed(tau);
366 out = std::max(0.f, hadLeakFracFixed);
367 return true;
368}
bool hadLeakFracFixed(const xAOD::TauJet &tau, double &out)

◆ innerTrkAvgDist()

bool TauJetRNNUtils::Variables::innerTrkAvgDist ( const xAOD::TauJet & tau,
double & out )

Definition at line 199 of file TauJetRNNUtils.cxx.

199 {
200 float innerTrkAvgDist;
201 const auto success = tau.detail(TauDetail::innerTrkAvgDist, innerTrkAvgDist);
202 out = innerTrkAvgDist;
203 return success;
204}
bool innerTrkAvgDist(const xAOD::TauJet &tau, double &out)

◆ leadTrackDeltaEta()

bool TauJetRNNUtils::Variables::leadTrackDeltaEta ( const xAOD::TauJet & tau,
double & out )

Definition at line 290 of file TauJetRNNUtils.cxx.

290 {
291 float absDeltaEta = tau.nTracks() > 0 ? std::abs( tau.track(0)->track()->eta() - tau.eta() ) : -1111.;
292 out = std::max(0.f, absDeltaEta);
293 return true;
294}
virtual double eta() const
The pseudorapidity ( ) of the particle.
const TrackParticle * track() const
virtual double eta() const override final
The pseudorapidity ( ) of the particle.

◆ leadTrackDeltaPhi()

bool TauJetRNNUtils::Variables::leadTrackDeltaPhi ( const xAOD::TauJet & tau,
double & out )

Definition at line 297 of file TauJetRNNUtils.cxx.

297 {
298 float absDeltaPhi = tau.nTracks() > 0 ? std::abs( tau.track(0)->track()->p4().DeltaPhi(tau.p4()) ) : -1111.;
299 out = std::max(0.f, absDeltaPhi);
300 return true;
301}
virtual FourMom_t p4() const
The full 4-momentum of the particle.
Definition TauJet_v3.cxx:96
virtual FourMom_t p4() const override final
The full 4-momentum of the particle.

◆ leadTrackProbNNorHT()

bool TauJetRNNUtils::Variables::leadTrackProbNNorHT ( const xAOD::TauJet & tau,
double & out )

Definition at line 303 of file TauJetRNNUtils.cxx.

303 {
304 auto tracks = tau.allTracks();
305
306 // Sort tracks in descending pt order
307 if (!tracks.empty()) {
308 auto cmp_pt = [](const xAOD::TauTrack *lhs, const xAOD::TauTrack *rhs) {
309 return lhs->pt() > rhs->pt();
310 };
311 std::sort(tracks.begin(), tracks.end(), cmp_pt);
312
313 const xAOD::TauTrack* tauLeadTrack = tracks.at(0);
314 const xAOD::TrackParticle* xTrackParticle = tauLeadTrack->track();
315 float eProbabilityHT = xTrackParticle->summaryValue(eProbabilityHT, xAOD::eProbabilityHT);
316 static const SG::ConstAccessor<float> acc_eProbabilityNN("eProbabilityNN");
317 float eProbabilityNN = acc_eProbabilityNN(*xTrackParticle);
318 out = (tauLeadTrack->pt()>2000.) ? eProbabilityNN : eProbabilityHT;
319 }
320 else {
321 out = 0.;
322 }
323 return true;
324}
std::vector< const TauTrack * > allTracks() const
Get the v<const pointer> to all tracks associated with this tau, regardless of classification.
virtual double pt() const
The transverse momentum ( ) of the particle.
bool summaryValue(uint8_t &value, const SummaryType &information) const
Accessor for TrackSummary values.
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
TauTrack_v1 TauTrack
Definition of the current version.
Definition TauTrack.h:16
@ eProbabilityHT
Electron probability from High Threshold (HT) information [float].

◆ leadTrackProbNNorHT_noTRT()

bool TauJetRNNUtils::Variables::leadTrackProbNNorHT_noTRT ( const xAOD::TauJet & tau,
double & out )

Definition at line 326 of file TauJetRNNUtils.cxx.

326 {
327 auto tracks = tau.allTracks();
328
329 // Sort tracks in descending pt order
330 if (!tracks.empty()) {
331 auto cmp_pt = [](const xAOD::TauTrack *lhs, const xAOD::TauTrack *rhs) {
332 return lhs->pt() > rhs->pt();
333 };
334 std::sort(tracks.begin(), tracks.end(), cmp_pt);
335
336 const xAOD::TauTrack* tauLeadTrack = tracks.at(0);
337 // Dummy values for eProbNN = 0.5, eProbHT = 1.
338 out = (tauLeadTrack->pt()>2000.) ? 0.5 : 1.;
339 }
340 else {
341 out = 0.;
342 }
343 return true;
344}

◆ massTrkSys()

bool TauJetRNNUtils::Variables::massTrkSys ( const xAOD::TauJet & tau,
double & out )

Definition at line 254 of file TauJetRNNUtils.cxx.

254 {
255 float massTrkSys;
256 const auto success = tau.detail(TauDetail::massTrkSys, massTrkSys);
257 out = std::log10(std::max(massTrkSys, 140.0f));
258 return success;
259}
bool massTrkSys(const xAOD::TauJet &tau, double &out)

◆ mEflowApprox()

bool TauJetRNNUtils::Variables::mEflowApprox ( const xAOD::TauJet & tau,
double & out )

Definition at line 233 of file TauJetRNNUtils.cxx.

233 {
234 float mEflowApprox;
235 const auto success = tau.detail(TauDetail::mEflowApprox, mEflowApprox);
236 out = std::log10(std::max(mEflowApprox, 140.0f));
237 return success;
238}
bool mEflowApprox(const xAOD::TauJet &tau, double &out)

◆ PSFrac()

bool TauJetRNNUtils::Variables::PSFrac ( const xAOD::TauJet & tau,
double & out )

Definition at line 370 of file TauJetRNNUtils.cxx.

370 {
371 float PSFrac;
372 const auto success = tau.detail(TauDetail::PSSFraction, PSFrac);
373 out = std::max(0.f,PSFrac);
374 return success;
375}
bool PSFrac(const xAOD::TauJet &tau, double &out)

◆ pt()

bool TauJetRNNUtils::Variables::pt ( const xAOD::TauJet & tau,
double & out )

Definition at line 261 of file TauJetRNNUtils.cxx.

261 {
262 out = std::log10(std::min(tau.pt() / GeV, 100.0));
263 return true;
264}
virtual double pt() const
The transverse momentum ( ) of the particle.

◆ pt_tau_log()

bool TauJetRNNUtils::Variables::pt_tau_log ( const xAOD::TauJet & tau,
double & out )

Definition at line 266 of file TauJetRNNUtils.cxx.

266 {
267 out = std::log10(std::max(tau.pt() / GeV, 1e-6));
268 return true;
269}

◆ ptDetectorAxis()

bool TauJetRNNUtils::Variables::ptDetectorAxis ( const xAOD::TauJet & tau,
double & out )

Definition at line 271 of file TauJetRNNUtils.cxx.

271 {
272 out = std::log10(std::min(tau.ptDetectorAxis() / GeV, 100.0));
273 return true;
274}
double ptDetectorAxis() const

◆ ptJetSeed_log()

bool TauJetRNNUtils::Variables::ptJetSeed_log ( const xAOD::TauJet & tau,
double & out )

Definition at line 276 of file TauJetRNNUtils.cxx.

276 {
277 out = std::log10(std::max(tau.ptJetSeed(), 1e-3));
278 return true;
279}
double ptJetSeed() const

◆ ptRatioEflowApprox()

bool TauJetRNNUtils::Variables::ptRatioEflowApprox ( const xAOD::TauJet & tau,
double & out )

Definition at line 226 of file TauJetRNNUtils.cxx.

226 {
227 float ptRatioEflowApprox;
228 const auto success = tau.detail(TauDetail::ptRatioEflowApprox, ptRatioEflowApprox);
229 out = std::min(ptRatioEflowApprox, 4.0f);
230 return success;
231}
bool ptRatioEflowApprox(const xAOD::TauJet &tau, double &out)

◆ SumPtTrkFrac()

bool TauJetRNNUtils::Variables::SumPtTrkFrac ( const xAOD::TauJet & tau,
double & out )

Definition at line 212 of file TauJetRNNUtils.cxx.

212 {
213 float SumPtTrkFrac;
214 const auto success = tau.detail(TauDetail::SumPtTrkFrac, SumPtTrkFrac);
215 out = SumPtTrkFrac;
216 return success;
217}
bool SumPtTrkFrac(const xAOD::TauJet &tau, double &out)

◆ trFlightPathSig()

bool TauJetRNNUtils::Variables::trFlightPathSig ( const xAOD::TauJet & tau,
double & out )

Definition at line 247 of file TauJetRNNUtils.cxx.

247 {
248 float trFlightPathSig;
249 const auto success = tau.detail(TauDetail::trFlightPathSig, trFlightPathSig);
250 out = std::log10(std::max(trFlightPathSig, 0.01f));
251 return success;
252}
bool trFlightPathSig(const xAOD::TauJet &tau, double &out)