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"
110 std::vector<edm4eic::MCRecoParticleAssociation>::const_iterator
associations_begin()
const;
111 std::vector<edm4eic::MCRecoParticleAssociation>::const_iterator
associations_end()
const;
112 podio::RelationRange<edm4eic::MCRecoParticleAssociation>
getAssociations()
const;
137 void unlink() { m_obj = podio::utils::MaybeSharedPtr<TruthinessObj>{
nullptr}; }
152 friend std::hash<MutableTruthiness>;
156 swap(a.m_obj, b.m_obj);
163 podio::utils::MaybeSharedPtr<TruthinessObj> m_obj{
new TruthinessObj{}, podio::utils::MarkOwned};
166#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
178 return std::hash<edm4eic::TruthinessObj*>{}(obj.m_obj.get());
Definition MCRecoParticleAssociation.h:48
Definition MutableTruthiness.h:38
std::vector< edm4eic::ReconstructedParticle >::const_iterator unassociatedRecoParticles_end() const
Definition MutableTruthiness.cc:151
friend class Truthiness
Definition MutableTruthiness.h:42
std::vector< edm4eic::TruthinessContribution >::const_iterator associationContributions_end() const
Definition MutableTruthiness.cc:187
MutableTruthiness()=default
default constructor
const edm4eic::TruthinessContribution & getAssociationContribution() const
Access the Contribution from all associated particles.
Definition MutableTruthiness.cc:53
std::vector< edm4eic::TruthinessContribution >::const_iterator associationContributions_begin() const
Definition MutableTruthiness.cc:181
float getTruthiness() const
Access the Overall truthiness of the entire event.
Definition MutableTruthiness.cc:52
MutableTruthiness & operator=(MutableTruthiness other) &&=delete
podio::RelationRange< edm4eic::TruthinessContribution > getAssociationContributions() const
Definition MutableTruthiness.cc:204
void unlink()
disconnect from TruthinessObj instance
Definition MutableTruthiness.h:137
podio::RelationRange< edm4eic::MCRecoParticleAssociation > getAssociations() const
Definition MutableTruthiness.cc:96
std::vector< edm4hep::MCParticle >::const_iterator unassociatedMCParticles_begin() const
Definition MutableTruthiness.cc:109
MutableTruthiness & operator=(MutableTruthiness other) &
copy-assignment operator
Definition MutableTruthiness.cc:25
std::vector< edm4eic::ReconstructedParticle >::const_iterator unassociatedRecoParticles_begin() const
Definition MutableTruthiness.cc:145
void setUnassociatedRecoParticlesContribution(const float unassociatedRecoParticlesContribution)
Set the Contribution from unassociated reconstructed particles.
Definition MutableTruthiness.cc:64
std::size_t associationContributions_size() const
Definition MutableTruthiness.cc:193
void setUnassociatedMCParticlesContribution(const float unassociatedMCParticlesContribution)
Set the Contribution from unassociated MC particles.
Definition MutableTruthiness.cc:62
std::size_t unassociatedMCParticles_size() const
Definition MutableTruthiness.cc:121
std::vector< edm4eic::MCRecoParticleAssociation >::const_iterator associations_end() const
Definition MutableTruthiness.cc:79
bool operator<(const MutableTruthiness &other) const
Definition MutableTruthiness.h:146
std::vector< edm4hep::MCParticle >::const_iterator unassociatedMCParticles_end() const
Definition MutableTruthiness.cc:115
std::vector< edm4eic::MCRecoParticleAssociation >::const_iterator associations_begin() const
Definition MutableTruthiness.cc:73
friend class TruthinessCollection
Definition MutableTruthiness.h:40
MutableTruthiness(const MutableTruthiness &other)=default
copy constructor
void setTruthiness(const float truthiness)
Set the Overall truthiness of the entire event.
Definition MutableTruthiness.cc:58
const podio::ObjectID getObjectID() const
Definition MutableTruthiness.cc:221
constexpr bool operator==(const MutableTruthiness &other) const
Definition MutableTruthiness.h:139
bool isAvailable() const
check whether the object is actually available
Definition MutableTruthiness.cc:217
constexpr bool operator!=(const MutableTruthiness &other) const
Definition MutableTruthiness.h:142
std::size_t associations_size() const
Definition MutableTruthiness.cc:85
friend void swap(MutableTruthiness &a, MutableTruthiness &b)
Definition MutableTruthiness.h:154
float getUnassociatedRecoParticlesContribution() const
Access the Contribution from unassociated reconstructed particles.
Definition MutableTruthiness.cc:55
std::size_t unassociatedRecoParticles_size() const
Definition MutableTruthiness.cc:157
void addToAssociationContributions(const edm4eic::TruthinessContribution &)
Definition MutableTruthiness.cc:176
podio::ObjectID id() const
Definition MutableTruthiness.h:148
MutableTruthiness clone(bool cloneRelations=true) const
Definition MutableTruthiness.cc:30
float getUnassociatedMCParticlesContribution() const
Access the Contribution from unassociated MC particles.
Definition MutableTruthiness.cc:54
~MutableTruthiness()=default
destructor
bool operator!=(const Truthiness &other) const
Definition MutableTruthiness.h:143
TruthinessCollection collection_type
Definition MutableTruthiness.h:46
void addToUnassociatedRecoParticles(const edm4eic::ReconstructedParticle &)
Definition MutableTruthiness.cc:140
friend class TruthinessMutableCollectionIterator
Definition MutableTruthiness.h:41
podio::RelationRange< edm4eic::ReconstructedParticle > getUnassociatedRecoParticles() const
Definition MutableTruthiness.cc:168
void setAssociationContribution(const edm4eic::TruthinessContribution &associationContribution)
Set the Contribution from all associated particles.
Definition MutableTruthiness.cc:60
Truthiness object_type
Definition MutableTruthiness.h:45
void addToUnassociatedMCParticles(const edm4hep::MCParticle &)
Definition MutableTruthiness.cc:104
podio::RelationRange< edm4hep::MCParticle > getUnassociatedMCParticles() const
Definition MutableTruthiness.cc:132
void addToAssociations(const edm4eic::MCRecoParticleAssociation &)
Definition MutableTruthiness.cc:68
Definition ReconstructedParticle.h:54
Definition TruthinessCollection.h:139
Definition TruthinessContribution.h:19
Definition Truthiness.h:46
Definition TruthinessObj.h:23
Definition ArrowMapper.cc:61
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:146
std::size_t operator()(const edm4eic::MutableTruthiness &obj) const
Definition MutableTruthiness.h:177