#include <HbbTag.h>
Definition at line 22 of file HbbTag.h.
◆ Decorator
◆ JetLink
◆ NodeWriter
◆ PartLink
◆ Pg
◆ HbbTag() [1/2]
Definition at line 49 of file HbbTag.cxx.
55 namespace fs = std::filesystem;
60 if (nn_path.empty()) {
61 throw std::runtime_error(
62 "no file found at '" +
config.input_file_path.string() +
"'");
65 std::ifstream input_stream(nn_path.string());
67 m_graph.reset(
new lwt::LightweightGraph(graph_cfg));
72 for (
const std::string&
key:
keys.fatjet) {
75 for (
const std::string&
key:
keys.subjet) {
82 for (
const auto&
output: graph_cfg.outputs) {
83 const std::string& node_name =
output.first;
84 const lwt::OutputNodeConfig&
node =
output.second;
87 std::string write_name = node_name +
"_" +
varname;
88 node_writer.emplace_back(
varname, write_name);
90 m_outputs.emplace_back(node_name, node_writer);
◆ HbbTag() [2/2]
FlavorTagDiscriminants::HbbTag::HbbTag |
( |
HbbTag && |
| ) |
|
|
default |
◆ ~HbbTag()
FlavorTagDiscriminants::HbbTag::~HbbTag |
( |
| ) |
|
◆ decorate()
void FlavorTagDiscriminants::HbbTag::decorate |
( |
const xAOD::Jet & |
jet | ) |
const |
Definition at line 96 of file HbbTag.cxx.
97 namespace hk = hbb_key;
103 std::vector<const xAOD::IParticle*> subjets;
105 if (!
parent)
throw std::runtime_error(
"can't resolve parent jet");
108 if (!
subjet)
throw std::runtime_error(
"can't resolve subjet link");
110 subjets.push_back(
subjet);
113 std::sort(subjets.begin(), subjets.end(),
114 [](
auto*
a,
auto*
b) { return a->pt() > b->pt(); });
117 for (
size_t jet_n = 0; jet_n < n_jets; jet_n++) {
118 const auto*
subjet =
dynamic_cast<const xAOD::Jet*
>(subjets.at(jet_n));
119 if (!
subjet)
throw std::runtime_error(
"IParticle is not a Jet");
122 requireOverwrite(
inputs.at(subjet_name),getter(*
subjet));
129 for (
const auto& var_writer:
node.second) {
130 var_writer.second(
jet) =
result.at(var_writer.first);
◆ m_defaults
std::map<std::string, std::map<std::string,double> > FlavorTagDiscriminants::HbbTag::m_defaults |
|
private |
◆ m_fat_jet_getters
std::vector<Pg> FlavorTagDiscriminants::HbbTag::m_fat_jet_getters |
|
private |
◆ m_graph
std::unique_ptr<lwt::LightweightGraph> FlavorTagDiscriminants::HbbTag::m_graph |
|
private |
◆ m_min_subjet_pt
double FlavorTagDiscriminants::HbbTag::m_min_subjet_pt |
|
private |
◆ m_n_subjets
size_t FlavorTagDiscriminants::HbbTag::m_n_subjets |
|
private |
◆ m_outputs
std::vector<std::pair<std::string, NodeWriter> > FlavorTagDiscriminants::HbbTag::m_outputs |
|
private |
◆ m_parent_link
◆ m_subjet_getters
std::vector<Pg> FlavorTagDiscriminants::HbbTag::m_subjet_getters |
|
private |
◆ m_subjet_link_getter
The documentation for this class was generated from the following files:
Class providing the definition of the 4-vector interface.
void sort(typename std::reverse_iterator< DataModel_detail::iterator< DVL > > beg, typename std::reverse_iterator< DataModel_detail::iterator< DVL > > end, const Compare &comp)
Specialization of sort for DataVector/List.