ATLAS Offline Software
Loading...
Searching...
No Matches
VRJetOverlapDecorator Class Reference

#include <VRJetOverlapDecorator.h>

Collaboration diagram for VRJetOverlapDecorator:

Public Member Functions

 VRJetOverlapDecorator (const VRJetOverlapConfig &=VRJetOverlapConfig())
void decorate (const xAOD::JetContainer &jets) const

Private Attributes

VRJetParameters m_param_source
SG::AuxElement::Decorator< float > m_rel_decorator
SG::AuxElement::Decorator< float > m_abs_decorator
SG::AuxElement::ConstAccessor< float > m_min_radius
SG::AuxElement::ConstAccessor< float > m_max_radius
SG::AuxElement::ConstAccessor< float > m_mass_scale

Detailed Description

Definition at line 18 of file VRJetOverlapDecorator.h.

Constructor & Destructor Documentation

◆ VRJetOverlapDecorator()

VRJetOverlapDecorator::VRJetOverlapDecorator ( const VRJetOverlapConfig & cfg = VRJetOverlapConfig())

Definition at line 68 of file VRJetOverlapDecorator.cxx.

68 :
69 m_param_source(cfg.jet_parameters_source),
70 m_rel_decorator(cfg.relative_name),
71 m_abs_decorator(cfg.absolute_name),
72 m_min_radius("VariableRMinRadius"),
73 m_max_radius("SizeParameter"),
74 m_mass_scale("VariableRMassScale")
75{
76}
SG::AuxElement::Decorator< float > m_rel_decorator
SG::AuxElement::ConstAccessor< float > m_mass_scale
SG::AuxElement::ConstAccessor< float > m_min_radius
SG::AuxElement::Decorator< float > m_abs_decorator
SG::AuxElement::ConstAccessor< float > m_max_radius

Member Function Documentation

◆ decorate()

void VRJetOverlapDecorator::decorate ( const xAOD::JetContainer & jets) const

Definition at line 78 of file VRJetOverlapDecorator.cxx.

78 {
79 // if no jet is present, do nothing
80 if (jets.empty() && m_param_source == VRJetParameters::EDM) return;
81
82 VRConfig cfg;
84 // we'll assume all the jets have the same parameters, I don't
85 // know of counterexamples but if they exist we'd have to rethink
86 // all the code here.
87 const xAOD::Jet* jet = jets.at(0);
88 cfg.min = m_min_radius(*jet);
89 cfg.max = m_max_radius(*jet);
90 cfg.scale = m_mass_scale(*jet);
92 // right now we only have one set of VR jets where we'd use this
93 // tool thus the hardcoded numbers here.
94 cfg.min = 0.02;
95 cfg.max = 0.4;
96 cfg.scale = 30e3;
97 } else {
98 throw std::logic_error("unknown jet parameter lookup");
99 }
100 auto min_dr = getMinimumRelativeDR(jets, cfg);
101 for (size_t iii = 0; iii < jets.size(); iii++) {
102 const xAOD::Jet* jet = jets.at(iii);
103 const auto drs = min_dr.at(iii);
104 m_rel_decorator(*jet) = drs.relative;
105 m_abs_decorator(*jet) = drs.absolute;
106 }
107}
Jet_v1 Jet
Definition of the current "jet version".

Member Data Documentation

◆ m_abs_decorator

SG::AuxElement::Decorator<float> VRJetOverlapDecorator::m_abs_decorator
private

Definition at line 26 of file VRJetOverlapDecorator.h.

◆ m_mass_scale

SG::AuxElement::ConstAccessor<float> VRJetOverlapDecorator::m_mass_scale
private

Definition at line 29 of file VRJetOverlapDecorator.h.

◆ m_max_radius

SG::AuxElement::ConstAccessor<float> VRJetOverlapDecorator::m_max_radius
private

Definition at line 28 of file VRJetOverlapDecorator.h.

◆ m_min_radius

SG::AuxElement::ConstAccessor<float> VRJetOverlapDecorator::m_min_radius
private

Definition at line 27 of file VRJetOverlapDecorator.h.

◆ m_param_source

VRJetParameters VRJetOverlapDecorator::m_param_source
private

Definition at line 24 of file VRJetOverlapDecorator.h.

◆ m_rel_decorator

SG::AuxElement::Decorator<float> VRJetOverlapDecorator::m_rel_decorator
private

Definition at line 25 of file VRJetOverlapDecorator.h.


The documentation for this class was generated from the following files: