9#include "edm4hep/Vector3f.h"
10#include "podio/RelationRange.h"
14#include "podio/utilities/MaybeSharedPtr.h"
15#include "podio/detail/OrderKey.h"
20#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
21#include "nlohmann/json_fwd.hpp"
61 Jet(
const std::uint32_t type,
const float area,
const float energy,
const float backgroundEnergyDensity,
const edm4hep::Vector3f& momentum);
84 static constexpr std::string_view
typeName =
"edm4eic::Jet";
105 std::vector<edm4eic::ReconstructedParticle>::const_iterator
constituents_begin()
const;
106 std::vector<edm4eic::ReconstructedParticle>::const_iterator
constituents_end()
const;
107 podio::RelationRange<edm4eic::ReconstructedParticle>
getConstituents()
const;
116 void unlink() { m_obj = podio::utils::MaybeSharedPtr<JetObj>{
nullptr}; }
131 friend std::hash<Jet>;
135 swap(a.m_obj, b.m_obj);
140 explicit Jet(podio::utils::MaybeSharedPtr<JetObj> obj);
143 podio::utils::MaybeSharedPtr<JetObj> m_obj{
new JetObj{}, podio::utils::MarkOwned};
148#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
149void to_json(nlohmann::json& j,
const Jet& value);
160 return std::hash<edm4eic::JetObj*>{}(obj.m_obj.get());
168#if defined(__clang__)
169 #pragma clang diagnostic push
170 #pragma clang diagnostic ignored "-Wunknown-warning-option"
171 #pragma clang diagnostic ignored "-Wdeprecated-redundant-constexpr-static-def"
172 #pragma clang diagnostic ignored "-Wdeprecated"
174 #pragma clang diagnostic pop
175#elif defined(__GNUC__)
176 #pragma GCC diagnostic push
177 #pragma GCC diagnostic ignored "-Wdeprecated"
179 #pragma GCC diagnostic pop
Definition JetCollectionData.h:32
Definition JetCollection.h:138
bool operator!=(const MutableJet &other) const
Definition Jet.h:122
static Jet makeEmpty()
Definition Jet.cc:59
const podio::ObjectID getObjectID() const
Definition Jet.cc:110
JetCollection collection_type
Definition Jet.h:55
podio::ObjectID id() const
Definition Jet.h:127
std::vector< edm4eic::ReconstructedParticle >::const_iterator constituents_end() const
Definition Jet.cc:77
std::size_t constituents_size() const
Definition Jet.cc:83
Jet(const Jet &other)=default
copy constructor
MutableJet clone(bool cloneRelations=true) const
Definition Jet.cc:33
std::vector< edm4eic::ReconstructedParticle >::const_iterator constituents_begin() const
Definition Jet.cc:71
friend class JetCollectionIterator
Definition Jet.h:50
friend class MutableJet
Definition Jet.h:47
static constexpr std::string_view typeName
Definition Jet.h:84
Jet & operator=(Jet other) &&=delete
float getBackgroundEnergy() const
Compute the background energy in [GeV].
Definition Jet.h:110
void unlink()
disconnect from JetObj instance
Definition Jet.h:116
float getBackgroundEnergyDensity() const
Access the Background energy density [GeV/area].
Definition Jet.cc:66
friend class JetCollection
Definition Jet.h:48
float getEnergy() const
Access the Jet energy [GeV].
Definition Jet.cc:65
std::uint32_t getType() const
Access the Jet type as enumerated in fastjet::JetAlgorithm.
Definition Jet.cc:63
float getArea() const
Access the Jet area.
Definition Jet.cc:64
podio::RelationRange< edm4eic::ReconstructedParticle > getConstituents() const
Definition Jet.cc:94
MutableJet mutable_type
Definition Jet.h:54
Jet & operator=(Jet other) &
copy-assignment operator
Definition Jet.cc:28
friend void swap(Jet &a, Jet &b)
Definition Jet.h:133
bool operator!=(const Jet &other) const
Definition Jet.h:121
bool operator<(const Jet &other) const
Definition Jet.h:125
bool isAvailable() const
check whether the object is actually available
Definition Jet.cc:106
const edm4hep::Vector3f & getMomentum() const
Access the Jet 3-momentum [GeV].
Definition Jet.cc:67
bool operator==(const Jet &other) const
Definition Jet.h:118
Jet()=default
default constructor
Definition MutableJet.h:37
Definition ReconstructedParticle.h:54
Definition CalorimeterHit.cc:17
std::ostream & operator<<(std::ostream &o, const CalorimeterHit &value)
Definition CalorimeterHit.cc:99
Definition CalorimeterHit.h:31
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:146
std::size_t operator()(const edm4eic::Jet &obj) const
Definition Jet.h:159