SlidingConeClusterMopUpAlgorithm class. More...
#include <SlidingConeClusterMopUpAlgorithm.h>
Classes | |
class | ClusterMerge |
ClusterMerge class. More... | |
Public Member Functions | |
SlidingConeClusterMopUpAlgorithm () | |
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 Types | |
typedef std::vector< ClusterMerge > | ClusterMergeList |
typedef std::unordered_map< const pandora::Cluster *, const pandora::ParticleFlowObject * > | ClusterToPfoMap |
typedef std::unordered_map< const pandora::Cluster *, ClusterMergeList > | ClusterMergeMap |
Private Member Functions | |
pandora::StatusCode | Run () |
void | GetInteractionVertex (const pandora::Vertex *&pVertex) const |
Get the neutrino interaction vertex if it is available and if the algorithm is configured to do so. More... | |
void | GetThreeDClusters (pandora::ClusterVector &clusters3D, ClusterToPfoMap &clusterToPfoMap) const |
Get all 3d clusters contained in the input pfo lists and a mapping from clusters to pfos. More... | |
void | GetAvailableTwoDClusters (pandora::ClusterVector &availableClusters2D) const |
Get all available 2d clusters contained in the input cluster lists. More... | |
void | GetClusterMergeMap (const pandora::Vertex *const pVertex, const pandora::ClusterVector &clusters3D, const pandora::ClusterVector &availableClusters2D, ClusterMergeMap &clusterMergeMap) const |
Get the cluster merge map describing all potential 3d cluster merges. More... | |
void | MakeClusterMerges (const ClusterToPfoMap &clusterToPfoMap, const ClusterMergeMap &clusterMergeMap) const |
Make cluster merges based on the provided cluster merge map. More... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Private Attributes | |
pandora::StringVector | m_inputPfoListNames |
The input pfo list names. More... | |
bool | m_useVertex |
Whether to use the interaction vertex to select useful cone directions. More... | |
unsigned int | m_maxIterations |
The maximum allowed number of algorithm iterations. More... | |
unsigned int | m_maxHitsToConsider3DTrack |
The maximum number of hits in a 3d track cluster to warrant inclusion in algorithm. More... | |
unsigned int | m_minHitsToConsider3DShower |
The minimum number of hits in a 3d shower cluster to attempt cone fits. More... | |
unsigned int | m_maxHitsToConsider2DCluster |
The maximum number of hits in a 2d cluster to allow pick-up via sliding cone fits. More... | |
unsigned int | m_halfWindowLayers |
The number of layers to use for half-window of sliding fit. More... | |
unsigned int | m_nConeFitLayers |
The number of layers over which to sum fitted direction to obtain cone fit. More... | |
unsigned int | m_nConeFits |
The number of cone fits to perform, spread roughly uniformly along the shower length. More... | |
float | m_coneLengthMultiplier |
The cone length multiplier to use when calculating bounded cluster fractions. More... | |
float | m_maxConeLength |
The maximum allowed cone length to use when calculating bounded cluster fractions. More... | |
float | m_coneTanHalfAngle |
The cone tan half angle to use when calculating bounded cluster fractions. More... | |
float | m_coneBoundedFraction |
The minimum cluster bounded fraction for association. 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 Attributes inherited from lar_content::MopUpBaseAlgorithm | |
pandora::StringVector | m_daughterListNames |
The list of potential daughter object list names. More... | |
SlidingConeClusterMopUpAlgorithm class.
Definition at line 21 of file SlidingConeClusterMopUpAlgorithm.h.
|
private |
Definition at line 81 of file SlidingConeClusterMopUpAlgorithm.h.
|
private |
Definition at line 109 of file SlidingConeClusterMopUpAlgorithm.h.
|
private |
Definition at line 92 of file SlidingConeClusterMopUpAlgorithm.h.
lar_content::SlidingConeClusterMopUpAlgorithm::SlidingConeClusterMopUpAlgorithm | ( | ) |
Default constructor.
Definition at line 24 of file SlidingConeClusterMopUpAlgorithm.cc.
|
private |
Get all available 2d clusters contained in the input cluster lists.
availableClusters2D | to receive the sorted list of available 2d clusters |
Definition at line 120 of file SlidingConeClusterMopUpAlgorithm.cc.
|
private |
Get the cluster merge map describing all potential 3d cluster merges.
pVertex | the neutrino interaction vertex, if available |
clusters3D | the sorted list of 3d clusters |
availableClusters2D | the sorted list of available 2d clusters |
clusterMergeMap | to receive the populated cluster merge map |
Definition at line 146 of file SlidingConeClusterMopUpAlgorithm.cc.
|
private |
Get the neutrino interaction vertex if it is available and if the algorithm is configured to do so.
pVertex | to receive the neutrino interaction vertex |
Definition at line 71 of file SlidingConeClusterMopUpAlgorithm.cc.
|
private |
Get all 3d clusters contained in the input pfo lists and a mapping from clusters to pfos.
clusters3D | to receive the sorted list of 3d clusters |
clusterToPfoMap | to receive the mapping from 3d cluster to pfo |
Definition at line 85 of file SlidingConeClusterMopUpAlgorithm.cc.
|
private |
Make cluster merges based on the provided cluster merge map.
clusterToPfoMap | the mapping from 3d cluster to pfo |
clusterMergeMap | the populated cluster merge map |
Definition at line 207 of file SlidingConeClusterMopUpAlgorithm.cc.
|
privatevirtual |
Reimplemented from lar_content::PfoMopUpBaseAlgorithm.
Definition at line 262 of file SlidingConeClusterMopUpAlgorithm.cc.
|
private |
Definition at line 42 of file SlidingConeClusterMopUpAlgorithm.cc.
|
private |
The minimum cluster bounded fraction for association.
Definition at line 144 of file SlidingConeClusterMopUpAlgorithm.h.
|
private |
The cone length multiplier to use when calculating bounded cluster fractions.
Definition at line 141 of file SlidingConeClusterMopUpAlgorithm.h.
|
private |
The cone tan half angle to use when calculating bounded cluster fractions.
Definition at line 143 of file SlidingConeClusterMopUpAlgorithm.h.
|
private |
The number of layers to use for half-window of sliding fit.
Definition at line 138 of file SlidingConeClusterMopUpAlgorithm.h.
|
private |
The input pfo list names.
Definition at line 132 of file SlidingConeClusterMopUpAlgorithm.h.
|
private |
The maximum allowed cone length to use when calculating bounded cluster fractions.
Definition at line 142 of file SlidingConeClusterMopUpAlgorithm.h.
|
private |
The maximum number of hits in a 2d cluster to allow pick-up via sliding cone fits.
Definition at line 137 of file SlidingConeClusterMopUpAlgorithm.h.
|
private |
The maximum number of hits in a 3d track cluster to warrant inclusion in algorithm.
Definition at line 135 of file SlidingConeClusterMopUpAlgorithm.h.
|
private |
The maximum allowed number of algorithm iterations.
Definition at line 134 of file SlidingConeClusterMopUpAlgorithm.h.
|
private |
The minimum number of hits in a 3d shower cluster to attempt cone fits.
Definition at line 136 of file SlidingConeClusterMopUpAlgorithm.h.
|
private |
The number of layers over which to sum fitted direction to obtain cone fit.
Definition at line 139 of file SlidingConeClusterMopUpAlgorithm.h.
|
private |
The number of cone fits to perform, spread roughly uniformly along the shower length.
Definition at line 140 of file SlidingConeClusterMopUpAlgorithm.h.
|
private |
Whether to use the interaction vertex to select useful cone directions.
Definition at line 133 of file SlidingConeClusterMopUpAlgorithm.h.