ATLAS Offline Software
Loading...
Searching...
No Matches
DerivationFramework::HIJetAugmentationTool Class Reference

#include <HIJetAugmentationTool.h>

Inheritance diagram for DerivationFramework::HIJetAugmentationTool:
Collaboration diagram for DerivationFramework::HIJetAugmentationTool:

Public Member Functions

 HIJetAugmentationTool (const std::string &t, const std::string &n, const IInterface *p)
 ~HIJetAugmentationTool ()
StatusCode initialize ()
StatusCode finalize ()
virtual StatusCode addBranches (const EventContext &ctx) const

Private Attributes

Gaudi::Property< float > m_deltaR
SG::ReadHandleKey< xAOD::EventInfom_eventInfoKey
SG::ReadHandleKey< xAOD::JetContainerm_hiJet_key
SG::ReadHandleKey< xAOD::JetContainerm_caloJet_key
PublicToolHandle< IJetUpdateJvtm_jvtUpdateTool
 JVT update tool.
SG::WriteDecorHandleKey< xAOD::JetContainerm_jvtMatchedKey

Detailed Description

Definition at line 26 of file HIJetAugmentationTool.h.

Constructor & Destructor Documentation

◆ HIJetAugmentationTool()

DerivationFramework::HIJetAugmentationTool::HIJetAugmentationTool ( const std::string & t,
const std::string & n,
const IInterface * p )

Definition at line 11 of file HIJetAugmentationTool.cxx.

13 : base_class(t,n,p)
14 {
15 }

◆ ~HIJetAugmentationTool()

DerivationFramework::HIJetAugmentationTool::~HIJetAugmentationTool ( )

Definition at line 18 of file HIJetAugmentationTool.cxx.

19 {
20 }

Member Function Documentation

◆ addBranches()

StatusCode DerivationFramework::HIJetAugmentationTool::addBranches ( const EventContext & ctx) const
virtual

Definition at line 53 of file HIJetAugmentationTool.cxx.

53 {
54 SG::ReadHandle<xAOD::EventInfo> eventInfo(m_eventInfoKey, ctx);
55
56 // Load jet containers
57 SG::ReadHandle<xAOD::JetContainer> hiJets(m_hiJet_key, ctx);
58 if (!hiJets.isValid()) {
59 ATH_MSG_ERROR("Couldn't retrieve JetContainer with key " << m_hiJet_key);
60 return StatusCode::FAILURE;
61 }
62 SG::ReadHandle<xAOD::JetContainer> caloJets(m_caloJet_key, ctx);
63 if (!caloJets.isValid()) {
64 ATH_MSG_ERROR("Couldn't retrieve JetContainer with key "
65 << m_caloJet_key);
66 return StatusCode::FAILURE;
67 }
68
69 SG::WriteDecorHandle<xAOD::JetContainer, float> jvtMatchedHandle(m_jvtMatchedKey,ctx);
70
71 // first loop over calibrated HI jets
72 for (const auto *hjet : *hiJets) {
73 float mindR = 999.;
74 float matchedJvt = -1;
75 // second loop over topo jets
76 for (const auto *tjet : *caloJets) {
77 float newjvt = m_jvtUpdateTool->updateJvt(*tjet);
78
79 // perform the matching
80 float dR =
81 deltaR(tjet->eta(), hjet->eta(), hjet->phi(), tjet->phi());
82
83 if (dR < m_deltaR.value() && dR < mindR) {
84 mindR = dR;
85 matchedJvt = newjvt;
86 }
87 }
88
89 if (mindR < m_deltaR.value()) {
90 (jvtMatchedHandle)(*hjet) = matchedJvt;
91 } else {
92 (jvtMatchedHandle)(*hjet) = -1;
93 }
94
95 }
96
97 return StatusCode::SUCCESS;
98 }
#define ATH_MSG_ERROR(x)
PublicToolHandle< IJetUpdateJvt > m_jvtUpdateTool
JVT update tool.
SG::WriteDecorHandleKey< xAOD::JetContainer > m_jvtMatchedKey
SG::ReadHandleKey< xAOD::JetContainer > m_caloJet_key
SG::ReadHandleKey< xAOD::JetContainer > m_hiJet_key
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
double deltaR(double eta1, double eta2, double phi1, double phi2)

