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

MipFragmentMergingAlg class. More...

#include <MipFragmentMergingAlg.h>

Inheritance diagram for april_content::MipFragmentMergingAlg:

Classes

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

Private Types

typedef std::map< const
pandora::Cluster *, const
pandora::Cluster * > 
ClusterToClusterMap
 

Private Member Functions

pandora::StatusCode Run ()
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 
pandora::StatusCode FindMipFragments (const pandora::ClusterVector &clusterVector, ClusterToClusterMap &clusterToClusterMap) const
 Find mip cluster fragments and their most probable parent cluster. More...
 
pandora::StatusCode FindChargedMipFragments (const pandora::ClusterVector &clusterVector, ClusterToClusterMap &clusterToClusterMap)
 
bool IsMipFragment (const pandora::Cluster *const pCluster) const
 Whether the cluster is a mip fragment. More...
 
bool IsPossibleParent (const pandora::Cluster *const pCluster) const
 Whether the cluster is a possible parent cluster to merge a mip in. More...
 
pandora::StatusCode FindMipParentCluster (const pandora::Cluster *const pMipCluster, const pandora::ClusterVector &clusterVector, const pandora::Cluster *&pParentCluster) const
 Find the best possible parent cluster for the target mip cluster. More...
 
pandora::StatusCode MergeClusters (ClusterToClusterMap &clusterToClusterMap) const
 Merge mip clusters into their parent. More...
 
pandora::StatusCode TidyClusterMap (const pandora::Cluster *const pReplaceCluster, const pandora::Cluster *const pRemoveCluster, ClusterToClusterMap &clusterToClusterMap) const
 Tidy the cluster map by replacing occurrences of clusters that will be deleted. More...
 

Private Attributes

bool m_discriminatePhotonPid
 Whether to discriminate photons.
 
float m_maxMipTransverseRatio
 The min transverse ratio to consider a mip.
 
float m_maxNHitsPerLayer
 The max number of hits per layer to consider a mip.
 
float m_minNHitsPerLayer
 The min number of hits per layer to consider a mip.
 
float m_minParentClusterEnergy
 The min parent cluster energy for a potential merging.
 
unsigned int m_minDaughterClusterNHits
 The min number of hits to consider a mip.
 
unsigned int m_minParentClusterNHits
 The min number of hits to consider a parent cluster.
 
unsigned int m_minDaughterClusterNPseudoLayers
 The min number of pseudo layer to consider a mip.
 
unsigned int m_minInnerPseudoLayer
 The min inner pseudo layer id to consider a mip.
 
float m_maxMipBackwardAngle
 The max backward angle between a parent cluster and the mip.
 
float m_maxMipBackwardDistance
 The max backward distance between the parent cluster and the start of mip.
 
float m_maxClusterSeparationPseudoLayer
 The max pseudo layer between two clusters.
 
float m_maxClusterSeparationPseudoLayer2
 The max pseudo layer between two clusters.
 
float m_maxClusterSeparationPseudoLayer3
 The max pseudo layer between two clusters.
 
unsigned int m_minParentClusterBackwardNHits
 The min number of hits within the ROI to consider a parent cluster.
 
float m_minMipNEfficientLayerFraction
 The min numer of efficient pseudo layer to consider a mip.
 
float m_minMipChi2
 
unsigned int m_nParentFitPseudoLayers
 
float m_maxCosineDirection
 
float m_maxCosineDirection2
 
float m_maxCosineDirection3
 

Detailed Description

MipFragmentMergingAlg class.

Member Function Documentation

pandora::StatusCode april_content::MipFragmentMergingAlg::FindMipFragments ( const pandora::ClusterVector &  clusterVector,
ClusterToClusterMap &  clusterToClusterMap 
) const
private

Find mip cluster fragments and their most probable parent cluster.

Parameters
clusterVectorthe input cluster list
clusterToClusterMapthe map of mip cluster to parent cluster to receive
pandora::StatusCode april_content::MipFragmentMergingAlg::FindMipParentCluster ( const pandora::Cluster *const  pMipCluster,
const pandora::ClusterVector &  clusterVector,
const pandora::Cluster *&  pParentCluster 
) const
private

Find the best possible parent cluster for the target mip cluster.

Parameters
pMipClusterthe mip cluster address
clusterVectorthe input list of potential parent cluster
pParentClusterthe parent cluster address to receive
bool april_content::MipFragmentMergingAlg::IsMipFragment ( const pandora::Cluster *const  pCluster) const
private

Whether the cluster is a mip fragment.

Parameters
pClusterthe target cluster address
Returns
bool whether the cluster is a mip cluster fragment
bool april_content::MipFragmentMergingAlg::IsPossibleParent ( const pandora::Cluster *const  pCluster) const
private

Whether the cluster is a possible parent cluster to merge a mip in.

Parameters
pClusterthe target address cluster
Returns
bool whether the cluster is a possible parent cluster
pandora::StatusCode april_content::MipFragmentMergingAlg::MergeClusters ( ClusterToClusterMap &  clusterToClusterMap) const
private

Merge mip clusters into their parent.

Parameters
clusterToClusterMapthe cluster map to process
pandora::StatusCode april_content::MipFragmentMergingAlg::TidyClusterMap ( const pandora::Cluster *const  pReplaceCluster,
const pandora::Cluster *const  pRemoveCluster,
ClusterToClusterMap &  clusterToClusterMap 
) const
private

Tidy the cluster map by replacing occurrences of clusters that will be deleted.

Parameters
pReplaceClusterthe cluster address to replace
pRemoveClusterthe cluster address to remove from the map
clusterToClusterMapthe target cluster map

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