CutClusterCharacterisationAlgorithm.h
Go to the documentation of this file.
1 /**
2  * @file larpandoracontent/LArTrackShowerId/CutClusterCharacterisationAlgorithm.h
3  *
4  * @brief Header file for the cut based cluster characterisation algorithm class.
5  *
6  * $Log: $
7  */
8 #ifndef LAR_CUT_CLUSTER_CHARACTERISATION_ALGORITHM_H
9 #define LAR_CUT_CLUSTER_CHARACTERISATION_ALGORITHM_H 1
10 
12 
13 namespace lar_content
14 {
15 
16 /**
17  * @brief CutClusterCharacterisationAlgorithm class
18  */
20 {
21 public:
22  /**
23  * @brief Default constructor
24  */
26 
27  /**
28  * @brief Get the distance between the interaction vertex (if present in the current vertex list) and a provided cluster
29  *
30  * @param pAlgorithm the address of the calling algorithm
31  * @param pCluster address of the cluster
32  *
33  * @return the vertex distance
34  */
35  static float GetVertexDistance(const pandora::Algorithm *const pAlgorithm, const pandora::Cluster *const pCluster);
36 
37  /**
38  * @brief Get a measure of the width of a cluster, using a sliding shower fit result
39  *
40  * @param pAlgorithm the address of the calling algorithm
41  * @param pCluster address of the cluster
42  * @param showerFitWindow the layer window used for the sliding shower fit
43  *
44  * @return the shower fit width
45  */
46  static float GetShowerFitWidth(const pandora::Algorithm *const pAlgorithm, const pandora::Cluster *const pCluster, const unsigned int showerFitWindow);
47 
48 private:
49  virtual bool IsClearTrack(const pandora::Cluster *const pCluster) const;
50  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
51 
52  unsigned int m_slidingFitWindow; ///< The layer window for the sliding linear fits
53  unsigned int m_slidingShowerFitWindow; ///< The layer window for the sliding shower fits
54  unsigned int m_minCaloHitsCut; ///< The minimum number of calo hits to qualify as a track
55  float m_maxShowerLengthCut; ///< The maximum cluster length to qualify as a shower
56  float m_pathLengthRatioCut; ///< The maximum ratio of path length to straight line length to qualify as a track
57  float m_rTWidthRatioCut; ///< The maximum ratio of transverse fit position width to straight line length to qualify as a track
58  float m_vertexDistanceRatioCut; ///< The maximum ratio of vertex separation to straight line length to qualify as a track
59  float m_showerWidthRatioCut; ///< The maximum ratio of shower fit width to straight line length to qualify as a track
60 };
61 
62 } // namespace lar_content
63 
64 #endif // #ifndef LAR_CUT_CLUSTER_CHARACTERISATION_ALGORITHM_H
Header file for the cluster characterisation base algorithm class.
virtual bool IsClearTrack(const pandora::Cluster *const pCluster) const
Whether cluster is identified as a clear track.
static float GetVertexDistance(const pandora::Algorithm *const pAlgorithm, const pandora::Cluster *const pCluster)
Get the distance between the interaction vertex (if present in the current vertex list) and a provide...
float m_rTWidthRatioCut
The maximum ratio of transverse fit position width to straight line length to qualify as a track...
float m_vertexDistanceRatioCut
The maximum ratio of vertex separation to straight line length to qualify as a track.
float m_maxShowerLengthCut
The maximum cluster length to qualify as a shower.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
unsigned int m_minCaloHitsCut
The minimum number of calo hits to qualify as a track.
unsigned int m_slidingShowerFitWindow
The layer window for the sliding shower fits.
unsigned int m_slidingFitWindow
The layer window for the sliding linear fits.
float m_showerWidthRatioCut
The maximum ratio of shower fit width to straight line length to qualify as a track.
static float GetShowerFitWidth(const pandora::Algorithm *const pAlgorithm, const pandora::Cluster *const pCluster, const unsigned int showerFitWindow)
Get a measure of the width of a cluster, using a sliding shower fit result.
float m_pathLengthRatioCut
The maximum ratio of path length to straight line length to qualify as a track.