NeutrinoHierarchyAlgorithm class. More...
#include <NeutrinoHierarchyAlgorithm.h>
Classes | |
class | PfoInfo |
PfoInfo class. More... | |
Public Types | |
typedef std::unordered_map < const pandora::ParticleFlowObject *, PfoInfo * > | PfoInfoMap |
Public Member Functions | |
NeutrinoHierarchyAlgorithm () | |
Default constructor. More... | |
void | SeparatePfos (const NeutrinoHierarchyAlgorithm::PfoInfoMap &pfoInfoMap, pandora::PfoVector &assignedPfos, pandora::PfoVector &unassignedPfos) const |
Query the pfo info map and separate/extract pfos currently either acting as parents or associated with the neutrino vertex. More... | |
Private Types | |
typedef std::vector < PfoRelationTool * > | PfoRelationToolVector |
Private Member Functions | |
pandora::StatusCode | Run () |
void | GetNeutrinoPfo (const pandora::ParticleFlowObject *&pNeutrinoPfo) const |
Get the address of the input neutrino pfo - enforces only one pfo present in input list; can return NULL if no neutrino exists. More... | |
void | GetCandidateDaughterPfoList (pandora::PfoList &candidateDaughterPfoList) const |
Get the list of candidate daughter pfos. More... | |
void | GetInitialPfoInfoMap (const pandora::PfoList &pfoList, PfoInfoMap &pfoInfoMap) const |
Process a provided pfo list and populate an initial pfo info map. More... | |
void | ProcessPfoInfoMap (const pandora::ParticleFlowObject *const pNeutrinoPfo, const pandora::PfoList &candidateDaughterPfoList, PfoInfoMap &pfoInfoMap, const unsigned int callDepth=0) const |
Process the information in a pfo info map, creating pfo parent/daughter links. More... | |
void | AdjustVertexAndPfoInfo (const pandora::ParticleFlowObject *const pNeutrinoPfo, const pandora::PfoList &candidateDaughterPfoList, PfoInfoMap &pfoInfoMap) const |
Adjust neutrino vertex to ensure agreement with at least one pfo (first in sorted input list) More... | |
void | DisplayPfoInfoMap (const pandora::ParticleFlowObject *const pNeutrinoPfo, const PfoInfoMap &pfoInfoMap) const |
Display the information in a pfo info map, visualising pfo parent/daughter links. More... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Private Attributes | |
PfoRelationToolVector | m_algorithmToolVector |
The algorithm tool vector. More... | |
std::string | m_neutrinoPfoListName |
The neutrino pfo list name. More... | |
pandora::StringVector | m_daughterPfoListNames |
The list of daughter pfo list names. More... | |
std::string | m_neutrinoVertexListName |
The neutrino vertex list name - if not specified will assume current list. More... | |
unsigned int | m_halfWindowLayers |
The number of layers to use for half-window of sliding fit. More... | |
bool | m_displayPfoInfoMap |
Whether to display the pfo info map (if monitoring is enabled) More... | |
NeutrinoHierarchyAlgorithm class.
Definition at line 27 of file NeutrinoHierarchyAlgorithm.h.
typedef std::unordered_map<const pandora::ParticleFlowObject *, PfoInfo *> lar_content::NeutrinoHierarchyAlgorithm::PfoInfoMap |
Definition at line 170 of file NeutrinoHierarchyAlgorithm.h.
|
private |
Definition at line 237 of file NeutrinoHierarchyAlgorithm.h.
lar_content::NeutrinoHierarchyAlgorithm::NeutrinoHierarchyAlgorithm | ( | ) |
Default constructor.
Definition at line 22 of file NeutrinoHierarchyAlgorithm.cc.
|
private |
Adjust neutrino vertex to ensure agreement with at least one pfo (first in sorted input list)
pNeutrinoPfo | the address of the (original) parent neutrino pfo |
candidateDaughterPfoList | the list of candidate daughter pfos |
pfoInfoMap | the pfo info map |
Definition at line 227 of file NeutrinoHierarchyAlgorithm.cc.
|
private |
Display the information in a pfo info map, visualising pfo parent/daughter links.
pNeutrinoPfo | the address of the (original) parent neutrino pfo |
pfoInfoMap | the pfo info map |
Definition at line 281 of file NeutrinoHierarchyAlgorithm.cc.
|
private |
Get the list of candidate daughter pfos.
candidateDaughterPfoList | to receive the candidate daughter pfo list |
Definition at line 127 of file NeutrinoHierarchyAlgorithm.cc.
|
private |
Process a provided pfo list and populate an initial pfo info map.
pfoList | the provided pfo list |
pfoInfoMap | to receive the initial pfo info map |
Definition at line 149 of file NeutrinoHierarchyAlgorithm.cc.
|
private |
Get the address of the input neutrino pfo - enforces only one pfo present in input list; can return NULL if no neutrino exists.
to | receive the address of the input neutrino pfo |
Definition at line 104 of file NeutrinoHierarchyAlgorithm.cc.
|
private |
Process the information in a pfo info map, creating pfo parent/daughter links.
pNeutrinoPfo | the address of the (original) parent neutrino pfo |
candidateDaughterPfoList | the list of candidate daughter pfos |
pfoInfoMap | the pfo info map |
callDepth | depth of callstack for this function, tracking recursive use |
Definition at line 174 of file NeutrinoHierarchyAlgorithm.cc.
|
private |
Definition at line 467 of file NeutrinoHierarchyAlgorithm.cc.
|
private |
Definition at line 52 of file NeutrinoHierarchyAlgorithm.cc.
void lar_content::NeutrinoHierarchyAlgorithm::SeparatePfos | ( | const NeutrinoHierarchyAlgorithm::PfoInfoMap & | pfoInfoMap, |
pandora::PfoVector & | assignedPfos, | ||
pandora::PfoVector & | unassignedPfos | ||
) | const |
Query the pfo info map and separate/extract pfos currently either acting as parents or associated with the neutrino vertex.
pfoInfoMap | the pfo info map |
assignedPfos | to receive the sorted vector of assigned pfos |
unassignedPfos | to receive the sorted vector of unassigned pfos |
Definition at line 28 of file NeutrinoHierarchyAlgorithm.cc.
|
private |
The algorithm tool vector.
Definition at line 238 of file NeutrinoHierarchyAlgorithm.h.
|
private |
The list of daughter pfo list names.
Definition at line 241 of file NeutrinoHierarchyAlgorithm.h.
|
private |
Whether to display the pfo info map (if monitoring is enabled)
Definition at line 246 of file NeutrinoHierarchyAlgorithm.h.
|
private |
The number of layers to use for half-window of sliding fit.
Definition at line 245 of file NeutrinoHierarchyAlgorithm.h.
|
private |
The neutrino pfo list name.
Definition at line 240 of file NeutrinoHierarchyAlgorithm.h.
|
private |
The neutrino vertex list name - if not specified will assume current list.
Definition at line 243 of file NeutrinoHierarchyAlgorithm.h.