8#ifndef PANDORA_MC_MANAGER_H
9#define PANDORA_MC_MANAGER_H 1
Header file for pandora object creation classes.
Header file defining relevant internal typedefs, sort and string conversion functions.
StatusCode CreateCaloHitToPfoTargetsMap(UidToMCParticleWeightMap &caloHitToPfoTargetsMap) const
Create a map relating calo hit uid to mc pfo target.
StatusCode SetPfoTargetInTree(const MCParticle *const pMCParticle, const MCParticle *const pPfoTarget, bool onlyDaughters=false) const
Set pfo target for a mc tree.
StatusCode RemoveMCParticleRelationships(const MCParticle *const pMCParticle) const
Remove all parent/daughter particle links from a mc particle and from its (previously) linked particl...
StatusCode SetMCParentDaughterRelationship(const Uid parentUid, const Uid daughterUid)
Set mc particle relationship.
StatusCode Create(const object_creation::MCParticle::Parameters ¶meters, const MCParticle *&pMCParticle, const ObjectFactory< object_creation::MCParticle::Parameters, object_creation::MCParticle::Object > &factory)
Create a mc particle.
StatusCode RemoveAllMCParticleRelationships()
Remove all mc particle associations that have been registered with the mc manager.
std::unordered_map< Uid, float > UidToWeightMap
StatusCode CreateUidToPfoTargetsMap(UidToMCParticleWeightMap &uidToMCParticleWeightMap, const ObjectRelationMap &objectRelationMap) const
Create a map relating an object (calo hit or track) uid to mc pfo targets.
MCParticleRelationMap m_parentDaughterRelationMap
The mc particle parent-daughter relation map.
ObjectRelationMap m_caloHitToMCParticleMap
The calo hit to mc particle relation map.
StatusCode SelectPfoTargets()
Select pfo targets.
std::unordered_map< Uid, UidToWeightMap > ObjectRelationMap
StatusCode SetTrackToMCParticleRelationship(const Uid trackUid, const Uid mcParticleUid, const float mcParticleWeight)
Set track to mc particle relationship.
StatusCode ApplyPfoSelectionRules(const MCParticle *const mcRootParticle, MCParticleSet &mcPfoSet) const
Apply mc pfo selection rules.
StatusCode IdentifyPfoTargets()
Identify pfo targets.
StatusCode AddMCParticleRelationships() const
Apply mc particle associations (parent-daughter) that have been registered with the mc manager.
StatusCode CreateTrackToPfoTargetsMap(UidToMCParticleWeightMap &trackToPfoTargetsMap) const
Create a map relating track uid to mc pfo target.
UidToMCParticleMap m_uidToMCParticleMap
The uid to mc particle map.
StatusCode EraseAllContent()
Erase all mc manager content.
const std::string m_selectedListName
The name of the selected list.
StatusCode SetUidToMCParticleRelationship(const Uid objectUid, const Uid mcParticleUid, const float mcParticleWeight, ObjectRelationMap &objectRelationMap) const
Set an object (e.g. calo hit or track) to mc particle relationship.
std::unordered_multimap< Uid, Uid > MCParticleRelationMap
ObjectRelationMap m_trackToMCParticleMap
The track to mc particle relation map.
StatusCode SetCaloHitToMCParticleRelationship(const Uid caloHitUid, const Uid mcParticleUid, const float mcParticleWeight)
Set calo hit to mc particle relationship.
ObjectFactory class responsible for extended pandora object creation.
PandoraContentApiImpl class.
std::unordered_set< const MCParticle * > MCParticleSet
std::unordered_map< Uid, const MCParticle * > UidToMCParticleMap
StatusCode
The StatusCode enum.
std::unordered_map< Uid, MCParticleWeightMap > UidToMCParticleWeightMap