8#ifndef LAR_N_VIEW_TRACK_MATCHING_ALGORITHM_H
9#define LAR_N_VIEW_TRACK_MATCHING_ALGORITHM_H 1
18typedef std::unordered_map<const pandora::Cluster *, pandora::CartesianPointVector>
SplitPositionMap;
87 virtual void SetPfoParticleId(PandoraContentApi::ParticleFlowObject::Parameters &pfoParameters)
const;
120 return m_slidingFitWindow;
Header file for the lar two dimensional sliding fit result class.
Header file for the n view matching algorithm class.
NViewMatchingAlgorithm class.
NViewTrackMatchingAlgorithm class.
virtual void SetPfoParticleId(PandoraContentApi::ParticleFlowObject::Parameters &pfoParameters) const
Set pfo particle id.
TwoDSlidingFitResultMap m_slidingFitResultMap
The sliding fit result map.
virtual void UpdateForNewCluster(const pandora::Cluster *const pNewCluster)
Update to reflect addition of a new cluster to the problem space.
virtual bool MakeClusterSplits(const SplitPositionMap &splitPositionMap)
Make cluster splits.
void AddToSlidingFitCache(const pandora::Cluster *const pCluster)
Add a new sliding fit result, for the specified cluster, to the algorithm cache.
virtual void UpdateUponDeletion(const pandora::Cluster *const pDeletedCluster)
Update to reflect cluster deletion.
unsigned int GetSlidingFitWindow() const
Get the layer window for the sliding linear fits.
virtual void TidyUp()
Tidy member variables in derived class.
static bool SortSplitPositions(const pandora::CartesianVector &lhs, const pandora::CartesianVector &rhs)
Sort split position cartesian vectors by increasing x coordinate.
virtual bool MakeClusterSplit(const pandora::CartesianVector &splitPosition, const pandora::Cluster *&pCurrentCluster, const pandora::Cluster *&pLowXCluster, const pandora::Cluster *&pHighXCluster) const
Make a cluster split.
unsigned int m_minClusterCaloHits
The min number of hits in base cluster selection method.
void RemoveFromSlidingFitCache(const pandora::Cluster *const pCluster)
Remova an existing sliding fit result, for the specified cluster, from the algorithm cache.
virtual pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Read the algorithm settings.
NViewTrackMatchingAlgorithm()
Default constructor.
virtual ~NViewTrackMatchingAlgorithm()
Destructor.
float m_minClusterLengthSquared
The min length (squared) in base cluster selection method.
unsigned int m_slidingFitWindow
The layer window for the sliding linear fits.
const TwoDSlidingFitResult & GetCachedSlidingFitResult(const pandora::Cluster *const pCluster) const
Get a sliding fit result from the algorithm cache.
virtual void PrepareInputClusters(pandora::ClusterList &preparedClusterList)
Perform any preparatory steps required on the input clusters, e.g. caching expensive fit results.
virtual void SelectInputClusters(const pandora::ClusterList *const pInputClusterList, pandora::ClusterList &selectedClusterList) const
Select a subset of input clusters for processing in this algorithm.
TwoDSlidingFitResult class.
std::unordered_map< const pandora::Cluster *, pandora::CartesianPointVector > SplitPositionMap
std::unordered_map< const pandora::Cluster *, TwoDSlidingFitResult > TwoDSlidingFitResultMap
MANAGED_CONTAINER< const Cluster * > ClusterList
StatusCode
The StatusCode enum.