ShowerAsymmetryFeatureTool.h
Go to the documentation of this file.
1 /**
2  * @file larpandoracontent/LArVertex/ShowerAsymmetryFeatureTool.h
3  *
4  * @brief Header file for the shower asymmetry feature tool class.
5  *
6  * $Log: $
7  */
8 #ifndef LAR_SHOWER_ASYMMETRY_FEATURE_TOOL_H
9 #define LAR_SHOWER_ASYMMETRY_FEATURE_TOOL_H 1
10 
12 
14 
15 namespace lar_content
16 {
17 
18 /**
19  * @brief ShowerAsymmetryFeatureTool class
20  */
22 {
23 public:
24  /**
25  * @brief Default constructor
26  */
28 
29 private:
30  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle) override;
31 
32  /**
33  * @brief Get the shower asymmetry feature for a given view
34  *
35  * @param vertexPosition2D the projected vertex position
36  * @param showerClusterList the list of shower clusters in this view
37  *
38  * @return the shower asymmetry feature
39  */
40  float GetAsymmetryForView(const pandora::CartesianVector &vertexPosition2D, const VertexSelectionBaseAlgorithm::SlidingFitDataList &,
41  const VertexSelectionBaseAlgorithm::ShowerClusterList &showerClusterList) const override;
42 
43  /**
44  * @brief Get whether we should use a given shower cluster for asymmetry calculation
45  *
46  * @param vertexPosition the projected vertex position
47  * @param showerCluster the shower cluster
48  *
49  * @return whether the shower cluster should be considered
50  */
51  bool ShouldUseShowerCluster(const pandora::CartesianVector &vertexPosition, const VertexSelectionBaseAlgorithm::ShowerCluster &showerCluster) const;
52 
53  float m_vertexClusterDistance; ///< The distance around the vertex to look for shower clusters
54 };
55 
56 } // namespace lar_content
57 
58 #endif // #ifndef LAR_SHOWER_ASYMMETRY_FEATURE_TOOL_H
float m_vertexClusterDistance
The distance around the vertex to look for shower clusters.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle) override
Header file for the lar two dimensional sliding fit result class.
Header file for the global asymmetry feature tool class.
AsymmetryFeatureBaseTool class.
float GetAsymmetryForView(const pandora::CartesianVector &vertexPosition2D, const VertexSelectionBaseAlgorithm::SlidingFitDataList &, const VertexSelectionBaseAlgorithm::ShowerClusterList &showerClusterList) const override
Get the shower asymmetry feature for a given view.
bool ShouldUseShowerCluster(const pandora::CartesianVector &vertexPosition, const VertexSelectionBaseAlgorithm::ShowerCluster &showerCluster) const
Get whether we should use a given shower cluster for asymmetry calculation.