LArSoft  v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
CheatingClusterMergingAlgorithm.h
Go to the documentation of this file.
1 
9 #ifndef LAR_CHEATING_CLUSTER_MERGING_ALGORITHM_H
10 #define LAR_CHEATING_CLUSTER_MERGING__ALGORITHM_H 1
11 
13 
14 namespace lar_content
15 {
16 
20 class CheatingClusterMergingAlgorithm : public pandora::Algorithm
21 {
22 public:
27 
28 private:
29  pandora::StatusCode Run();
30  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
31 
38  void CheatedClusterMerging(const pandora::ClusterList *const pClusterList, const std::string &listName) const;
39 
46  const pandora::MCParticle *GetMCForCluster(
47  const pandora::Cluster *const cluster, std::map<const pandora::Cluster *, const pandora::MCParticle *> &clusterToMCMap) const;
48 
55  bool IsValidToUse(const pandora::Cluster *const cluster, std::map<const pandora::Cluster *, bool> &clusterIsUsed) const;
56 
57  pandora::StringVector m_inputClusterListNames;
58  std::string m_mcParticleListName;
60 };
61 
62 } // namespace lar_content
63 
64 #endif // #ifndef LAR_CHEATING_CLUSTER_MERGING_ALGORITHM_H
pandora::StringVector m_inputClusterListNames
The names of the input cluster lists.
std::string m_mcParticleListName
Input MC particle list name.
void CheatedClusterMerging(const pandora::ClusterList *const pClusterList, const std::string &listName) const
Cheated Cluster Merging. Use MC to match clusters based on the main MC particle.
Cluster finding and building.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Header file for the master algorithm class.
bool IsValidToUse(const pandora::Cluster *const cluster, std::map< const pandora::Cluster *, bool > &clusterIsUsed) const
If a cluster is valid to use: Is a shower tagged cluster, and not been used yet.
const pandora::MCParticle * GetMCForCluster(const pandora::Cluster *const cluster, std::map< const pandora::Cluster *, const pandora::MCParticle * > &clusterToMCMap) const
Get the MC particle for a given cluster, caching to a map.
float m_minNCaloHits
The minimum number of hits for a cluster to be deemed true for IsAvailableToUse.