 |
ATLAS Offline Software
|
Tool to calculate input variables for the GNN-based tau identification.
More...
#include <TauGNNUtils.h>
|
std::string | m_nm |
| Message source name. More...
|
|
boost::thread_specific_ptr< MsgStream > | m_msg_tls |
| MsgStream instance (a std::cout like with print-out levels) More...
|
|
std::atomic< IMessageSvc * > | m_imsg { nullptr } |
| MessageSvc pointer. More...
|
|
std::atomic< MSG::Level > | m_lvl { MSG::NIL } |
| Current logging level. More...
|
|
Tool to calculate input variables for the GNN-based tau identification.
Used to calculate input variables for (onnx)GNN-based tau identification on the fly by providing a mapping between variable names (strings) and functions to calculate these variables.
- Author
- C. Deutsch
-
W. Davey
-
N.M. Tamir
-
D. Qichen
Definition at line 275 of file TauGNNUtils.h.
◆ ClusterCalc
◆ ScalarCalc
◆ TrackCalc
◆ GNNVarCalc()
TauGNNUtils::GNNVarCalc::GNNVarCalc |
( |
bool |
useTRT | ) |
|
◆ ~GNNVarCalc()
TauGNNUtils::GNNVarCalc::~GNNVarCalc |
( |
| ) |
|
|
default |
◆ compute() [1/3]
Definition at line 25 of file TauGNNUtils.cxx.
30 }
catch (
const std::out_of_range &
e) {
37 bool success = func(tau,
out);
40 throw std::runtime_error(
"Error in scalar variable calculation");
◆ compute() [2/3]
Definition at line 45 of file TauGNNUtils.cxx.
47 std::vector<float>
out;
48 out.reserve(tracks.size());
53 func = m_track_map.at(
name);
54 }
catch (
const std::out_of_range &
e) {
56 throw std::runtime_error(
"Variable '" +
name +
"' not defined");
62 for (
const auto *
const trk : tracks) {
63 success = success && func(tau, *trk,
value);
68 throw std::runtime_error(
"Error in track variable calculation");
◆ compute() [3/3]
Definition at line 73 of file TauGNNUtils.cxx.
75 std::vector<float>
out;
82 }
catch (
const std::out_of_range &
e) {
91 success = success && func(tau, cluster,
value);
96 throw std::runtime_error(
"Error in cluster variable calculation");
◆ initialize_map()
void TauGNNUtils::GNNVarCalc::initialize_map |
( |
bool |
useTRT | ) |
|
|
staticprivate |
◆ initMessaging()
void AthMessaging::initMessaging |
( |
| ) |
const |
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
◆ msg() [1/2]
MsgStream & asg::AsgMessaging::msg |
( |
| ) |
const |
|
inherited |
The standard message stream.
- Returns
- A reference to the default message stream of this object.
Definition at line 49 of file AsgMessaging.cxx.
50 #ifndef XAOD_STANDALONE
52 #else // not XAOD_STANDALONE
54 #endif // not XAOD_STANDALONE
◆ msg() [2/2]
MsgStream & asg::AsgMessaging::msg |
( |
const MSG::Level |
lvl | ) |
const |
|
inherited |
The standard message stream.
- Parameters
-
lvl | The message level to set the stream to |
- Returns
- A reference to the default message stream, set to level "lvl"
Definition at line 57 of file AsgMessaging.cxx.
58 #ifndef XAOD_STANDALONE
60 #else // not XAOD_STANDALONE
63 #endif // not XAOD_STANDALONE
◆ msgLvl()
bool asg::AsgMessaging::msgLvl |
( |
const MSG::Level |
lvl | ) |
const |
|
inherited |
Test the output level of the object.
- Parameters
-
lvl | The message level to test against |
- Returns
- boolean Indicting if messages at given level will be printed
-
true
If messages at level "lvl" will be printed
Definition at line 41 of file AsgMessaging.cxx.
42 #ifndef XAOD_STANDALONE
43 return ::AthMessaging::msgLvl( lvl );
44 #else // not XAOD_STANDALONE
45 return m_msg.msgLevel( lvl );
46 #endif // not XAOD_STANDALONE
◆ setLevel()
void AthMessaging::setLevel |
( |
MSG::Level |
lvl | ) |
|
|
inherited |
◆ ATLAS_THREAD_SAFE
std::unordered_map<std::string, TrackCalc> m_track_map TauGNNUtils::GNNVarCalc::ATLAS_THREAD_SAFE |
|
inlinestaticprivate |
◆ m_cluster_map
const std::unordered_map<std::string, ClusterCalc> TauGNNUtils::GNNVarCalc::m_cluster_map |
|
inlinestaticprivate |
◆ m_imsg
std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr } |
|
mutableprivateinherited |
◆ m_init_flag
std::once_flag TauGNNUtils::GNNVarCalc::m_init_flag |
|
inlinestaticprivate |
◆ m_lvl
std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL } |
|
mutableprivateinherited |
◆ m_msg_tls
boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
◆ m_nm
std::string AthMessaging::m_nm |
|
privateinherited |
◆ m_scalar_map
const std::unordered_map<std::string, ScalarCalc> TauGNNUtils::GNNVarCalc::m_scalar_map |
|
inlinestaticprivate |
The documentation for this class was generated from the following files:
std::atomic< MSG::Level > m_lvl
Current logging level.
bool nIBLHitsAndExp(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool pt_jetseed_log(const xAOD::TauJet &tau, const xAOD::TauTrack &, float &out)
bool e(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
bool d0SigTJVA(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool dRmax(const xAOD::TauJet &tau, float &out)
bool z0sinThetaTJVA_abs_log(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool nPixelHitsPlusDeadSensors(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
std::function< bool(const xAOD::TauJet &, const xAOD::TauTrack &, float &)> TrackCalc
bool etOverPtLeadTrk(const xAOD::TauJet &tau, float &out)
bool d0_abs_log(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool pt(const xAOD::TauJet &tau, float &out)
static std::once_flag m_init_flag
bool z0sinthetaSigTJVA(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool dPhi(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
bool centFrac(const xAOD::TauJet &tau, float &out)
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
IMessageSvc * getMessageSvc(bool quiet=false)
std::function< bool(const xAOD::TauJet &, float &)> ScalarCalc
bool nSCTHits(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool ptRatioEflowApprox(const xAOD::TauJet &tau, float &out)
bool sumEMCellEtOverLeadTrkPt(const xAOD::TauJet &tau, float &out)
bool trackPhi(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool numberOfInnermostPixelLayerHits(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool eProbabilityHT(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool trackPt(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool SECOND_LAMBDA(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
bool isolFrac(const xAOD::TauJet &tau, float &out)
bool dEtaJetSeedAxis(const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out)
bool dEta(const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out)
bool massTrkSys(const xAOD::TauJet &tau, float &out)
bool SECOND_R(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
static void initialize_map(bool useTRT)
bool mEflowApprox(const xAOD::TauJet &tau, float &out)
bool absipSigLeadTrk(const xAOD::TauJet &tau, float &out)
bool pt_tau_log(const xAOD::TauJet &tau, const xAOD::TauTrack &, float &out)
Class mimicking the AthMessaging class from the offline software.
bool nPixelHits(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool pt_log(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool EMPOverTrkSysP(const xAOD::TauJet &tau, float &out)
bool dEta(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
std::string m_nm
Message source name.
bool dPhi(const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out)
bool nSCTHitsPlusDeadSensors(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
static const std::unordered_map< std::string, ClusterCalc > m_cluster_map
bool et(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
std::function< bool(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &, float &)> ClusterCalc
bool innerTrkAvgDist(const xAOD::TauJet &tau, float &out)
bool trFlightPathSig(const xAOD::TauJet &tau, float &out)
Evaluate cluster kinematics with a different vertex / signal state.
bool eProbabilityHT_noTRT(const xAOD::TauJet &, const xAOD::TauTrack &, float &out)
bool nInnermostPixelHits(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool trackEta(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool SumPtTrkFrac(const xAOD::TauJet &tau, float &out)
bool CENTER_LAMBDA(const xAOD::TauJet &, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
bool z0sinthetaTJVA(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
bool dPhiJetSeedAxis(const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out)
bool d0TJVA(const xAOD::TauJet &, const xAOD::TauTrack &track, float &out)
static const std::unordered_map< std::string, ScalarCalc > m_scalar_map