ATLAS Offline Software
Loading...
Searching...
No Matches
IMCTruthClassifier Class Referenceabstract

#include <IMCTruthClassifier.h>

Inheritance diagram for IMCTruthClassifier:
Collaboration diagram for IMCTruthClassifier:

Classes

class  Info

Public Member Functions

virtual ~IMCTruthClassifier ()=default
 Virtual destructor.
virtual const xAOD::TruthParticlegetGenPart (const xAOD::TrackParticle *, IMCTruthClassifier::Info *info=nullptr) const =0
virtual const xAOD::TruthParticleegammaClusMatch (const xAOD::CaloCluster *, bool, IMCTruthClassifier::Info *info=nullptr) const =0
std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOriginparticleHepMCTruthClassifier (const HepMcParticleLink &theLink) const
std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOriginparticleTruthClassifier (const xAOD::Jet *p, bool DR) const
template<typename T>
std::tuple< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOrigin, const xAOD::TruthParticle *, MCTruthPartClassifier::ParticleOutComeparticleTruthClassifier_full (const T *p, std::optional< std::reference_wrapper< const EventContext > > ctx=std::nullopt) const
 Returns more info than the particleTruthClassifier.
template<typename T>
std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOriginparticleTruthClassifier (const T *p, std::optional< std::reference_wrapper< const EventContext > > ctx=std::nullopt) const
virtual void print () const =0
 Print the state of the tool.

Protected Member Functions

virtual std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOriginparticleTruthClassifier (const xAOD::TruthParticle *, IMCTruthClassifier::Info *info) const =0
virtual std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOriginparticleHepMCTruthClassifier (const HepMcParticleLink &theLink, IMCTruthClassifier::Info *info) const =0
virtual std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOriginparticleTruthClassifier (const xAOD::TrackParticle *, IMCTruthClassifier::Info *info) const =0
virtual std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOriginparticleTruthClassifier (const xAOD::Electron *, IMCTruthClassifier::Info *info) const =0
virtual std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOriginparticleTruthClassifier (const xAOD::Photon *, IMCTruthClassifier::Info *info) const =0
virtual std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOriginparticleTruthClassifier (const xAOD::Muon *, IMCTruthClassifier::Info *info) const =0
virtual std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOriginparticleTruthClassifier (const xAOD::CaloCluster *, IMCTruthClassifier::Info *info) const =0
virtual std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOriginparticleTruthClassifier (const xAOD::Jet *, bool DR, IMCTruthClassifier::Info *info) const =0

Detailed Description

Definition at line 43 of file IMCTruthClassifier.h.

Constructor & Destructor Documentation

◆ ~IMCTruthClassifier()

virtual IMCTruthClassifier::~IMCTruthClassifier ( )
virtualdefault

Virtual destructor.

Member Function Documentation

◆ egammaClusMatch()

virtual const xAOD::TruthParticle * IMCTruthClassifier::egammaClusMatch ( const xAOD::CaloCluster * ,
bool ,
IMCTruthClassifier::Info * info = nullptr ) const
pure virtual

Implemented in MCTruthClassifier.

◆ getGenPart()

virtual const xAOD::TruthParticle * IMCTruthClassifier::getGenPart ( const xAOD::TrackParticle * ,
IMCTruthClassifier::Info * info = nullptr ) const
pure virtual

Implemented in MCTruthClassifier.

◆ particleHepMCTruthClassifier() [1/2]

std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOrigin > IMCTruthClassifier::particleHepMCTruthClassifier ( const HepMcParticleLink & theLink) const
inline

Definition at line 120 of file IMCTruthClassifier.h.

120{return particleHepMCTruthClassifier(theLink, nullptr); }
virtual std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOrigin > particleHepMCTruthClassifier(const HepMcParticleLink &theLink, IMCTruthClassifier::Info *info) const =0

◆ particleHepMCTruthClassifier() [2/2]

virtual std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOrigin > IMCTruthClassifier::particleHepMCTruthClassifier ( const HepMcParticleLink & theLink,
IMCTruthClassifier::Info * info ) const
protectedpure virtual

Implemented in MCTruthClassifier.

◆ particleTruthClassifier() [1/9]

template<typename T>
std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOrigin > IMCTruthClassifier::particleTruthClassifier ( const T * p,
std::optional< std::reference_wrapper< const EventContext > > ctx = std::nullopt ) const
inline

Definition at line 162 of file IMCTruthClassifier.h.

163 {
164 if (!ctx) return particleTruthClassifier(p, nullptr);
165 IMCTruthClassifier::Info info(ctx->get());
166 return particleTruthClassifier(p, &info);
167 }
virtual std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOrigin > particleTruthClassifier(const xAOD::TruthParticle *, IMCTruthClassifier::Info *info) const =0

◆ particleTruthClassifier() [2/9]

virtual std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOrigin > IMCTruthClassifier::particleTruthClassifier ( const xAOD::CaloCluster * ,
IMCTruthClassifier::Info * info ) const
protectedpure virtual

◆ particleTruthClassifier() [3/9]

virtual std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOrigin > IMCTruthClassifier::particleTruthClassifier ( const xAOD::Electron * ,
IMCTruthClassifier::Info * info ) const
protectedpure virtual

◆ particleTruthClassifier() [4/9]

virtual std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOrigin > IMCTruthClassifier::particleTruthClassifier ( const xAOD::Jet * ,
bool DR,
IMCTruthClassifier::Info * info ) const
protectedpure virtual

◆ particleTruthClassifier() [5/9]

std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOrigin > IMCTruthClassifier::particleTruthClassifier ( const xAOD::Jet * p,
bool DR ) const
inline

Definition at line 147 of file IMCTruthClassifier.h.

147{return particleTruthClassifier(p, DR, nullptr); }

◆ particleTruthClassifier() [6/9]

virtual std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOrigin > IMCTruthClassifier::particleTruthClassifier ( const xAOD::Muon * ,
IMCTruthClassifier::Info * info ) const
protectedpure virtual

◆ particleTruthClassifier() [7/9]

virtual std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOrigin > IMCTruthClassifier::particleTruthClassifier ( const xAOD::Photon * ,
IMCTruthClassifier::Info * info ) const
protectedpure virtual

◆ particleTruthClassifier() [8/9]

virtual std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOrigin > IMCTruthClassifier::particleTruthClassifier ( const xAOD::TrackParticle * ,
IMCTruthClassifier::Info * info ) const
protectedpure virtual

◆ particleTruthClassifier() [9/9]

virtual std::pair< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOrigin > IMCTruthClassifier::particleTruthClassifier ( const xAOD::TruthParticle * ,
IMCTruthClassifier::Info * info ) const
protectedpure virtual

◆ particleTruthClassifier_full()

template<typename T>
std::tuple< MCTruthPartClassifier::ParticleType, MCTruthPartClassifier::ParticleOrigin, const xAOD::TruthParticle *, MCTruthPartClassifier::ParticleOutCome > IMCTruthClassifier::particleTruthClassifier_full ( const T * p,
std::optional< std::reference_wrapper< const EventContext > > ctx = std::nullopt ) const
inline

Returns more info than the particleTruthClassifier.

Definition at line 155 of file IMCTruthClassifier.h.

155 {
156 IMCTruthClassifier::Info info = ctx ? IMCTruthClassifier::Info(ctx->get()) : IMCTruthClassifier::Info();
157 auto classification = particleTruthClassifier(p, &info);
158 return {classification.first,classification.second,info.genPart,info.particleOutCome};
159 }

◆ print()


The documentation for this class was generated from the following file: