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

Typedefs

using MomentType = xAOD::CaloCluster::MomentType

Functions

bool et_log (const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
bool pt_tau_log (const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &, double &out)
bool pt_jetseed_log (const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &, double &out)
bool dEta (const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
bool dPhi (const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
bool SECOND_R (const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
bool SECOND_LAMBDA (const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
bool CENTER_LAMBDA (const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
bool SECOND_LAMBDAOverClustersMeanSecondLambda (const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
bool CENTER_LAMBDAOverClustersMeanCenterLambda (const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out)
bool FirstEngDensOverClustersMeanFirstEngDens (const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out)

Typedef Documentation

◆ MomentType

Function Documentation

◆ CENTER_LAMBDA()

bool TauJetRNNUtils::Variables::Cluster::CENTER_LAMBDA ( const xAOD::TauJet & ,
const xAOD::CaloVertexedTopoCluster & cluster,
double & out )

Definition at line 574 of file TauJetRNNUtils.cxx.

574 {
575 const auto success = cluster.clust().retrieveMoment(MomentType::CENTER_LAMBDA, out);
576 out = std::log10(out + 1e-6);
577 return success;
578}
bool retrieveMoment(MomentType type, double &value) const
Retrieve individual moment.
const CaloCluster & clust() const
Return the cluster being proxied,.

◆ CENTER_LAMBDAOverClustersMeanCenterLambda()

bool TauJetRNNUtils::Variables::Cluster::CENTER_LAMBDAOverClustersMeanCenterLambda ( const xAOD::TauJet & tau,
const xAOD::CaloVertexedTopoCluster & cluster,
double & out )

Definition at line 589 of file TauJetRNNUtils.cxx.

589 {
590 static const SG::ConstAccessor<float> acc_ClustersMeanCenterLambda("ClustersMeanCenterLambda");
591 float ClustersMeanCenterLambda = acc_ClustersMeanCenterLambda(tau);
592 double centerLambda(0);
593 const auto success = cluster.clust().retrieveMoment(MomentType::CENTER_LAMBDA, centerLambda);
594 if (ClustersMeanCenterLambda == 0.){
595 out = 250.;
596 }else {
597 out = centerLambda/ClustersMeanCenterLambda;
598 }
599
600 out = std::min(out, 250.);
601
602 return success;
603}
Helper class to provide constant type-safe access to aux data.
bool ClustersMeanCenterLambda(const xAOD::TauJet &tau, double &out)

◆ dEta()

bool TauJetRNNUtils::Variables::Cluster::dEta ( const xAOD::TauJet & tau,
const xAOD::CaloVertexedTopoCluster & cluster,
double & out )

Definition at line 552 of file TauJetRNNUtils.cxx.

552 {
553 out = cluster.eta() - tau.eta();
554 return true;
555}
virtual double eta() const final
The pseudorapidity ( ) of the particle.
virtual double eta() const
The pseudorapidity ( ) of the particle.

◆ dPhi()

bool TauJetRNNUtils::Variables::Cluster::dPhi ( const xAOD::TauJet & tau,
const xAOD::CaloVertexedTopoCluster & cluster,
double & out )

Definition at line 557 of file TauJetRNNUtils.cxx.

557 {
558 out = cluster.p4().DeltaPhi(tau.p4());
559 return true;
560}
virtual FourMom_t p4() const final
The full 4-momentum of the particle.
virtual FourMom_t p4() const
The full 4-momentum of the particle.
Definition TauJet_v3.cxx:96

◆ et_log()

bool TauJetRNNUtils::Variables::Cluster::et_log ( const xAOD::TauJet & ,
const xAOD::CaloVertexedTopoCluster & cluster,
double & out )

Definition at line 537 of file TauJetRNNUtils.cxx.

537 {
538 out = std::log10(cluster.p4().Et());
539 return true;
540}

◆ FirstEngDensOverClustersMeanFirstEngDens()

bool TauJetRNNUtils::Variables::Cluster::FirstEngDensOverClustersMeanFirstEngDens ( const xAOD::TauJet & tau,
const xAOD::CaloVertexedTopoCluster & cluster,
double & out )

Definition at line 606 of file TauJetRNNUtils.cxx.

606 {
607 // the ClustersMeanFirstEngDens is the log10 of the energy weighted average of the First_ENG_DENS
608 // divided by ETot to make it dimension-less,
609 // so we need to evaluate the difference of log10(clusterFirstEngDens/clusterTotalEnergy) and the ClustersMeanFirstEngDens
610 double clusterFirstEngDens = 0.0;
611 bool status = cluster.clust().retrieveMoment(MomentType::FIRST_ENG_DENS, clusterFirstEngDens);
612 if (clusterFirstEngDens < 1e-6) clusterFirstEngDens = 1e-6;
613
614 static const SG::ConstAccessor<float> acc_ClusterTotalEnergy("ClusterTotalEnergy");
615 float clusterTotalEnergy = acc_ClusterTotalEnergy(tau);
616 if (clusterTotalEnergy < 1e-6) clusterTotalEnergy = 1e-6;
617
618 static const SG::ConstAccessor<float> acc_ClustersMeanFirstEngDens("ClustersMeanFirstEngDens");
619 float clustersMeanFirstEngDens = acc_ClustersMeanFirstEngDens(tau);
620
621 out = std::log10(clusterFirstEngDens/clusterTotalEnergy) - clustersMeanFirstEngDens;
622
623 return status;
624}

◆ pt_jetseed_log()

bool TauJetRNNUtils::Variables::Cluster::pt_jetseed_log ( const xAOD::TauJet & tau,
const xAOD::CaloVertexedTopoCluster & ,
double & out )

Definition at line 547 of file TauJetRNNUtils.cxx.

547 {
548 out = std::log10(tau.ptJetSeed());
549 return true;
550}
double ptJetSeed() const

◆ pt_tau_log()

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

Definition at line 542 of file TauJetRNNUtils.cxx.

542 {
543 out = std::log10(std::max(tau.pt(), 1e-6));
544 return true;
545}
virtual double pt() const
The transverse momentum ( ) of the particle.

◆ SECOND_LAMBDA()

bool TauJetRNNUtils::Variables::Cluster::SECOND_LAMBDA ( const xAOD::TauJet & ,
const xAOD::CaloVertexedTopoCluster & cluster,
double & out )

Definition at line 568 of file TauJetRNNUtils.cxx.

568 {
569 const auto success = cluster.clust().retrieveMoment(MomentType::SECOND_LAMBDA, out);
570 out = std::log10(out + 0.1);
571 return success;
572}

◆ SECOND_LAMBDAOverClustersMeanSecondLambda()

bool TauJetRNNUtils::Variables::Cluster::SECOND_LAMBDAOverClustersMeanSecondLambda ( const xAOD::TauJet & tau,
const xAOD::CaloVertexedTopoCluster & cluster,
double & out )

Definition at line 580 of file TauJetRNNUtils.cxx.

580 {
581 static const SG::ConstAccessor<float> acc_ClustersMeanSecondLambda("ClustersMeanSecondLambda");
582 float ClustersMeanSecondLambda = acc_ClustersMeanSecondLambda(tau);
583 double secondLambda(0);
584 const auto success = cluster.clust().retrieveMoment(MomentType::SECOND_LAMBDA, secondLambda);
585 out = (ClustersMeanSecondLambda != 0.) ? secondLambda/ClustersMeanSecondLambda : 0.;
586 return success;
587}
bool ClustersMeanSecondLambda(const xAOD::TauJet &tau, double &out)

◆ SECOND_R()

bool TauJetRNNUtils::Variables::Cluster::SECOND_R ( const xAOD::TauJet & ,
const xAOD::CaloVertexedTopoCluster & cluster,
double & out )

Definition at line 562 of file TauJetRNNUtils.cxx.

562 {
563 const auto success = cluster.clust().retrieveMoment(MomentType::SECOND_R, out);
564 out = std::log10(out + 0.1);
565 return success;
566}