LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
UndershootTracksTool.h
Go to the documentation of this file.
1 
8 #ifndef UNDERSHOOT_TRACKS_TOOL_H
9 #define UNDERSHOOT_TRACKS_TOOL_H 1
10 
12 
13 namespace lar_content
14 {
15 
20 {
21 public:
26 
27 private:
31  class Particle
32  {
33  public:
40  Particle(const TensorType::Element &elementA, const TensorType::Element &elementB);
41 
42  const pandora::Cluster *m_pClusterA;
43  const pandora::Cluster *m_pClusterB;
44  const pandora::Cluster *m_pCommonCluster1;
45  const pandora::Cluster *m_pCommonCluster2;
46  };
47 
49  ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const IteratorList &iteratorList, ModificationList &modificationList) const;
50  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
51 
62  bool IsThreeDKink(ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const Particle &particle,
63  const pandora::CartesianVector &splitPosition, const bool isALowestInX) const;
64 
65  bool m_splitMode;
69 };
70 
71 } // namespace lar_content
72 
73 #endif // #ifndef UNDERSHOOT_TRACKS_TOOL_H
std::vector< Modification > ModificationList
const pandora::Cluster * m_pClusterA
Address of non-shared cluster in element A.
std::vector< TensorType::ElementList::const_iterator > IteratorList
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Header file for the three d kink base tool.
float m_cosThetaCutForKinkSearch
The cos theta cut used for the kink search in three dimensions.
float m_minImpactParameterCosTheta
The minimum cos theta (angle between vertex directions) for connecting broken clusters.
UndershootTracksTool()
Default constructor.
const pandora::Cluster * m_pCommonCluster1
Address of the common cluster in view 1.
const pandora::Cluster * m_pClusterB
Address of non-shared cluster in element B.
bool m_splitMode
Whether to run in cluster splitting mode, as opposed to cluster merging mode.
bool IsThreeDKink(ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const Particle &particle, const pandora::CartesianVector &splitPosition, const bool isALowestInX) const
Whether the provided particle is consistent with being a kink, when examined in three dimensions at t...
void GetIteratorListModifications(ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const IteratorList &iteratorList, ModificationList &modificationList) const
Get modification objects for a specific elements of the tensor, identifying required splits and merge...
ThreeDKinkBaseTool class.
const pandora::Cluster * m_pCommonCluster2
Address of the common cluster in view 2.
float m_maxTransverseImpactParameter
The maximum transverse impact parameter for connecting broken clusters.
Particle(const TensorType::Element &elementA, const TensorType::Element &elementB)
Constructor.
UndershootTracksTool class.