◆ finalize()

StatusCode DerivationFramework::HIJetAugmentationTool::finalize ( )

Definition at line 39 of file HIJetAugmentationTool.cxx.

40 {
41
42 ATH_CHECK(m_jvtUpdateTool->finalize());
43
44 return StatusCode::SUCCESS;
45 }
#define ATH_CHECK
Evaluate an expression and check for errors.

◆ initialize()

StatusCode DerivationFramework::HIJetAugmentationTool::initialize ( )

Definition at line 23 of file HIJetAugmentationTool.cxx.

24 {
25 ATH_CHECK(m_eventInfoKey.initialize());
26 ATH_CHECK(m_hiJet_key.initialize());
27 ATH_CHECK(m_caloJet_key.initialize());
28 ATH_CHECK(m_jvtUpdateTool.retrieve());
29
30 m_jvtMatchedKey = m_hiJet_key.key() + "." + m_jvtMatchedKey.key();
31 ATH_CHECK(m_jvtMatchedKey.initialize());
32
33 ATH_MSG_INFO("DeltaRJetMatching = "<< m_deltaR.value());
34
35
36 return StatusCode::SUCCESS;
37 }
#define ATH_MSG_INFO(x)

Member Data Documentation

◆ m_caloJet_key

SG::ReadHandleKey<xAOD::JetContainer> DerivationFramework::HIJetAugmentationTool::m_caloJet_key
private
Initial value:
{
this, "CaloJetContainerKey", "AntiKt4EMTopoJets"}

Definition at line 47 of file HIJetAugmentationTool.h.

47 {
48 this, "CaloJetContainerKey", "AntiKt4EMTopoJets"};

◆ m_deltaR

Gaudi::Property<float> DerivationFramework::HIJetAugmentationTool::m_deltaR
private
Initial value:
{
this, "DeltaRJetMatching", 0.3,
"Maximum distance in eta-phi between two matched jets"}

Definition at line 40 of file HIJetAugmentationTool.h.

40 {
41 this, "DeltaRJetMatching", 0.3,
42 "Maximum distance in eta-phi between two matched jets"};

◆ m_eventInfoKey

SG::ReadHandleKey<xAOD::EventInfo> DerivationFramework::HIJetAugmentationTool::m_eventInfoKey
private
Initial value:
{this, "EventInfoKey",
"EventInfo", ""}

Definition at line 43 of file HIJetAugmentationTool.h.

43 {this, "EventInfoKey",
44 "EventInfo", ""};

◆ m_hiJet_key

SG::ReadHandleKey<xAOD::JetContainer> DerivationFramework::HIJetAugmentationTool::m_hiJet_key
private
Initial value:
{this, "HIJetContainerKey",
"AntiKt4HIJets"}

Definition at line 45 of file HIJetAugmentationTool.h.

45 {this, "HIJetContainerKey",
46 "AntiKt4HIJets"};

◆ m_jvtMatchedKey

SG::WriteDecorHandleKey<xAOD::JetContainer> DerivationFramework::HIJetAugmentationTool::m_jvtMatchedKey
private
Initial value:
{
this, "JVTMatchedName", "JvtMatched",
"SG Key for JVT AuxData"}

Definition at line 56 of file HIJetAugmentationTool.h.

56 {
57 this, "JVTMatchedName", "JvtMatched",
58 "SG Key for JVT AuxData"};

◆ m_jvtUpdateTool

PublicToolHandle<IJetUpdateJvt> DerivationFramework::HIJetAugmentationTool::m_jvtUpdateTool
private
Initial value:
{
this, "JVTToolEMTopo", "JetVertexTaggerTool",
"JVT tool for EMTopo jets"}

JVT update tool.

Definition at line 51 of file HIJetAugmentationTool.h.

51 {
52 this, "JVTToolEMTopo", "JetVertexTaggerTool",
53 "JVT tool for EMTopo jets"};

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