LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
LArPointingClusterHelper class. More...
#include "LArPointingClusterHelper.h"
Static Public Member Functions | |
static float | GetLengthSquared (const LArPointingCluster &pointingCluster) |
Calculate distance squared between inner and outer vertices of pointing cluster. More... | |
static float | GetLength (const LArPointingCluster &pointingCluster) |
Calculate distance squared between inner and outer vertices of pointing cluster. More... | |
static bool | IsNode (const pandora::CartesianVector &parentVertex, const LArPointingCluster::Vertex &daughterVertex, const float minLongitudinalDistance, const float maxTransverseDistance) |
Whether pointing vertex is adjacent to a given position. More... | |
static bool | IsEmission (const pandora::CartesianVector &parentVertex, const LArPointingCluster::Vertex &daughterVertex, const float minLongitudinalDistance, const float maxLongitudinalDistance, const float maxTransverseDistance, const float angularAllowance) |
Whether pointing vertex is emitted from a given position. More... | |
static pandora::CartesianVector | GetProjectedPosition (const pandora::CartesianVector &initialPosition, const pandora::CartesianVector &initialDirection, const pandora::Cluster *const pCluster, const float projectionAngularAllowance) |
Get projected position on a cluster from a specified position and direction. More... | |
static void | GetClosestVertices (const bool useX, const bool useY, const bool useZ, const LArPointingCluster &pointingClusterI, const LArPointingCluster &pointingClusterJ, LArPointingCluster::Vertex &closestVertexI, LArPointingCluster::Vertex &closestVertexJ) |
Given a pair of pointing clusters, receive the closest or farthest pair of vertices. More... | |
static void | GetClosestVertices (const LArPointingCluster &pointingClusterI, const LArPointingCluster &pointingClusterJ, LArPointingCluster::Vertex &closestVertexI, LArPointingCluster::Vertex &closestVertexJ) |
Given a pair of pointing clusters, find the closest pair of vertices. More... | |
static void | GetClosestVerticesInX (const LArPointingCluster &pointingClusterI, const LArPointingCluster &pointingClusterJ, LArPointingCluster::Vertex &closestVertexI, LArPointingCluster::Vertex &closestVertexJ) |
Given a pair of pointing clusters, find the pair of vertices with smallest x-separation. More... | |
static void | GetClosestVerticesInYZ (const LArPointingCluster &pointingClusterI, const LArPointingCluster &pointingClusterJ, LArPointingCluster::Vertex &closestVertexI, LArPointingCluster::Vertex &closestVertexJ) |
Given a pair of pointing clusters, find the pair of vertices with smallest yz-separation. More... | |
static void | GetImpactParametersInYZ (const LArPointingCluster::Vertex &pointingVertex, const LArPointingCluster::Vertex &targetVertex, float &longitudinal, float &transverse) |
Calculate impact parameters between a pair of pointing vertices using yz-coordinates. More... | |
static void | GetImpactParameters (const LArPointingCluster::Vertex &pointingVertex, const LArPointingCluster::Vertex &targetVertex, float &longitudinal, float &transverse) |
Calculate impact parameters between a pair of pointing vertices. More... | |
static void | GetImpactParameters (const LArPointingCluster::Vertex &pointingVertex, const pandora::CartesianVector &targetPosition, float &longitudinal, float &transverse) |
Calculate impact parameters between a pointing cluster vertex and a target position. More... | |
static void | GetImpactParameters (const pandora::CartesianVector &initialPosition, const pandora::CartesianVector &initialDirection, const pandora::CartesianVector &targetPosition, float &longitudinal, float &transverse) |
Calculate impact parameters of a specified position and direction to a target position. More... | |
static void | GetIntersection (const LArPointingCluster::Vertex &firstVertex, const LArPointingCluster::Vertex &secondVertex, pandora::CartesianVector &intersectPosition, float &firstDisplacement, float &secondDisplacement) |
Get intersection of two vertices. More... | |
static void | GetAverageDirection (const LArPointingCluster::Vertex &firstVertex, const LArPointingCluster::Vertex &secondVertex, pandora::CartesianVector &averageDirection) |
Get average direction of two vertices. More... | |
static void | GetIntersection (const pandora::CartesianVector &firstPosition, const pandora::CartesianVector &firstDirection, const pandora::CartesianVector &secondPosition, const pandora::CartesianVector &secondDirection, pandora::CartesianVector &intersectPosition, float &firstDisplacement, float &secondDisplacement) |
Get intersection of two vertices. More... | |
static void | GetIntersection (const LArPointingCluster::Vertex &vertexCluster, const pandora::Cluster *const pTargetCluster, pandora::CartesianVector &intersectPosition, float &displacementL, float &displacementT) |
Get intersection of vertex with target cluster. More... | |
static LArPointingCluster::Vertex | GetBestVertexEstimate (const LArPointingClusterVertexList &vertexList, const LArPointingClusterList &pointingClusterList, const float minLongitudinalDistance, const float maxLongitudinalDistance, const float maxTransverseDistance, const float angularAllowance) |
Simple and fast vertex selection, choosing best vertex from a specified list to represent a set of pointing clusters. More... | |
Static Private Member Functions | |
static void | CollectAssociatedClusters (const LArPointingCluster::Vertex &vertex, const LArPointingClusterList &inputList, const float minLongitudinalDistance, const float maxLongitudinalDistance, const float maxTransverseDistance, const float angularAllowance, LArPointingClusterVertexList &outputList) |
Collect cluster vertices, from a provided input list, associated with a specified vertex. More... | |
static float | GetAssociatedEnergy (const LArPointingCluster::Vertex &vertex, const LArPointingClusterVertexList &clusterVertices) |
Get an estimate of the energy associated with a specified vertex. More... | |
LArPointingClusterHelper class.
Definition at line 21 of file LArPointingClusterHelper.h.
|
staticprivate |
Collect cluster vertices, from a provided input list, associated with a specified vertex.
vertex | the vertex |
inputList | the input list of pointing clusters |
minLongitudinalDistance | the min longitudinal distance cut |
maxLongitudinalDistance | the max longitudinal distance cut |
maxTransverseDistance | the max transverse distance cut |
angularAllowance | the pointing angular allowance in degrees |
outputList | to receive the output list of cluster vertices associated with the specified vertex |
Definition at line 357 of file LArPointingClusterHelper.cc.
References lar_content::LArPointingCluster::GetInnerVertex(), lar_content::LArPointingCluster::GetOuterVertex(), and lar_content::LArPointingCluster::Vertex::GetPosition().
|
staticprivate |
Get an estimate of the energy associated with a specified vertex.
vertex | the vertex |
clusterVertices | the list of cluster vertices associated with the specified vertex |
Definition at line 383 of file LArPointingClusterHelper.cc.
References f, lar_content::LArPointingCluster::Vertex::GetCluster(), lar_content::LArPointingCluster::Vertex::GetDirection(), and lar_content::LArPointingCluster::Vertex::GetPosition().
|
static |
Get average direction of two vertices.
firstVertex | the first vertex |
secondVertex | the second vertex |
averageDirection | the average direction |
Definition at line 228 of file LArPointingClusterHelper.cc.
References a1, a2, f, lar_content::LArPointingCluster::Vertex::GetCluster(), lar_content::LArPointingCluster::Vertex::GetDirection(), GetIntersection(), and lar_content::LArPointingCluster::Vertex::GetPosition().
|
static |
Simple and fast vertex selection, choosing best vertex from a specified list to represent a set of pointing clusters.
vertexList | the candidate vertex list |
pointingClusterList | the pointing cluster list |
minLongitudinalDistance | the min longitudinal distance cut |
maxLongitudinalDistance | the max longitudinal distance cut |
maxTransverseDistance | the max transverse distance cut |
angularAllowance | the pointing angular allowance in degrees |
Definition at line 325 of file LArPointingClusterHelper.cc.
References f.
|
static |
Given a pair of pointing clusters, receive the closest or farthest pair of vertices.
useX | use relative X coordinates in the calculation |
useY | use relative Y coordinates in the calculation |
useZ | use relative Z coordinates in the calculation |
pointingClusterI | the first pointing cluster |
pointingClusterJ | the second pointing cluster |
closestVertexI | to receive the relevant vertex from the first pointing cluster |
closestVertexJ | to receive the relevant vertex from the second pointing cluster |
Definition at line 107 of file LArPointingClusterHelper.cc.
References f, lar_content::LArPointingCluster::GetCluster(), lar_content::LArPointingCluster::GetInnerVertex(), and lar_content::LArPointingCluster::GetOuterVertex().
Referenced by lar_content::LongitudinalExtensionAlgorithm::FillClusterAssociationMatrix(), lar_content::CosmicRayExtensionAlgorithm::FillClusterAssociationMatrix(), lar_content::UndershootTracksTool::GetIteratorListModifications(), lar_content::TwoViewThreeDKinkTool::GetIteratorListModifications(), and lar_content::CosmicRayTrackRecoveryAlgorithm::MatchClusters().
|
static |
Given a pair of pointing clusters, find the closest pair of vertices.
pointingClusterI | the first pointing cluster |
pointingClusterJ | the second pointing cluster |
closestVertexI | to receive the relevant vertex from the first pointing cluster |
closestVertexJ | to receive the relevant vertex from the second pointing cluster |
Definition at line 160 of file LArPointingClusterHelper.cc.
|
static |
Given a pair of pointing clusters, find the pair of vertices with smallest x-separation.
pointingClusterI | the first pointing cluster |
pointingClusterJ | the second pointing cluster |
closestVertexI | to receive the relevant vertex from the first pointing cluster |
closestVertexJ | to receive the relevant vertex from the second pointing cluster |
Definition at line 168 of file LArPointingClusterHelper.cc.
Referenced by lar_content::OvershootTracksTool::GetIteratorListModifications().
|
static |
Given a pair of pointing clusters, find the pair of vertices with smallest yz-separation.
pointingClusterI | the first pointing cluster |
pointingClusterJ | the second pointing cluster |
closestVertexI | to receive the relevant vertex from the first pointing cluster |
closestVertexJ | to receive the relevant vertex from the second pointing cluster |
Definition at line 176 of file LArPointingClusterHelper.cc.
|
static |
Calculate impact parameters between a pair of pointing vertices.
pointingVertex | the pointing vertex |
targetPosition | the target position |
longitidinal | the longitudinal displacement |
transverse | the transverse displacement |
Definition at line 199 of file LArPointingClusterHelper.cc.
References lar_content::LArPointingCluster::Vertex::GetDirection(), and lar_content::LArPointingCluster::Vertex::GetPosition().
Referenced by lar_content::CosmicRaySplittingAlgorithm::ConfirmSplitPosition(), lar_content::StitchingCosmicRayMergingTool::CreatePfoMatches(), lar_content::LongitudinalExtensionAlgorithm::FillClusterAssociationMatrix(), lar_content::DeltaRaySplittingAlgorithm::FindBestSplitPosition(), lar_content::BranchSplittingAlgorithm::FindBestSplitPosition(), lar_content::UndershootTracksTool::GetIteratorListModifications(), lar_content::TwoViewThreeDKinkTool::GetIteratorListModifications(), lar_content::TransverseExtensionAlgorithm::GetListOfCleanClusters(), lar_content::OvershootTracksTool::PassesVertexCuts(), and lar_content::VertexBasedPfoRecoveryAlgorithm::SelectVertexClusters().
|
static |
Calculate impact parameters between a pointing cluster vertex and a target position.
pointingVertex | the pointing vertex |
targetPosition | the target position |
longitidinal | the longitudinal displacement |
transverse | the transverse displacement |
|
static |
Calculate impact parameters of a specified position and direction to a target position.
initialPosition | the initial position of the cluster |
initialDirection | the initial direction of the cluster |
targetPosition | the target position |
longitidinal | the longitudinal displacement |
transverse | the transverse displacement |
|
static |
Calculate impact parameters between a pair of pointing vertices using yz-coordinates.
pointingVertex | the pointing vertex |
targetPosition | the target position |
longitidinal | the longitudinal displacement |
transverse | the transverse displacement |
Definition at line 184 of file LArPointingClusterHelper.cc.
References f, lar_content::LArPointingCluster::Vertex::GetDirection(), and lar_content::LArPointingCluster::Vertex::GetPosition().
Referenced by lar_content::StitchingCosmicRayMergingTool::CreatePfoMatches().
|
static |
Get intersection of two vertices.
firstVertex | the first vertex |
secondVertex | the second vertex |
intersectPosition | the position of the intersection |
firstDisplacement | the displacement from first vertex to intersection |
secondDisplacement | the displacement from second vertex to intersection |
Referenced by lar_content::OvershootSplittingAlgorithm::BuildIntersectionMap(), lar_content::EventSlicingTool::CheckClosestApproach(), and lar_content::CrossedTrackSplittingAlgorithm::FindBestSplitPosition().
|
static |
Get intersection of two vertices.
firstPosition | the position of the first vertex |
firstDirection | the direction of the first vertex |
secondPosition | the position of the second vertex |
secondDirection | the direction of the second vertex |
intersectPosition | the position of the intersection |
firstDisplacement | the displacement from first vertex to intersection |
secondDisplacement | the displacement from second vertex to intersection |
|
static |
Get intersection of vertex with target cluster.
vertexCluster | the vertex |
pTargetCluster | the target cluster |
intersectPosition | the position of the intersection |
displacementL | the longitudinal displacement |
displacementT | the transverse displacement |
|
static |
Calculate distance squared between inner and outer vertices of pointing cluster.
pointingCluster | the input pointing cluster |
Definition at line 26 of file LArPointingClusterHelper.cc.
Referenced by lar_content::LongitudinalExtensionAlgorithm::FillClusterAssociationMatrix().
|
static |
Calculate distance squared between inner and outer vertices of pointing cluster.
pointingCluster | the input pointing cluster |
Definition at line 17 of file LArPointingClusterHelper.cc.
References lar_content::LArPointingCluster::GetInnerVertex(), and lar_content::LArPointingCluster::GetOuterVertex().
Referenced by lar_content::CosmicRayExtensionAlgorithm::FillClusterAssociationMatrix().
|
static |
Get projected position on a cluster from a specified position and direction.
initialPosition | the initial position of the cluster |
initialDirection | the initial direction of the cluster |
pCluster | address of the cluster |
projectionAngularAllowance | the projection angular allowance |
Definition at line 66 of file LArPointingClusterHelper.cc.
References f.
Referenced by lar_content::BranchSplittingAlgorithm::FindBestSplitPosition().
|
static |
Whether pointing vertex is emitted from a given position.
parentVertex | the parent vertex position |
daughtervertex | the daughter pointing vertex |
minLongitudinalDistance | the min longitudinal distance cut |
maxLongitudinalDistance | the max longitudinal distance cut |
maxTransverseDistance | the max transverse distance cut |
angularAllowance | the pointing angular allowance in degrees |
Definition at line 47 of file LArPointingClusterHelper.cc.
References f, lar_content::LArPointingCluster::Vertex::GetDirection(), and lar_content::LArPointingCluster::Vertex::GetPosition().
Referenced by lar_content::SplitShowersTool::CheckClusterVertexRelations(), lar_content::CrossGapsExtensionAlgorithm::IsAssociated(), lar_content::EventSlicingTool::IsEmission(), lar_content::ShowerPfoMopUpAlgorithm::IsVertexAssociated(), lar_content::ShowerGrowingAlgorithm::IsVertexAssociated(), lar_content::CosmicRayTrackRecoveryAlgorithm::MatchClusters(), lar_content::VertexAssociatedPfosTool::Run(), and lar_content::EndAssociatedPfosTool::Run().
|
static |
Whether pointing vertex is adjacent to a given position.
parentVertex | the parent vertex position |
daughtervertex | the daughter pointing vertex |
minLongitudinalDistance | the min longitudinal distance cut |
maxTransverseDistance | the max transverse distance cut |
Definition at line 33 of file LArPointingClusterHelper.cc.
References f, lar_content::LArPointingCluster::Vertex::GetDirection(), and lar_content::LArPointingCluster::Vertex::GetPosition().
Referenced by lar_content::SplitShowersTool::CheckClusterVertexRelations(), lar_content::SlidingConePfoMopUpAlgorithm::GetClusterMergeMap(), lar_content::EventSlicingTool::IsNode(), lar_content::ShowerPfoMopUpAlgorithm::IsVertexAssociated(), lar_content::ShowerGrowingAlgorithm::IsVertexAssociated(), lar_content::VertexAssociatedPfosTool::Run(), lar_content::EndAssociatedPfosTool::Run(), lar_content::VertexBasedPfoMopUpAlgorithm::Run(), and lar_content::ParticleRecoveryAlgorithm::VertexClusterSelection().