8 #ifndef OVERSHOOT_TRACKS_TOOL_H
9 #define OVERSHOOT_TRACKS_TOOL_H 1
40 Particle(
const TensorType::Element &elementA,
const TensorType::Element &elementB);
54 pandora::StatusCode
ReadSettings(
const pandora::TiXmlHandle xmlHandle);
87 const bool isA2LowestInX)
const;
96 #endif // #ifndef OVERSHOOT_TRACKS_TOOL_H
std::vector< Modification > ModificationList
pandora::CartesianVector m_splitPosition2
The candidate split position in view 2.
bool IsThreeDKink(ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const Particle &particle, const bool isA1LowestInX, const bool isA2LowestInX) const
Whether the provided particle is consistent with being a kink, when examined in three dimensions at t...
std::vector< TensorType::ElementList::const_iterator > IteratorList
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...
bool m_splitMode
Whether to run in cluster splitting mode, as opposed to cluster merging mode.
const pandora::Cluster * m_pCommonCluster
Address of the common cluster.
void SetSplitPosition(const LArPointingCluster::Vertex &vertexA1, const LArPointingCluster::Vertex &vertexA2, const LArPointingCluster::Vertex &vertexB1, const LArPointingCluster::Vertex &vertexB2, Particle &particle) const
Set split position for a provided particle.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
OvershootTracksTool class.
const pandora::Cluster * m_pClusterA1
Address of cluster in element A, view 1.
float m_maxVertexXSeparation
The max separation between accompanying clusters vertex x positions to make split.
const pandora::Cluster * m_pClusterB2
Address of cluster in element B, view 2.
float m_cosThetaCutForKinkSearch
The cos theta cut used for the kink search in three dimensions.
pandora::CartesianVector m_splitPosition
The candidate split position for the common cluster.
Particle(const TensorType::Element &elementA, const TensorType::Element &elementB)
Constructor.
bool PassesVertexCuts(const LArPointingCluster::Vertex &vertexA, const LArPointingCluster::Vertex &vertexB) const
Whether a pair of vertices pass longitudinal projection cuts.
pandora::CartesianVector m_splitPosition1
The candidate split position in view 1.
ThreeDKinkBaseTool class.
const pandora::Cluster * m_pClusterA2
Address of cluster in element A, view 2.
ThreeViewTransverseTracksAlgorithm class.
const pandora::Cluster * m_pClusterB1
Address of cluster in element B, view 1.
OvershootTracksTool()
Default constructor.