ATLAS Offline Software
Loading...
Searching...
No Matches
JetIsolationTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5// JetIsolationTool.h
6//
7// Author: P-A. Delsart
8//
9
10#ifndef JetIsolationTool_H
11#define JetIsolationTool_H
12
66
67#include "AsgTools/AsgTool.h"
70#include "fastjet/PseudoJet.hh"
80
81namespace jet {
82
83namespace JetIsolation {
85}
86
87
88} // end namespace jet
89
90//**********************************************************************
91
93 virtual public IJetDecorator {
95
96public:
97
99
101 JetIsolationTool(const std::string &myname);
102
105
106 // Athena algtool Hooks
107 virtual StatusCode initialize() override;
108 virtual StatusCode finalize() override;
109
110 // Jet Modifier methods.
111 virtual StatusCode decorate(const xAOD::JetContainer& jets) const override;
112
113private:
114 Gaudi::Property<std::vector<std::string>> m_isolationCodes{this, "IsolationCalculations", {}, "Isolation calculations to be performed"};
115 Gaudi::Property<std::string> m_jetContainerName{this, "JetContainer", "", "SG key for the input jet container"};
116
117 SG::ReadHandleKey<xAOD::IParticleContainer> m_inputConstitKey{this, "InputConstitContainer", "", "Constituent container to read (should be configured automatically from a JetDefinition)"};
118
119
120 SG::WriteDecorHandleKeyArray<xAOD::JetContainer> m_decorKeys{this, "DecorationKeys", {}, "SG key for output momentum decoration (not to be configured manually!)"};
121
122 SG::ReadHandleKey<xAOD::EventShape> m_rhoKey{this, "RhoKey", "", "EventDensity for this jet collection. Required only if PtPUsub calculation is done"};
123
126 // and adapted to the jet object, see implementation)
127 std::vector<jet::JetIsolation::IsolationCalculator*> m_isoCalculators;
128
129
130
131};
132
133#endif
#define ASG_TOOL_CLASS0(CLASSNAME)
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Handle class for reading a decoration on an object.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Handle class for adding a decoration to an object.
Define a fast lookup map for points on the eta-phi cylinder and related utilities.
Interface for adding a decoration to a jet container.
SG::WriteDecorHandleKeyArray< xAOD::JetContainer > m_decorKeys
Gaudi::Property< std::vector< std::string > > m_isolationCodes
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
JetIsolationTool(const std::string &myname)
Ctor.
virtual ~JetIsolationTool()
Dtor.
Gaudi::Property< std::string > m_jetContainerName
std::vector< jet::JetIsolation::IsolationCalculator * > m_isoCalculators
the list of isolation calculation objects (they are actually used only as template objects from which...
SG::ReadHandleKey< xAOD::IParticleContainer > m_inputConstitKey
SG::ReadHandleKey< xAOD::EventShape > m_rhoKey
virtual StatusCode finalize() override
virtual StatusCode decorate(const xAOD::JetContainer &jets) const override
Decorate a jet collection without otherwise modifying it.
Property holding a SG store/key/clid from which a ReadHandle is made.
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
IsolationCalculator : base class for isolation calculations Implementations of this class encapsulate...
DecorHandleKeyArray< WriteDecorHandle< T, S >, WriteDecorHandleKey< T >, Gaudi::DataHandle::Writer > WriteDecorHandleKeyArray
JetContainer_v1 JetContainer
Definition of the current "jet container version".