3#ifndef EDM4EIC_MutableTruthiness_H
4#define EDM4EIC_MutableTruthiness_H
13#include "edm4hep/MCParticle.h"
14#include "podio/RelationRange.h"
17#include "podio/utilities/MaybeSharedPtr.h"
21#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
22#include "nlohmann/json_fwd.hpp"
90 [[deprecated(
"use getTruthiness instead")]]
98 [[deprecated(
"use getAssociationContribution instead")]]
106 [[deprecated(
"use getUnassociatedMCParticlesContribution instead")]]
114 [[deprecated(
"use getUnassociatedRecoParticlesContribution instead")]]
122 std::vector<edm4eic::MCRecoParticleAssociation>::const_iterator
associations_begin()
const;
123 std::vector<edm4eic::MCRecoParticleAssociation>::const_iterator
associations_end()
const;
124 podio::RelationRange<edm4eic::MCRecoParticleAssociation>
getAssociations()
const;
149 void unlink() { m_obj = podio::utils::MaybeSharedPtr<TruthinessObj>{
nullptr}; }
164 friend std::hash<MutableTruthiness>;
168 swap(a.m_obj, b.m_obj);
175 podio::utils::MaybeSharedPtr<TruthinessObj> m_obj{
nullptr};
178#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
190 return std::hash<edm4eic::TruthinessObj*>{}(obj.m_obj.get());
Definition MCRecoParticleAssociation.h:47
Definition MutableTruthiness.h:38
std::vector< edm4eic::ReconstructedParticle >::const_iterator unassociatedRecoParticles_end() const
Definition MutableTruthiness.cc:159
friend class Truthiness
Definition MutableTruthiness.h:42
std::vector< edm4eic::TruthinessContribution >::const_iterator associationContributions_end() const
Definition MutableTruthiness.cc:195
const edm4eic::TruthinessContribution & getAssociationContribution() const
Access the Contribution from all associated particles.
Definition MutableTruthiness.cc:57
std::vector< edm4eic::TruthinessContribution >::const_iterator associationContributions_begin() const
Definition MutableTruthiness.cc:189
float getTruthiness() const
Access the Overall truthiness of the entire event.
Definition MutableTruthiness.cc:56
MutableTruthiness & operator=(MutableTruthiness other) &&=delete
podio::RelationRange< edm4eic::TruthinessContribution > getAssociationContributions() const
Definition MutableTruthiness.cc:212
void unlink()
disconnect from TruthinessObj instance
Definition MutableTruthiness.h:149
podio::RelationRange< edm4eic::MCRecoParticleAssociation > getAssociations() const
Definition MutableTruthiness.cc:104
std::vector< edm4hep::MCParticle >::const_iterator unassociatedMCParticles_begin() const
Definition MutableTruthiness.cc:117
float & unassociatedMCParticlesContribution()
Get reference to Contribution from unassociated MC particles.
Definition MutableTruthiness.cc:70
MutableTruthiness & operator=(MutableTruthiness other) &
copy-assignment operator
Definition MutableTruthiness.cc:29
std::vector< edm4eic::ReconstructedParticle >::const_iterator unassociatedRecoParticles_begin() const
Definition MutableTruthiness.cc:153
void setUnassociatedRecoParticlesContribution(const float unassociatedRecoParticlesContribution)
Set the Contribution from unassociated reconstructed particles.
Definition MutableTruthiness.cc:71
std::size_t associationContributions_size() const
Definition MutableTruthiness.cc:201
void setUnassociatedMCParticlesContribution(const float unassociatedMCParticlesContribution)
Set the Contribution from unassociated MC particles.
Definition MutableTruthiness.cc:68
std::size_t unassociatedMCParticles_size() const
Definition MutableTruthiness.cc:129
std::vector< edm4eic::MCRecoParticleAssociation >::const_iterator associations_end() const
Definition MutableTruthiness.cc:87
bool operator==(const MutableTruthiness &other) const
Definition MutableTruthiness.h:151
bool operator<(const MutableTruthiness &other) const
Definition MutableTruthiness.h:158
std::vector< edm4hep::MCParticle >::const_iterator unassociatedMCParticles_end() const
Definition MutableTruthiness.cc:123
std::vector< edm4eic::MCRecoParticleAssociation >::const_iterator associations_begin() const
Definition MutableTruthiness.cc:81
friend class TruthinessCollection
Definition MutableTruthiness.h:40
MutableTruthiness(const MutableTruthiness &other)=default
copy constructor
float & unassociatedRecoParticlesContribution()
Get reference to Contribution from unassociated reconstructed particles.
Definition MutableTruthiness.cc:73
MutableTruthiness()
default constructor
Definition MutableTruthiness.cc:18
void setTruthiness(const float truthiness)
Set the Overall truthiness of the entire event.
Definition MutableTruthiness.cc:62
const podio::ObjectID getObjectID() const
Definition MutableTruthiness.cc:229
edm4eic::TruthinessContribution & associationContribution()
Get reference to Contribution from all associated particles.
Definition MutableTruthiness.cc:67
bool isAvailable() const
check whether the object is actually available
Definition MutableTruthiness.cc:225
std::size_t associations_size() const
Definition MutableTruthiness.cc:93
friend void swap(MutableTruthiness &a, MutableTruthiness &b)
Definition MutableTruthiness.h:166
float getUnassociatedRecoParticlesContribution() const
Access the Contribution from unassociated reconstructed particles.
Definition MutableTruthiness.cc:59
std::size_t unassociatedRecoParticles_size() const
Definition MutableTruthiness.cc:165
void addToAssociationContributions(const edm4eic::TruthinessContribution &)
Definition MutableTruthiness.cc:184
podio::ObjectID id() const
Definition MutableTruthiness.h:160
MutableTruthiness clone(bool cloneRelations=true) const
Definition MutableTruthiness.cc:34
float getUnassociatedMCParticlesContribution() const
Access the Contribution from unassociated MC particles.
Definition MutableTruthiness.cc:58
~MutableTruthiness()=default
destructor
float & truthiness()
Get reference to Overall truthiness of the entire event.
Definition MutableTruthiness.cc:64
bool operator!=(const Truthiness &other) const
Definition MutableTruthiness.h:155
TruthinessCollection collection_type
Definition MutableTruthiness.h:46
void addToUnassociatedRecoParticles(const edm4eic::ReconstructedParticle &)
Definition MutableTruthiness.cc:148
bool operator!=(const MutableTruthiness &other) const
Definition MutableTruthiness.h:154
friend class TruthinessMutableCollectionIterator
Definition MutableTruthiness.h:41
podio::RelationRange< edm4eic::ReconstructedParticle > getUnassociatedRecoParticles() const
Definition MutableTruthiness.cc:176
void setAssociationContribution(const edm4eic::TruthinessContribution &associationContribution)
Set the Contribution from all associated particles.
Definition MutableTruthiness.cc:65
Truthiness object_type
Definition MutableTruthiness.h:45
void addToUnassociatedMCParticles(const edm4hep::MCParticle &)
Definition MutableTruthiness.cc:112
podio::RelationRange< edm4hep::MCParticle > getUnassociatedMCParticles() const
Definition MutableTruthiness.cc:140
void addToAssociations(const edm4eic::MCRecoParticleAssociation &)
Definition MutableTruthiness.cc:76
Definition ReconstructedParticle.h:54
Definition TruthinessCollection.h:137
Definition TruthinessContribution.h:18
Definition Truthiness.h:46
Definition CalorimeterHit.cc:17
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:150
std::size_t operator()(const edm4eic::MutableTruthiness &obj) const
Definition MutableTruthiness.h:189