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

#include <TruthD2Decorator.h>

Inheritance diagram for DerivationFramework::TruthD2Decorator:
Collaboration diagram for DerivationFramework::TruthD2Decorator:

Public Member Functions

virtual StatusCode initialize () override final
virtual StatusCode addBranches (const EventContext &ctx) const override final

Private Attributes

SG::ReadHandleKey< xAOD::JetContainerm_jetContainerKey {this, "JetContainerKey", "AntiKt10TruthTrimmedPtFrac5SmallR20Jets", "Name of jet container key for input"}
SG::WriteDecorHandleKey< xAOD::JetContainerm_decorationName {this, "DecorationName", m_jetContainerKey, "D2", "Decoration Name"}

Detailed Description

Definition at line 18 of file TruthD2Decorator.h.

Member Function Documentation

◆ addBranches()

StatusCode DerivationFramework::TruthD2Decorator::addBranches ( const EventContext & ctx) const
finaloverridevirtual

Definition at line 23 of file TruthD2Decorator.cxx.

24 {
25 // Event context
26
27 // Set up the decorators
28 SG::WriteDecorHandle< xAOD::JetContainer, float > decoratorD2(m_decorationName, ctx);
29
30 // Get the Large-R jet Container
31 SG::ReadHandle<xAOD::JetContainer> largeRjets(m_jetContainerKey, ctx);
32
33 if(!largeRjets.isValid()) {
34 ATH_MSG_ERROR ("Couldn't retrieve JetContainer with key " << m_jetContainerKey.key());
35 return StatusCode::FAILURE;
36 }
37
38 // loop over jet collection
39 for( const auto *jet: *largeRjets){
40 //get ECF
41 float ecf1 = jet->getAttribute<float>("ECF1");
42 float ecf2 = jet->getAttribute<float>("ECF2");
43 float ecf3 = jet->getAttribute<float>("ECF3");
44
45 //calculate D2 and decorate
46 float D2=-999;
47 if(std::abs(ecf2)>1e-8)
48 D2=ecf3 * std::pow(ecf1, 3.0) / std::pow(ecf2, 3.0);
49 decoratorD2(*jet) = D2;
50 }
51
52 return StatusCode::SUCCESS;
53 }
#define ATH_MSG_ERROR(x)
SG::ReadHandleKey< xAOD::JetContainer > m_jetContainerKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_decorationName

◆ initialize()

StatusCode DerivationFramework::TruthD2Decorator::initialize ( )
finaloverridevirtual

Definition at line 14 of file TruthD2Decorator.cxx.

15 {
16 ATH_CHECK(m_jetContainerKey.initialize());
17 ATH_CHECK(m_decorationName.initialize());
18
19 return StatusCode::SUCCESS;
20 }
#define ATH_CHECK
Evaluate an expression and check for errors.

Member Data Documentation

◆ m_decorationName

SG::WriteDecorHandleKey<xAOD::JetContainer> DerivationFramework::TruthD2Decorator::m_decorationName {this, "DecorationName", m_jetContainerKey, "D2", "Decoration Name"}
private

Definition at line 29 of file TruthD2Decorator.h.

30{this, "DecorationName", m_jetContainerKey, "D2", "Decoration Name"};

◆ m_jetContainerKey

SG::ReadHandleKey<xAOD::JetContainer> DerivationFramework::TruthD2Decorator::m_jetContainerKey {this, "JetContainerKey", "AntiKt10TruthTrimmedPtFrac5SmallR20Jets", "Name of jet container key for input"}
private

Definition at line 27 of file TruthD2Decorator.h.

28{this, "JetContainerKey", "AntiKt10TruthTrimmedPtFrac5SmallR20Jets", "Name of jet container key for input"};

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