LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
RecoHierarchy class. More...
#include "LArHierarchyHelper.h"
Classes | |
class | Node |
Node class. More... | |
Public Types | |
typedef std::vector< const Node * > | NodeVector |
typedef std::list< const Node * > | NodeList |
typedef std::map< const pandora::ParticleFlowObject *, NodeVector > | RecoNodeVectorMap |
Public Member Functions | |
RecoHierarchy () | |
Default constructor. More... | |
virtual | ~RecoHierarchy () |
Destructor. More... | |
void | FillHierarchy (const pandora::PfoList &pfoList, const FoldingParameters &foldParameters) |
Creates a reconstructed hierarchy representation. Without folding this will be a mirror image of the standard ParticleFlowObject (PFO) relationships. However, with folding options selected the hierarchy structure will group together PFOs into nodes based on the folding requirements. More... | |
const NodeVector & | GetInteractions (const pandora::ParticleFlowObject *pRoot) const |
Retrieve the root nodes in the hierarchy for a given interaction. More... | |
void | GetRootPfos (pandora::PfoList &rootPfos) const |
Retrieve the root particle flow objects of the interaction hierarchies. More... | |
void | GetFlattenedNodes (const pandora::ParticleFlowObject *const pRoot, NodeVector &nodeVector) const |
Retrieve a flat vector of the nodes in the hierarchy. More... | |
const pandora::ParticleFlowObject * | GetNeutrino () const |
Retrieve the neutrino at the root of the hierarchy if it exists. More... | |
const std::string | ToString () const |
Produce a string representation of the hierarchy. More... | |
Private Attributes | |
RecoNodeVectorMap | m_interactions |
Map from the root PFO (e.g. neutrino) to primaries. More... | |
RecoHierarchy class.
Definition at line 422 of file LArHierarchyHelper.h.
typedef std::list<const Node *> lar_content::LArHierarchyHelper::RecoHierarchy::NodeList |
Definition at line 427 of file LArHierarchyHelper.h.
typedef std::vector<const Node *> lar_content::LArHierarchyHelper::RecoHierarchy::NodeVector |
Definition at line 425 of file LArHierarchyHelper.h.
typedef std::map<const pandora::ParticleFlowObject *, NodeVector> lar_content::LArHierarchyHelper::RecoHierarchy::RecoNodeVectorMap |
Definition at line 428 of file LArHierarchyHelper.h.
lar_content::LArHierarchyHelper::RecoHierarchy::RecoHierarchy | ( | ) |
|
virtual |
Destructor.
Definition at line 817 of file LArHierarchyHelper.cc.
References lar_content::LArHierarchyHelper::MCHierarchy::m_interactions.
void lar_content::LArHierarchyHelper::RecoHierarchy::FillHierarchy | ( | const pandora::PfoList & | pfoList, |
const FoldingParameters & | foldParameters | ||
) |
Creates a reconstructed hierarchy representation. Without folding this will be a mirror image of the standard ParticleFlowObject (PFO) relationships. However, with folding options selected the hierarchy structure will group together PFOs into nodes based on the folding requirements.
If only folding back to primaries, the hierarchy will be relatively flat, with a top-level neutrino or test beam particle, if appropriate, and then a set of leaf nodes, one for each primary particles also containing the PFOs (and corresponding hits) from daughter particles.
If only folding back to leading shower particles, the hierarchy will largely mirror the standard PFO hierarchy, but, when a shower particle is reached (based on the track/shower characterisation), this particle and all daughter particles will be represented by a single leaf node.
If folding back to both primary and leading shower particles the hierarchy will again be rather flat, but in this case, if a primary track-like particle has a downstream shower particle then all downstream particles above the shower-like particle will be folded into the primary node, but a new, daughter leaf node will be created for the shower-like particle and all of its daughters, and a parent-child relationship will be formed between the primary node and shower node.
pfoList | The list of PFOs with which to fill the hierarchy |
foldParameters | The folding parameters to use for the hierarchy |
Definition at line 829 of file LArHierarchyHelper.cc.
References util::abs(), lar_content::LArPfoHelper::GetAllCaloHits(), lar_content::LArPfoHelper::GetAllDownstreamPfos(), lar_content::LArHierarchyHelper::GetRecoPrimaries(), lar_content::LArHierarchyHelper::FoldingParameters::m_foldToLeadingShowers, lar_content::LArHierarchyHelper::FoldingParameters::m_foldToTier, lar_content::LArHierarchyHelper::MCHierarchy::m_interactions, lar_content::LArHierarchyHelper::FoldingParameters::m_tier, and lar_content::LArPfoHelper::SortByNHits().
Referenced by lar_content::LArHierarchyHelper::FillRecoHierarchy().
void lar_content::LArHierarchyHelper::RecoHierarchy::GetFlattenedNodes | ( | const pandora::ParticleFlowObject *const | pRoot, |
NodeVector & | nodeVector | ||
) | const |
Retrieve a flat vector of the nodes in the hierarchy.
pRoot | The root particle flow object for an interaction |
nodeVector | The output vector for the nodes in the hierarchy in breadth first order |
Definition at line 927 of file LArHierarchyHelper.cc.
References lar_content::LArHierarchyHelper::MCHierarchy::m_interactions.
Referenced by lar_content::LArHierarchyHelper::MatchInfo::Match(), and lar_content::HierarchyMonitoringAlgorithm::Run().
const LArHierarchyHelper::RecoHierarchy::NodeVector & lar_content::LArHierarchyHelper::RecoHierarchy::GetInteractions | ( | const pandora::ParticleFlowObject * | pRoot | ) | const |
Retrieve the root nodes in the hierarchy for a given interaction.
pRoot | The root of the interaction hierarchy |
Definition at line 909 of file LArHierarchyHelper.cc.
References lar_content::LArHierarchyHelper::MCHierarchy::m_interactions.
const pandora::ParticleFlowObject* lar_content::LArHierarchyHelper::RecoHierarchy::GetNeutrino | ( | ) | const |
Retrieve the neutrino at the root of the hierarchy if it exists.
void lar_content::LArHierarchyHelper::RecoHierarchy::GetRootPfos | ( | pandora::PfoList & | rootPfos | ) | const |
Retrieve the root particle flow objects of the interaction hierarchies.
rootPfos | The output list of root particle flow objects |
Definition at line 919 of file LArHierarchyHelper.cc.
References lar_content::LArHierarchyHelper::MCHierarchy::m_interactions.
Referenced by lar_content::LArHierarchyHelper::MatchInfo::Match(), lar_content::HierarchyValidationAlgorithm::Run(), and lar_content::HierarchyMonitoringAlgorithm::Run().
const std::string lar_content::LArHierarchyHelper::RecoHierarchy::ToString | ( | ) | const |
Produce a string representation of the hierarchy.
Definition at line 949 of file LArHierarchyHelper.cc.
References lar_content::LArHierarchyHelper::MCHierarchy::m_interactions, and util::to_string().
Referenced by lar_content::HierarchyMonitoringAlgorithm::Run().
|
private |
Map from the root PFO (e.g. neutrino) to primaries.
Definition at line 598 of file LArHierarchyHelper.h.