APRILContent
Algorithm of Particle Reconstruction for ILC - implementation with PandoraSDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations
Classes | Private Member Functions | Private Attributes | List of all members
april_content::ChargedFragmentsMergingAlgorithm3 Class Reference

ChargedFragmentsMergingAlgorithm3 class. More...

#include <ChargedFragmentsMergingAlgorithm3.h>

Inheritance diagram for april_content::ChargedFragmentsMergingAlgorithm3:

Classes

class  Factory
 Factory class for instantiating algorithm. More...
 

Private Member Functions

pandora::StatusCode Run ()
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 
april_content::APRILClusterGetMainCluster (const pandora::CaloHitVector &caloHitVector)
 
void GetNearbyClusters (pandora::Cluster *cluster, const std::vector< april_content::APRILCluster * > &clusterVector, std::vector< april_content::APRILCluster * > &clustersInRange)
 
bool CheckNearbyClusterWithCharge (const april_content::APRILCluster *pCluster, std::vector< april_content::APRILCluster * > &nearbyClusters, int charge)
 
void SearchProperClusters (APRILCluster *startingCluster, std::vector< april_content::APRILCluster * > &allClusters, std::vector< april_content::APRILCluster * > &properClusters, std::vector< float > &distances)
 
void FillClusters (std::map< const pandora::Cluster *, pandora::ClusterList > &clustersMergingMap, pandora::Cluster *cluster, pandora::Cluster *clusterToMerge)
 
void MCClusterMerging (const pandora::ClusterList &clustersForMerging)
 
void MergeClusters (std::map< const pandora::Cluster *, pandora::ClusterList > &clustersMergingMap)
 
void MakeMergingMap (std::vector< APRILCluster * > &clustersToMerge, std::vector< APRILCluster * > &clusterVector, std::map< const pandora::Cluster *, pandora::ClusterList > &clustersMergingMap)
 
pandora::StatusCode CleanClusterForMerging (std::vector< APRILCluster * > &clusterVector)
 
bool CheckStartingPoints (const pandora::Cluster *chargedCluster, const pandora::Cluster *fragment)
 
pandora::StatusCode GetEligibleClusters (std::vector< APRILCluster * > &clusterVector) const
 Get the eligible clusters for parent-daughter association. More...
 
pandora::StatusCode FindClustersToMerge (const pandora::ClusterVector &clusterVector, ClusterToClusterMap &clusterToClusterMap) const
 Algorithm workhorse, find associations between daughter and parent cluster. More...
 
bool CanMergeCluster (const pandora::Cluster *const pCluster) const
 Whether the cluster is eligible for association. More...
 
pandora::StatusCode FindBestParentCluster (const pandora::Cluster *const pDaughterCluster, const pandora::ClusterVector &clusterVector, const pandora::Cluster *&pBestParentCluster) const
 Find the best parent cluster to merge a daughter one. More...
 

Private Attributes

float m_maxStartingClusterDistance
 
float m_maxClosestClusterDistance
 
bool m_debugOutput
 
bool m_debugOutput2
 
bool m_onlyUseConnectedHits
 
bool m_useMCPForPID
 
bool m_makeRecord
 
arma::mat m_clusterCentroidsMatrix
 
std::vector< APRILCluster * > m_clustersToMerge
 

Detailed Description

ChargedFragmentsMergingAlgorithm3 class.

Member Function Documentation

bool april_content::ChargedFragmentsMergingAlgorithm3::CanMergeCluster ( const pandora::Cluster *const  pCluster) const
private

Whether the cluster is eligible for association.

Parameters
pClusteraddress of a candidate cluster for association
Returns
boolean
pandora::StatusCode april_content::ChargedFragmentsMergingAlgorithm3::FindBestParentCluster ( const pandora::Cluster *const  pDaughterCluster,
const pandora::ClusterVector &  clusterVector,
const pandora::Cluster *&  pBestParentCluster 
) const
private

Find the best parent cluster to merge a daughter one.

Parameters
pDaughterClusteraddress of the daughter cluster
clusterVectora cluster vector
pBestParentClusteraddress of the best parent cluster to receive
pandora::StatusCode april_content::ChargedFragmentsMergingAlgorithm3::FindClustersToMerge ( const pandora::ClusterVector &  clusterVector,
ClusterToClusterMap &  clusterToClusterMap 
) const
private

Algorithm workhorse, find associations between daughter and parent cluster.

Parameters
clusterVectorthe input cluster vector
clusterToClusterMapthe map of daughter to parent cluster to receive
pandora::StatusCode april_content::ChargedFragmentsMergingAlgorithm3::GetEligibleClusters ( std::vector< APRILCluster * > &  clusterVector) const
private

Get the eligible clusters for parent-daughter association.

Parameters
clusterVectorthe cluster vector to receive

The documentation for this class was generated from the following files: