Belle II Software  release-08-01-10
CDCMCMap Class Reference

Class to organize and present the monte carlo hit information. More...

#include <CDCMCMap.h>

Collaboration diagram for CDCMCMap:

Public Member Functions

 CDCMCMap ()=default
 Default constructor, needs to be public for initialization in CDCMCManager.
 
CDCMCMapoperator= (const CDCMCMap &)=delete
 Delete the assignement operator in order to avoid accidental copies.
 
 CDCMCMap (CDCMCMap &)=delete
 For the same reason, also delete copy constructor.
 
void clear ()
 Clear all information from the former event.
 
void fill ()
 Fill the Monte Carlo information retrieved from the DataStore into the local multimaps.
 
MayBePtr< const CDCSimHitgetSimHit (const CDCHit *hit) const
 Seeks the CDCSimHit related to the CDCHit.
 
MayBePtr< const CDCHitgetHit (const CDCSimHit *simHit) const
 Seeks the CDCHit related to the CDCSimHit - nullptr if no CDCHit is related.
 
bool isBackground (const CDCSimHit *simHit) const
 Indicates if the CDCSimHit is considered background.
 
bool isBackground (const CDCHit *hit) const
 Indicates if the CDCSimHit is considered background.
 
MayBePtr< const MCParticlegetMCParticle (const CDCHit *hit) const
 Seeks the MCParticle related to the CDCHit. More...
 
MayBePtr< const MCParticlegetMCParticle (const CDCSimHit *simHit) const
 Seeks the MCParticle related to the CDCSimHit. More...
 
auto getSimHits (const MCParticle *mcParticle) const
 Getter for the range MCParticle to CDCSimHits relations which come from the given MCParticle.
 
auto getHits (const MCParticle *mcParticle) const
 Getter for the range MCParticle to CDCHits relations which come from the given MCParticle.
 
bool isReassignedSecondary (const CDCSimHit *ptrSimHit) const
 Indicates if the CDCSimHit has been reassigned to a primary MCParticle.
 
bool isReassignedSecondary (const CDCHit *ptrHit) const
 Indicates if the CDCHit has been reassigned to a primary MCParticle.
 
const std::set< const CDCHit * > & getReassignedSecondaryHits () const
 Getter for all reassigned secondary CDCHits.
 
const std::set< const CDCSimHit * > & getReassignedSecondarySimHits () const
 Getter for all reassigned secondary CDCSimHits.
 
const std::multimap< const CDCHit *, const CDCSimHit * > & getSimHitsByHit () const
 Getter for the CDCHit -> CDCSimHit relations.
 
const std::multimap< const MCParticle *, const CDCHit * > & getHitsByMCParticle () const
 Getter for the MCParticle -> CDCHit relations.
 
const std::multimap< const MCParticle *, const CDCSimHit * > & getSimHitsByMCParticle () const
 Getter for the MCParticle -> CDCSimHit relations.
 

Private Member Functions

void fillSimHitByHitMap ()
 Retrieve the relations array from CDCSimHits to CDCHits and fill it in to the local map which does the inverse mapping.
 
void fillMCParticleByHitMap ()
 Retrieve the relations array from MCParticle to CDCHits and fill it in to the local map which does the inverse mapping.
 
void fillMCParticleBySimHitMap ()
 Retrieve the relations array from MCParticle to CDCSimHits and fill it in to the local map which does the inverse mapping.
 
void validateRelations () const
 Checks if the relations CDCHit -> MCParticle and CDCHit -> CDCSimHit -> MCParticle commute.
 
void validateReassignedSecondaries () const
 Checks if each CDCHit is marked as reassigned secondary is related to a reassigned secondary CDCSimHit.
 

Static Private Member Functions

static bool indicatesReassignedSecondary (double weight)
 Indicate if the given weight suggests that the corresponding hit to MCParticle relation has been redirected to point to a primary particle instead of the discarded secondary particle.
 

Private Attributes

std::multimap< const CDCHit *, const CDCSimHit * > m_simHitsByHit
 Memory for a one to one relation from CDCHit to CDCSimHits.
 
std::multimap< const MCParticle *, const CDCHit * > m_hitsByMCParticle
 Memory for a one to n relation from MCParticles to CDCHit.
 
std::multimap< const MCParticle *, const CDCSimHit * > m_simHitsByMCParticle
 Memory for a one to n relation from MCParticles to CDCSimHit.
 
std::set< const CDCHit * > m_reassignedSecondaryHits
 The set of reassigned secondary CDCHits.
 
std::set< const CDCSimHit * > m_reassignedSecondarySimHits
 The set of reassigned secondary CDCSimHits.
 

Detailed Description

Class to organize and present the monte carlo hit information.

Definition at line 28 of file CDCMCMap.h.

Member Function Documentation

◆ getMCParticle() [1/2]

MayBePtr< const MCParticle > getMCParticle ( const CDCHit hit) const

Seeks the MCParticle related to the CDCHit.

Nullptr if no MCParticle is related, this is also the case for background hits.

Definition at line 269 of file CDCMCMap.cc.

270 {
271  return hit ? hit->getRelated<MCParticle>() : nullptr;
272 }
A Class to store the Monte Carlo particle information.
Definition: MCParticle.h:32

◆ getMCParticle() [2/2]

MayBePtr< const MCParticle > getMCParticle ( const CDCSimHit simHit) const

Seeks the MCParticle related to the CDCSimHit.

Nullptr if no MCParticle is related, this is also the case for background hits.

Definition at line 274 of file CDCMCMap.cc.


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