ShowerPfoMopUpAlgorithm::Algorithm class. More...
#include <ShowerPfoMopUpAlgorithm.h>
Public Member Functions | |
ShowerPfoMopUpAlgorithm () | |
Default constructor. More... | |
Public Member Functions inherited from lar_content::VertexBasedPfoMopUpAlgorithm | |
VertexBasedPfoMopUpAlgorithm () | |
Default constructor. More... | |
Public Member Functions inherited from lar_content::PfoMopUpBaseAlgorithm | |
virtual void | MergeAndDeletePfos (const pandora::ParticleFlowObject *const pPfoToEnlarge, const pandora::ParticleFlowObject *const pPfoToDelete) const |
Merge and delete a pair of pfos, with a specific set of conventions for cluster merging, vertex use, etc. More... | |
Public Member Functions inherited from lar_content::MopUpBaseAlgorithm | |
template<typename T > | |
const std::string | GetListName (const T *const pT) const |
Find the name of the list hosting a specific object. More... | |
Private Member Functions | |
bool | IsVertexAssociated (const pandora::CartesianVector &vertex2D, const LArPointingCluster &pointingCluster) const |
Whether a specified pfo is associated with a specified vertex. More... | |
PfoAssociation | GetPfoAssociation (const pandora::Pfo *const pVertexPfo, const pandora::Pfo *const pDaughterPfo, HitTypeToAssociationMap &hitTypeToAssociationMap) const |
Get pfo association details between a vertex-associated pfo and a non-vertex associated daughter candidate pfo. More... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Private Attributes | |
float | m_maxVertexLongitudinalDistance |
Vertex association check: max longitudinal distance cut. More... | |
float | m_vertexAngularAllowance |
Vertex association check: pointing angular allowance in degrees. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from lar_content::PfoMopUpBaseAlgorithm | |
static const pandora::Cluster * | GetParentCluster (const pandora::ClusterList &clusterList, const pandora::HitType hitType) |
Select the parent cluster (same hit type and most hits) using a provided cluster list and hit type. More... | |
Protected Types inherited from lar_content::VertexBasedPfoMopUpAlgorithm | |
typedef std::vector< PfoAssociation > | PfoAssociationList |
typedef std::map< pandora::HitType, ClusterAssociation > | HitTypeToAssociationMap |
typedef std::set< pandora::HitType > | HitTypeSet |
typedef std::map< pandora::HitType, const pandora::Cluster * > | HitTypeToClusterMap |
Protected Member Functions inherited from lar_content::VertexBasedPfoMopUpAlgorithm | |
pandora::StatusCode | Run () |
void | GetInputPfos (const pandora::Vertex *const pVertex, pandora::PfoList &vertexPfos, pandora::PfoList &nonVertexPfos) const |
Get the list of input pfos and divide them into vertex-associated and non-vertex-associated lists. More... | |
bool | IsVertexAssociated (const pandora::Pfo *const pPfo, const pandora::Vertex *const pVertex) const |
Whether a specified pfo is associated with a specified vertex. More... | |
void | GetPfoAssociations (const pandora::Vertex *const pVertex, const pandora::PfoList &vertexPfos, const pandora::PfoList &nonVertexPfos, PfoAssociationList &pfoAssociationList) const |
Get the list of associations between vertex-associated pfos and non-vertex-associated pfos. More... | |
PfoAssociation | GetPfoAssociation (const pandora::Vertex *const pVertex, const pandora::Pfo *const pVertexPfo, const pandora::Pfo *const pDaughterPfo) const |
Get pfo association details between a vertex-associated pfo and a non-vertex associated daughter candidate pfo. More... | |
ClusterAssociation | GetClusterAssociation (const pandora::Vertex *const pVertex, const pandora::Cluster *const pVertexCluster, const pandora::Cluster *const pDaughterCluster) const |
Get cluster association details between a vertex-associated cluster and a non-vertex associated daughter candidate cluster. More... | |
bool | ProcessPfoAssociations (const PfoAssociationList &pfoAssociationList) const |
Process the list of pfo associations, merging the best-matching pfo. More... | |
void | MergePfos (const PfoAssociation &pfoAssociation) const |
Merge the vertex and daughter pfos (deleting daughter pfo, merging clusters, etc.) described in the specified pfoAssociation. More... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Protected Attributes inherited from lar_content::VertexBasedPfoMopUpAlgorithm | |
std::string | m_trackPfoListName |
The input track pfo list name. More... | |
std::string | m_showerPfoListName |
The input shower pfo list name. More... | |
float | m_minVertexLongitudinalDistance |
Vertex association check: min longitudinal distance cut. More... | |
float | m_maxVertexTransverseDistance |
Vertex association check: max transverse distance cut. More... | |
unsigned int | m_minVertexAssociatedHitTypes |
The min number of vertex associated hit types for a vertex associated pfo. More... | |
float | m_coneAngleCentile |
Cluster cone angle is defined using specified centile of distribution of hit half angles. More... | |
float | m_maxConeCosHalfAngle |
Maximum value for cosine of cone half angle. More... | |
float | m_maxConeLengthMultiplier |
Consider hits as bound if inside cone, with projected distance less than N times cone length. More... | |
float | m_directionTanAngle |
Direction determination, look for vertex inside triangle with apex shifted along the cluster length. More... | |
float | m_directionApexShift |
Direction determination, look for vertex inside triangle with apex shifted along the cluster length. More... | |
float | m_meanBoundedFractionCut |
Cut on association info (mean bounded fraction) for determining pfo merges. More... | |
float | m_maxBoundedFractionCut |
Cut on association info (max bounded fraction) for determining pfo merges. More... | |
float | m_minBoundedFractionCut |
Cut on association info (min bounded fraction) for determining pfo merges. More... | |
unsigned int | m_minConsistentDirections |
The minimum number of consistent cluster directions to allow a pfo merge. More... | |
unsigned int | m_minConsistentDirectionsTrack |
The minimum number of consistent cluster directions to allow a merge involving a track pfo. More... | |
Protected Attributes inherited from lar_content::MopUpBaseAlgorithm | |
pandora::StringVector | m_daughterListNames |
The list of potential daughter object list names. More... | |
ShowerPfoMopUpAlgorithm::Algorithm class.
Definition at line 19 of file ShowerPfoMopUpAlgorithm.h.
lar_content::ShowerPfoMopUpAlgorithm::ShowerPfoMopUpAlgorithm | ( | ) |
Default constructor.
Definition at line 24 of file ShowerPfoMopUpAlgorithm.cc.
|
privatevirtual |
Get pfo association details between a vertex-associated pfo and a non-vertex associated daughter candidate pfo.
pVertexPfo | the address of the vertex-associated pfo |
pDaughterPfo | the address of the non-vertex-associated pfo |
hitTypeToAssociationMap | the hit type to association map |
Reimplemented from lar_content::VertexBasedPfoMopUpAlgorithm.
Definition at line 52 of file ShowerPfoMopUpAlgorithm.cc.
|
privatevirtual |
Whether a specified pfo is associated with a specified vertex.
vertex2D | the 2d vertex position |
pointingCluster | the pointing cluster |
Reimplemented from lar_content::VertexBasedPfoMopUpAlgorithm.
Definition at line 40 of file ShowerPfoMopUpAlgorithm.cc.
|
privatevirtual |
Reimplemented from lar_content::PfoMopUpBaseAlgorithm.
Definition at line 61 of file ShowerPfoMopUpAlgorithm.cc.
|
private |
Vertex association check: max longitudinal distance cut.
Definition at line 33 of file ShowerPfoMopUpAlgorithm.h.
|
private |
Vertex association check: pointing angular allowance in degrees.
Definition at line 34 of file ShowerPfoMopUpAlgorithm.h.