ATLAS Offline Software
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"
77 #include "xAODJet/JetContainer.h"
80 
81 namespace jet {
82 
83 namespace JetIsolation {
84  class IsolationCalculator;
85 }
86 
87 
88 } // end namespace jet
89 
90 //**********************************************************************
91 
93  virtual public IJetDecorator {
95 
96 public:
97 
99 
101  JetIsolationTool(const std::string &myname);
102 
104  virtual ~JetIsolationTool();
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 
113 private:
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
JetIsolationTool::m_decorKeys
SG::WriteDecorHandleKeyArray< xAOD::JetContainer > m_decorKeys
Definition: JetIsolationTool.h:120
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
ReadDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
JetIsolationTool::~JetIsolationTool
virtual ~JetIsolationTool()
Dtor.
EventShape.h
IJetDecorator
Interface for adding a decoration to a jet container.
Definition: IJetDecorator.h:21
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
IJetDecorator.h
TiledEtaPhiMap.h
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
WriteDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
JetIsolationTool::m_inputConstitKey
SG::ReadHandleKey< xAOD::IParticleContainer > m_inputConstitKey
Definition: JetIsolationTool.h:117
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IParticleContainer.h
ASG_TOOL_CLASS0
#define ASG_TOOL_CLASS0(CLASSNAME)
Definition: AsgToolMacros.h:62
WriteDecorHandle.h
Handle class for adding a decoration to an object.
JetIsolationTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: JetIsolationTool.cxx:268
JetIsolationTool::finalize
virtual StatusCode finalize() override
Definition: JetIsolationTool.cxx:437
IConstituentUserInfo.h
JetIsolationTool::m_isolationCodes
Gaudi::Property< std::vector< std::string > > m_isolationCodes
Definition: JetIsolationTool.h:114
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
JetIsolationTool::JetIsolationTool
JetIsolationTool(const std::string &myname)
Ctor.
Definition: JetIsolationTool.cxx:257
jet::JetIsolation::IsolationCalculator
IsolationCalculator : base class for isolation calculations Implementations of this class encapsulate...
Definition: JetIsolationTool.cxx:33
JetContainer.h
WriteDecorHandleKeyArray.h
ReadDecorHandle.h
Handle class for reading a decoration on an object.
JetIsolationTool::m_rhoKey
SG::ReadHandleKey< xAOD::EventShape > m_rhoKey
Definition: JetIsolationTool.h:122
defineDB.jets
list jets
Definition: JetTagCalibration/share/defineDB.py:24
JetIsolationTool::m_isoCalculators
std::vector< jet::JetIsolation::IsolationCalculator * > m_isoCalculators
the list of isolation calculation objects (they are actually used only as template objects from which...
Definition: JetIsolationTool.h:127
AsgTool.h
JetIsolationTool::m_jetContainerName
Gaudi::Property< std::string > m_jetContainerName
Definition: JetIsolationTool.h:115
JetIsolationTool
Definition: JetIsolationTool.h:93
JetIsolationTool::decorate
virtual StatusCode decorate(const xAOD::JetContainer &jets) const override
Decorate a jet collection without otherwise modifying it.
Definition: JetIsolationTool.cxx:346