LocalAsymmetryFeatureTool.h
Go to the documentation of this file.
1 /**
2  * @file larpandoracontent/LArVertex/LocalAsymmetryFeatureTool.h
3  *
4  * @brief Header file for the local asymmetry feature tool class.
5  *
6  * $Log: $
7  */
8 #ifndef LAR_LOCAL_ASYMMETRY_FEATURE_TOOL_H
9 #define LAR_LOCAL_ASYMMETRY_FEATURE_TOOL_H 1
10 
12 
13 namespace lar_content
14 {
15 
16 /**
17  * @brief LocalAsymmetryFeatureTool class
18  */
20 {
21 public:
22  /**
23  * @brief Default constructor
24  */
26 
27 private:
28  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle) override;
29 
30  /**
31  * @brief Get the local asymmetry feature in a given view
32  *
33  * @param vertexPosition2D the vertex position projected into this view
34  * @param slidingFitDataList the list of sliding fit data objects in this view
35  *
36  * @return the local asymmetry feature
37  */
38  float GetAsymmetryForView(const pandora::CartesianVector &vertexPosition2D, const VertexSelectionBaseAlgorithm::SlidingFitDataList &slidingFitDataList,
40 
41  /**
42  * @brief Check whether a cluster's direction agrees with the current weighted direction
43  *
44  * @param weightedDirectionSum the current weighted direction
45  * @param clusterDirection the cluster's direction
46  *
47  * @return boolean
48  */
49  bool CheckAngle(const pandora::CartesianVector &weightedDirectionSum, const pandora::CartesianVector &clusterDirection) const;
50 
51  float m_minAsymmetryCosAngle; ///< The min opening angle cosine used to determine viability of asymmetry score
52  unsigned int m_maxAsymmetryNClusters; ///< The max number of associated clusters to calculate the asymmetry
53 };
54 
55 } // namespace lar_content
56 
57 #endif // #ifndef LAR_LOCAL_ASYMMETRY_FEATURE_TOOL_H
float GetAsymmetryForView(const pandora::CartesianVector &vertexPosition2D, const VertexSelectionBaseAlgorithm::SlidingFitDataList &slidingFitDataList, const VertexSelectionBaseAlgorithm::ShowerClusterList &) const override
Get the local asymmetry feature in a given view.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle) override
bool CheckAngle(const pandora::CartesianVector &weightedDirectionSum, const pandora::CartesianVector &clusterDirection) const
Check whether a cluster&#39;s direction agrees with the current weighted direction.
Header file for the global asymmetry feature tool class.
AsymmetryFeatureBaseTool class.
float m_minAsymmetryCosAngle
The min opening angle cosine used to determine viability of asymmetry score.
unsigned int m_maxAsymmetryNClusters
The max number of associated clusters to calculate the asymmetry.