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{
new TruthinessObj{}, podio::utils::MarkOwned};
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:155
friend class Truthiness
Definition MutableTruthiness.h:42
std::vector< edm4eic::TruthinessContribution >::const_iterator associationContributions_end() const
Definition MutableTruthiness.cc:191
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:185
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:208
void unlink()
disconnect from TruthinessObj instance
Definition MutableTruthiness.h:149
podio::RelationRange< edm4eic::MCRecoParticleAssociation > getAssociations() const
Definition MutableTruthiness.cc:100
std::vector< edm4hep::MCParticle >::const_iterator unassociatedMCParticles_begin() const
Definition MutableTruthiness.cc:113
float & unassociatedMCParticlesContribution()
Get reference to Contribution from unassociated MC particles.
Definition MutableTruthiness.cc:66
MutableTruthiness & operator=(MutableTruthiness other) &
copy-assignment operator
Definition MutableTruthiness.cc:25
std::vector< edm4eic::ReconstructedParticle >::const_iterator unassociatedRecoParticles_begin() const
Definition MutableTruthiness.cc:149
void setUnassociatedRecoParticlesContribution(const float unassociatedRecoParticlesContribution)
Set the Contribution from unassociated reconstructed particles.
Definition MutableTruthiness.cc:67
std::size_t associationContributions_size() const
Definition MutableTruthiness.cc:197
void setUnassociatedMCParticlesContribution(const float unassociatedMCParticlesContribution)
Set the Contribution from unassociated MC particles.
Definition MutableTruthiness.cc:64
std::size_t unassociatedMCParticles_size() const
Definition MutableTruthiness.cc:125
std::vector< edm4eic::MCRecoParticleAssociation >::const_iterator associations_end() const
Definition MutableTruthiness.cc:83
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:119
std::vector< edm4eic::MCRecoParticleAssociation >::const_iterator associations_begin() const
Definition MutableTruthiness.cc:77
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:69
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:225
edm4eic::TruthinessContribution & associationContribution()
Get reference to Contribution from all associated particles.
Definition MutableTruthiness.cc:63
bool isAvailable() const
check whether the object is actually available
Definition MutableTruthiness.cc:221
std::size_t associations_size() const
Definition MutableTruthiness.cc:89
friend void swap(MutableTruthiness &a, MutableTruthiness &b)
Definition MutableTruthiness.h:166
float getUnassociatedRecoParticlesContribution() const
Access the Contribution from unassociated reconstructed particles.
Definition MutableTruthiness.cc:55
std::size_t unassociatedRecoParticles_size() const
Definition MutableTruthiness.cc:161
void addToAssociationContributions(const edm4eic::TruthinessContribution &)
Definition MutableTruthiness.cc:180
podio::ObjectID id() const
Definition MutableTruthiness.h:160
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
float & truthiness()
Get reference to Overall truthiness of the entire event.
Definition MutableTruthiness.cc:60
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:144
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:172
void setAssociationContribution(const edm4eic::TruthinessContribution &associationContribution)
Set the Contribution from all associated particles.
Definition MutableTruthiness.cc:61
Truthiness object_type
Definition MutableTruthiness.h:45
void addToUnassociatedMCParticles(const edm4hep::MCParticle &)
Definition MutableTruthiness.cc:108
podio::RelationRange< edm4hep::MCParticle > getUnassociatedMCParticles() const
Definition MutableTruthiness.cc:136
void addToAssociations(const edm4eic::MCRecoParticleAssociation &)
Definition MutableTruthiness.cc:72
Definition ReconstructedParticle.h:54
Definition TruthinessCollection.h:138
Definition TruthinessContribution.h:19
Definition Truthiness.h:46
Definition TruthinessObj.h:23
Definition CalorimeterHit.cc:17
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:146
std::size_t operator()(const edm4eic::MutableTruthiness &obj) const
Definition MutableTruthiness.h:189