Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
ClusterMopUpBaseAlgorithm.h
Go to the documentation of this file.
1
8#ifndef LAR_CLUSTER_MOP_UP_BASE_ALGORITHM_H
9#define LAR_CLUSTER_MOP_UP_BASE_ALGORITHM_H 1
10
12
13#include <unordered_map>
14
15namespace lar_content
16{
17
23{
24public:
29
30protected:
31 virtual pandora::StatusCode Run();
32
40 virtual void GetPfoClusterLists(pandora::ClusterList &clusterListU, pandora::ClusterList &clusterListV, pandora::ClusterList &clusterListW) const;
41
49 virtual void GetDaughterClusterLists(pandora::ClusterList &clusterListU, pandora::ClusterList &clusterListV, pandora::ClusterList &clusterListW) const;
50
60 virtual void GetClusterLists(const pandora::ClusterList &inputClusterList, const bool availabilityFlag,
61 pandora::ClusterList &clusterListU, pandora::ClusterList &clusterListV, pandora::ClusterList &clusterListW) const;
62
69 virtual void ClusterMopUp(const pandora::ClusterList &pfoClusters, const pandora::ClusterList &remnantClusters) const = 0;
70
71 typedef std::unordered_map<const pandora::Cluster *, float> AssociationDetails;
72 typedef std::unordered_map<const pandora::Cluster *, AssociationDetails> ClusterAssociationMap;
73
79 virtual void MakeClusterMerges(const ClusterAssociationMap &clusterAssociationMap) const;
80
82
85};
86
87} // namespace lar_content
88
89#endif // #ifndef LAR_CLUSTER_MOP_UP_BASE_ALGORITHM_H
Header file for the mop up algorithm base class.
pandora::StringVector m_pfoListNames
The list of pfo list names.
bool m_excludePfosContainingTracks
Whether to exclude any pfos containing clusters flagged as fixed tracks.
virtual pandora::StatusCode Run()
Run the algorithm.
std::unordered_map< const pandora::Cluster *, AssociationDetails > ClusterAssociationMap
virtual void GetPfoClusterLists(pandora::ClusterList &clusterListU, pandora::ClusterList &clusterListV, pandora::ClusterList &clusterListW) const
Get the two dimensional clusters contained in the input pfo list, divided into three different views.
virtual void ClusterMopUp(const pandora::ClusterList &pfoClusters, const pandora::ClusterList &remnantClusters) const =0
Cluster mop up for a single view. This function is responsible for instructing pandora to make cluste...
virtual void GetDaughterClusterLists(pandora::ClusterList &clusterListU, pandora::ClusterList &clusterListV, pandora::ClusterList &clusterListW) const
Get the two dimensional clusters contained in the input remant/daughter cluster lists,...
virtual pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Read the algorithm settings.
virtual void MakeClusterMerges(const ClusterAssociationMap &clusterAssociationMap) const
Make the cluster merges specified in the cluster association map, using list name information in the ...
virtual void GetClusterLists(const pandora::ClusterList &inputClusterList, const bool availabilityFlag, pandora::ClusterList &clusterListU, pandora::ClusterList &clusterListV, pandora::ClusterList &clusterListW) const
Get the two dimensional clusters contained in an input cluster list, divided into three different vie...
std::unordered_map< const pandora::Cluster *, float > AssociationDetails
MopUpBaseAlgorithm class.
MANAGED_CONTAINER< const Cluster * > ClusterList
std::vector< std::string > StringVector
StatusCode
The StatusCode enum.