ConeClusterMopUpAlgorithm.h
Go to the documentation of this file.
1 /**
2  * @file larpandoracontent/LArTwoDReco/LArClusterMopUp/ConeClusterMopUpAlgorithm.h
3  *
4  * @brief Header file for the cone cluster mop up algorithm class.
5  *
6  * $Log: $
7  */
8 #ifndef LAR_CONE_CLUSTER_MOP_UP_ALGORITHM_H
9 #define LAR_CONE_CLUSTER_MOP_UP_ALGORITHM_H 1
10 
11 #include "Pandora/Algorithm.h"
12 
14 
15 namespace lar_content
16 {
17 
18 /**
19  * @brief ConeClusterMopUpAlgorithm class
20  */
22 {
23 public:
24  /**
25  * @brief Default constructor
26  */
28 
29 private:
30  void ClusterMopUp(const pandora::ClusterList &pfoClusters, const pandora::ClusterList &remnantClusters) const;
31 
32  typedef std::pair<float, float> Coordinate;
33  typedef std::vector<Coordinate> CoordinateList;
34 
35  /**
36  * @brief Sort coordinates by increasing transverse displacement
37  *
38  * @param lhs the first coordinate for comparison
39  * @param rhs the second coordinate for comparison
40  *
41  * @return boolean
42  */
43  static bool SortCoordinates(const Coordinate &lhs, const Coordinate &rhs);
44 
45  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
46 
47  unsigned int m_slidingFitWindow; ///< The layer window for the sliding linear fits
48  float m_showerEdgeMultiplier; ///< Artificially tune width of shower envelope so as to make it more/less inclusive
49  float m_coneAngleCentile; ///< Cluster cone angle is defined using specified centile of distribution of hit half angles
50  float m_maxConeLengthMultiplier; ///< Consider hits as bound if inside cone, with projected distance less than N times cone length
51  float m_minBoundedFraction; ///< The minimum cluster bounded fraction for merging
52 };
53 
54 } // namespace lar_content
55 
56 #endif // #ifndef LAR_CONE_CLUSTER_MOP_UP_ALGORITHM_H
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
static bool SortCoordinates(const Coordinate &lhs, const Coordinate &rhs)
Sort coordinates by increasing transverse displacement.
float m_maxConeLengthMultiplier
Consider hits as bound if inside cone, with projected distance less than N times cone length...
float m_minBoundedFraction
The minimum cluster bounded fraction for merging.
float m_showerEdgeMultiplier
Artificially tune width of shower envelope so as to make it more/less inclusive.
Header file for the cluster mop up algorithm base class.
void ClusterMopUp(const pandora::ClusterList &pfoClusters, const pandora::ClusterList &remnantClusters) const
Cluster mop up for a single view. This function is responsible for instructing pandora to make cluste...
float m_coneAngleCentile
Cluster cone angle is defined using specified centile of distribution of hit half angles...
unsigned int m_slidingFitWindow
The layer window for the sliding linear fits.