CosmicRaySplittingAlgorithm class. More...
#include <CosmicRaySplittingAlgorithm.h>
Public Member Functions | |
| CosmicRaySplittingAlgorithm () | |
| Default constructor. More... | |
Private Member Functions | |
| pandora::StatusCode | Run () |
| pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
| void | GetListOfCleanClusters (const pandora::ClusterList *const pClusterList, pandora::ClusterVector &clusterVector) const |
| Populate cluster vector with subset of cluster list, containing clusters judged to be clean. More... | |
| void | BuildSlidingFitResultMap (const pandora::ClusterVector &clusterVector, TwoDSlidingFitResultMap &slidingFitResultMap) const |
| Build the map of sliding fit results. More... | |
| pandora::StatusCode | FindBestSplitPosition (const TwoDSlidingFitResult &slidingFitResult, pandora::CartesianVector &splitPosition, pandora::CartesianVector &splitDirection1, pandora::CartesianVector &splitDirection2) const |
| Find the position of greatest scatter along a sliding linear fit. More... | |
| pandora::StatusCode | ConfirmSplitPosition (const TwoDSlidingFitResult &branchSlidingFitResult, const TwoDSlidingFitResult &replacementSlidingFitResult, const pandora::CartesianVector &splitPosition, const pandora::CartesianVector &splitDirection1, const pandora::CartesianVector &splitDirection2, float &lengthSquared1, float &lengthSquared2) const |
| Find a second replacement cluster that aligns with the scatter of the first branch cluster. More... | |
| pandora::StatusCode | PerformSingleSplit (const pandora::Cluster *const pBranchCluster, const pandora::Cluster *const pReplacementCluster, const pandora::CartesianVector &splitPosition, const pandora::CartesianVector &forwardDirection, const pandora::CartesianVector &backwardDirection) const |
| Split a branch cluster for case of one replacement cluster. More... | |
| pandora::StatusCode | PerformDoubleSplit (const pandora::Cluster *const pBranchCluster, const pandora::Cluster *const pReplacementCluster1, const pandora::Cluster *const pReplacementCluster2, const pandora::CartesianVector &splitPosition, const pandora::CartesianVector &splitDirection1, const pandora::CartesianVector &splitDirection2) const |
| Split a branch cluster for case of two replacement clusters. More... | |
| void | GetCaloHitListToMove (const pandora::Cluster *const pBranchCluster, const pandora::Cluster *const pReplacementCluster, const pandora::CartesianVector &splitPosition, const pandora::CartesianVector &forwardDirection, const pandora::CartesianVector &backwardDirection, pandora::CaloHitList &caloHitList) const |
| Get list of calo hits to move in order to split a branch cluster into two segments for case of one replacement cluster. More... | |
| void | GetCaloHitListsToMove (const pandora::Cluster *const pBranchCluster, const pandora::CartesianVector &splitPosition, const pandora::CartesianVector &splitDirection1, const pandora::CartesianVector &splitDirection2, pandora::CaloHitList &caloHitList1, pandora::CaloHitList &caloHitList2) const |
| Get lists of calo hits to move in order to split a branch cluster into two segments for case of two replacement clusters. More... | |
| bool | IdentifyCrossedTracks (const pandora::Cluster *const pBranchCluster, const pandora::Cluster *const pReplacementCluster1, const pandora::Cluster *const pReplacementCluster2, const pandora::CartesianVector &splitPosition) const |
| Identify crossed tracks formed from the branch cluster and its replacement cluster. More... | |
| pandora::StatusCode | GetCaloHitListToKeep (const pandora::Cluster *const pBranchCluster, const pandora::CaloHitList &caloHitListToMove, pandora::CaloHitList &caloHitListToKeep) const |
| Split the branch cluster and add hits to the replacement cluster. More... | |
| pandora::StatusCode | SplitCluster (const pandora::Cluster *const pBranchCluster, const pandora::Cluster *const pReplacementCluster, const pandora::CaloHitList &caloHitListToMove) const |
| Split the branch cluster and add hits to the replacement cluster. More... | |
Private Attributes | |
| float | m_clusterMinLength |
| minimum length of clusters for this algorithm More... | |
| unsigned int | m_halfWindowLayers |
| number of layers to use for half-window of sliding fit More... | |
| float | m_samplingPitch |
| sampling pitch for walking along sliding linear fit More... | |
| float | m_maxCosSplittingAngle |
| smallest scatter angle allowed when splitting cluster More... | |
| float | m_minCosMergingAngle |
| largest relative angle allowed when merging clusters More... | |
| float | m_maxTransverseDisplacement |
| maximum transverse displacement of associated clusters More... | |
| float | m_maxLongitudinalDisplacement |
| maximum longitudinal displacement of associated clusters More... | |
| float | m_maxLongitudinalDisplacementSquared |
| longitudinal displacement squared More... | |
CosmicRaySplittingAlgorithm class.
Definition at line 21 of file CosmicRaySplittingAlgorithm.h.
| lar_content::CosmicRaySplittingAlgorithm::CosmicRaySplittingAlgorithm | ( | ) |
Default constructor.
Definition at line 22 of file CosmicRaySplittingAlgorithm.cc.
|
private |
Build the map of sliding fit results.
| clusterVector | the input cluster vector |
| slidingFitResultMap | the output sliding fit result map |
Definition at line 181 of file CosmicRaySplittingAlgorithm.cc.
|
private |
Find a second replacement cluster that aligns with the scatter of the first branch cluster.
| branchSlidingFitResult | the sliding fit result for the branch cluster |
| replacementSlidingFitResult | the sliding fit result for the replacement cluster |
| splitPosition | the candidate split position on the branch cluster |
| splitDirection1 | the first track direction just above the split position |
| splitDirection2 | the second track direction just below the split position |
| lengthSquared1 | figure of merit for association with first track direction |
| lengthSquared2 | figure of merit for association with second track direction |
Definition at line 270 of file CosmicRaySplittingAlgorithm.cc.
|
private |
Find the position of greatest scatter along a sliding linear fit.
| slidingFitResult | the input sliding linear fit result |
| splitPosition | the position of greatest scatter |
| splitDirection1 | the direction vector just above the scatter position |
| splitDirection2 | the direction vector just below the scatter position |
Definition at line 207 of file CosmicRaySplittingAlgorithm.cc.
|
private |
Get lists of calo hits to move in order to split a branch cluster into two segments for case of two replacement clusters.
| pBranchCluster | the branch cluster |
| splitPosition | the split position |
| splitDirection1 | the direction of the branch cluster just above the split position |
| splitDirection2 | the direction of the branch cluster just below the split position |
| caloHitList1 | the first segment to be split from the branch cluster |
| caloHitList2 | the second segment to be split from the branch cluster |
Definition at line 449 of file CosmicRaySplittingAlgorithm.cc.
|
private |
Split the branch cluster and add hits to the replacement cluster.
| pBranchCluster | the branch cluster |
| caloHitListToMove | the list of hits to be removed from the branch cluster and added to the replacement cluster |
| caloHitListToKeep | to receive the list of calo hits to keep |
Definition at line 491 of file CosmicRaySplittingAlgorithm.cc.
|
private |
Get list of calo hits to move in order to split a branch cluster into two segments for case of one replacement cluster.
| pBranchCluster | the branch cluster |
| pReplacementCluster | the replacement cluster |
| splitPosition | the split position |
| forwardDirection | the direction of the branch cluster just above the split position |
| backwardDirection | the direction of the branch cluster just below the split position |
| caloHitList | the output hits to be removed from the branch cluster |
Definition at line 397 of file CosmicRaySplittingAlgorithm.cc.
|
private |
Populate cluster vector with subset of cluster list, containing clusters judged to be clean.
| pClusterList | address of the cluster list |
| clusterVector | to receive the populated cluster vector |
Definition at line 164 of file CosmicRaySplittingAlgorithm.cc.
|
private |
Identify crossed tracks formed from the branch cluster and its replacement cluster.
| pBranchCluster | the branch cluster |
| pReplacementCluster1 | the first replacement cluster |
| pReplacementCluster2 | the second replacement cluster |
| splitPosition | the split position |
Definition at line 474 of file CosmicRaySplittingAlgorithm.cc.
|
private |
Split a branch cluster for case of two replacement clusters.
| pBranchCluster | the branch cluster |
| pReplacementCluster1 | the first replacement cluster |
| pReplacementCluster2 | the second replacement cluster |
| splitPosition | the split position |
| splitDirection1 | the direction of the branch cluster just above the split position |
| splitDirection2 | the direction of the branch cluster just below the split position |
Definition at line 371 of file CosmicRaySplittingAlgorithm.cc.
|
private |
Split a branch cluster for case of one replacement cluster.
| pBranchCluster | the branch cluster |
| pReplacementCluster | the replacement cluster |
| splitPosition | the split position |
| forwardDirection | the direction of the branch cluster just above the split position |
| backwardDirection | the direction of the branch cluster just below the split position |
Definition at line 354 of file CosmicRaySplittingAlgorithm.cc.
|
private |
Definition at line 531 of file CosmicRaySplittingAlgorithm.cc.
|
private |
Definition at line 36 of file CosmicRaySplittingAlgorithm.cc.
|
private |
Split the branch cluster and add hits to the replacement cluster.
| pBranchCluster | the branch cluster |
| pReplacementCluster | the replacement cluster |
| caloHitListToMove | the list of hits to be removed from the branch cluster and added to the replacement cluster |
Definition at line 513 of file CosmicRaySplittingAlgorithm.cc.
|
private |
minimum length of clusters for this algorithm
Definition at line 161 of file CosmicRaySplittingAlgorithm.h.
|
private |
number of layers to use for half-window of sliding fit
Definition at line 162 of file CosmicRaySplittingAlgorithm.h.
|
private |
smallest scatter angle allowed when splitting cluster
Definition at line 164 of file CosmicRaySplittingAlgorithm.h.
|
private |
maximum longitudinal displacement of associated clusters
Definition at line 167 of file CosmicRaySplittingAlgorithm.h.
|
private |
longitudinal displacement squared
Definition at line 168 of file CosmicRaySplittingAlgorithm.h.
|
private |
maximum transverse displacement of associated clusters
Definition at line 166 of file CosmicRaySplittingAlgorithm.h.
|
private |
largest relative angle allowed when merging clusters
Definition at line 165 of file CosmicRaySplittingAlgorithm.h.
|
private |
sampling pitch for walking along sliding linear fit
Definition at line 163 of file CosmicRaySplittingAlgorithm.h.
1.8.11