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::ChargedFragmentsMergingAlgorithm Class Reference

ChargedFragmentsMergingAlgorithm class. More...

#include <ChargedFragmentsMergingAlgorithm.h>

Inheritance diagram for april_content::ChargedFragmentsMergingAlgorithm:

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)
 
void SearchProperClusters (const pandora::Track *pTrack, APRILCluster *startingCluster, std::vector< april_content::APRILCluster * > &properClusters)
 
pandora::StatusCode CleanClusterForMerging (std::vector< APRILCluster * > &clusterVector)
 
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...
 
pandora::StatusCode GetClusterBackwardDirection (const pandora::Cluster *const pCluster, pandora::CartesianVector &backwardDirection, pandora::CartesianVector &innerPosition) const
 Get the cluster backward direction and the inner cluster position using a cluster fit of the n first layers. More...
 
bool IsClusterAxesCompatible (const APRILCluster *startingCluster, const APRILCluster *nearbyCluster, float &axesDistance)
 

Private Attributes

float m_maxStartingClusterDistance
 
float m_maxClosestClusterDistance
 
float m_maxClusterPosAxisAngle
 
float m_maxClusterAxesDistance
 
bool m_mergeChargedClusters
 
bool m_debugOutput
 
bool m_debugOutput2
 
bool m_onlyUseConnectedHits
 
bool m_useMCPForPID
 
bool m_useMCPToRejectNeutralCluster
 
arma::mat m_clusterCentroidsMatrix
 
std::vector< APRILCluster * > m_clustersToMerge
 

Detailed Description

ChargedFragmentsMergingAlgorithm class.

Member Function Documentation

bool april_content::ChargedFragmentsMergingAlgorithm::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::ChargedFragmentsMergingAlgorithm::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::ChargedFragmentsMergingAlgorithm::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::ChargedFragmentsMergingAlgorithm::GetClusterBackwardDirection ( const pandora::Cluster *const  pCluster,
pandora::CartesianVector &  backwardDirection,
pandora::CartesianVector &  innerPosition 
) const
private

Get the cluster backward direction and the inner cluster position using a cluster fit of the n first layers.

Parameters
pClusterthe input cluster address
backwardDirectionthe backward direction cartesian vector to receive
innerPositionthe inner cluster position to receive
pandora::StatusCode april_content::ChargedFragmentsMergingAlgorithm::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: