8 #ifndef LAR_TWO_D_SLIDING_FIT_CONSOLIDATION_ALGORITHM_H 9 #define LAR_TWO_D_SLIDING_FIT_CONSOLIDATION_ALGORITHM_H 1 11 #include "Pandora/Algorithm.h" 15 #include <unordered_map> 32 pandora::StatusCode
Run();
33 pandora::StatusCode
ReadSettings(
const pandora::TiXmlHandle xmlHandle);
35 typedef std::unordered_map<const pandora::Cluster *, pandora::CaloHitList>
ClusterToHitMap;
46 ClusterToHitMap &caloHitsToAdd, ClusterToHitMap &caloHitsToRemove)
const = 0;
73 pandora::StatusCode
RemoveHitsFromClusters(
const ClusterToHitMap &clustersToRebuild, pandora::ClusterSet &unavailableClusters)
const;
81 pandora::StatusCode
AddHitsToClusters(
const ClusterToHitMap &clustersToRebuild, pandora::ClusterSet &unavailableClusters)
const;
89 pandora::StatusCode
RebuildClusters(
const ClusterToHitMap &clustersAtStart,
const pandora::ClusterSet &unavailableClusters)
const;
99 #endif // #ifndef LAR_TWO_D_SLIDING_FIT_CONSOLIDATION_ALGORITHM_H
TwoDSlidingFitConsolidationAlgorithm class.
unsigned int m_halfWindowLayers
Size of layer window for sliding fit results.
std::unordered_map< const pandora::Cluster *, pandora::CaloHitList > ClusterToHitMap
float m_maxClusterLength
Maximum length of shower clusters to use in re-building.
TwoDSlidingFitConsolidationAlgorithm()
Default constructor.
float m_minTrackLength
Minimum length of track clusters to consolidate.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
void BuildSlidingLinearFits(const pandora::ClusterVector &trackClusters, TwoDSlidingFitResultList &slidingFitResultList) const
Apply sliding linear fits to track clusters.
Header file for the lar two dimensional sliding fit result class.
std::vector< TwoDSlidingFitResult > TwoDSlidingFitResultList
std::string m_reclusteringAlgorithmName
Name of daughter algorithm to use for cluster re-building.
pandora::StatusCode Run()
void SortInputClusters(const pandora::ClusterList *const pClusterList, pandora::ClusterVector &trackClusters, pandora::ClusterVector &showerClusters) const
Sort input cluster list into track-like clusters and shower-like clusters.
virtual void GetReclusteredHits(const TwoDSlidingFitResultList &slidingFitResultList, const pandora::ClusterVector &showerClusters, ClusterToHitMap &caloHitsToAdd, ClusterToHitMap &caloHitsToRemove) const =0
Get the list of hits to be added or removed from clusters.
std::vector< art::Ptr< recob::Cluster > > ClusterVector
pandora::StatusCode AddHitsToClusters(const ClusterToHitMap &clustersToRebuild, pandora::ClusterSet &unavailableClusters) const
Add hits to clusters.
pandora::StatusCode RemoveHitsFromClusters(const ClusterToHitMap &clustersToRebuild, pandora::ClusterSet &unavailableClusters) const
Remove hits from clusters.
pandora::StatusCode RebuildClusters(const ClusterToHitMap &clustersAtStart, const pandora::ClusterSet &unavailableClusters) const
Re-build clusters.