![]() |
LArSoft
v10_06_00
Liquid Argon Software toolkit - https://larsoft.org/
|
RemovalBaseTool class. More...
#include "RemovalBaseTool.h"
Public Types | |
| typedef std::vector< pandora::HitType > | HitTypeVector |
| typedef ThreeViewDeltaRayMatchingAlgorithm::MatchingType::TensorType | TensorType |
| typedef std::vector< TensorType::ElementList::const_iterator > | IteratorList |
Public Member Functions | |
| RemovalBaseTool () | |
| Default constructor. More... | |
Public Attributes | |
| ThreeViewDeltaRayMatchingAlgorithm * | m_pParentAlgorithm |
| Address of the parent matching algorithm. More... | |
Protected Member Functions | |
| virtual bool | Run (ThreeViewDeltaRayMatchingAlgorithm *const pAlgorithm, TensorType &overlapTensor)=0 |
| Run the algorithm tool. More... | |
| virtual pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle)=0 |
| bool | IsMuonEndpoint (const TensorType::Element &element, const bool ignoreHitType, const pandora::HitType hitTypeToIgnore=pandora::TPC_VIEW_U) const |
| Determine whether the matched clusters suggest that the delta ray is at the endpoint of the cosmic ray (and is likely to be a michel) More... | |
| bool | IsBestElement (const TensorType::Element &element, const pandora::HitType hitType, const TensorType::ElementList &elementList, const pandora::ClusterSet &modifiedClusters) const |
| Determine whether the input element is the best to use to modify the contaminated cluster (best is defined by the total hit count) More... | |
| virtual bool | PassElementChecks (const TensorType::Element &element, const pandora::HitType hitType) const =0 |
| Determine whether element satifies simple checks. More... | |
| bool | IsCloseToLine (const pandora::CartesianVector &hitPosition, const pandora::CartesianVector &lineStart, const pandora::CartesianVector &lineEnd, const float distanceToLine) const |
| Whether a given position is close to a defined line. More... | |
| bool | IsInLineSegment (const pandora::CartesianVector &lowerBoundary, const pandora::CartesianVector &upperBoundary, const pandora::CartesianVector &point) const |
| Whether the projection of a given position lies on a defined line. More... | |
| void | FindExtrapolatedHits (const pandora::Cluster *const pCluster, const pandora::CartesianVector &lowerBoundary, const pandora::CartesianVector &upperBoundary, pandora::CaloHitList &collectedHits) const |
| Collect the hits that are closest to and can be projected onto a defined line. More... | |
| pandora::StatusCode | ProjectDeltaRayPositions (const TensorType::Element &element, const pandora::HitType hitType, pandora::CartesianPointVector &projectedPositions) const |
| Use two views of a delta ray pfo to calculate projected positions in a given third view. More... | |
Protected Attributes | |
| float | m_minSeparation |
| The minimum delta ray - parent muon cluster separation required to investigate a delta/cosmic ray cluster. More... | |
| float | m_distanceToLine |
| The maximum perpendicular distance of a position to a line for it to be considered close. More... | |
RemovalBaseTool class.
Definition at line 18 of file RemovalBaseTool.h.
| typedef std::vector<pandora::HitType> lar_content::RemovalBaseTool::HitTypeVector |
Definition at line 21 of file RemovalBaseTool.h.
|
inherited |
Definition at line 102 of file ThreeViewDeltaRayMatchingAlgorithm.h.
|
inherited |
Definition at line 101 of file ThreeViewDeltaRayMatchingAlgorithm.h.
| lar_content::RemovalBaseTool::RemovalBaseTool | ( | ) |
Default constructor.
Definition at line 20 of file RemovalBaseTool.cc.
|
protected |
Collect the hits that are closest to and can be projected onto a defined line.
| pCluster | the address of the input cluster containing the hits to be investigated |
| lowerBoundary | the start position of the line |
| upperBoundary | the end position of the line |
| collectedHits | the collected hits |
Definition at line 152 of file RemovalBaseTool.cc.
References IsCloseToLine(), IsInLineSegment(), and m_distanceToLine.
Referenced by lar_content::DeltaRayRemovalTool::IsContaminated().
|
protected |
Determine whether the input element is the best to use to modify the contaminated cluster (best is defined by the total hit count)
| element | the tensor element |
| hitType | the hit type of the cluster under investigation |
| elementList | the tensor element list |
| modifiedClusters | the set of modified clusters |
Definition at line 78 of file RemovalBaseTool.cc.
References PassElementChecks().
Referenced by lar_content::CosmicRayRemovalTool::RemoveCosmicRayHits(), and lar_content::DeltaRayRemovalTool::RemoveDeltaRayHits().
|
protected |
Whether a given position is close to a defined line.
| hitPosition | the input position |
| lineStart | the start position of the line |
| lineEnd | the end position of the line |
| distanceToLine | the definition of close |
Definition at line 113 of file RemovalBaseTool.cc.
Referenced by FindExtrapolatedHits(), and lar_content::CosmicRayRemovalTool::IsContaminated().
|
protected |
Whether the projection of a given position lies on a defined line.
| lowerBoundary | the start position of the line |
| upperBoundary | the end position of the line |
| point | the input position |
Definition at line 129 of file RemovalBaseTool.cc.
Referenced by FindExtrapolatedHits(), and lar_content::CosmicRayRemovalTool::IsContaminated().
|
protected |
Determine whether the matched clusters suggest that the delta ray is at the endpoint of the cosmic ray (and is likely to be a michel)
| element | the tensor element |
| ignoreHitType | whether to ignore the cluster under investigation |
| hitTypeToIgnore | the hit type to ignore |
Definition at line 42 of file RemovalBaseTool.cc.
References lar_content::NViewDeltaRayMatchingAlgorithm< T >::GetMuonCluster(), and lar_content::DeltaRayTensorTool::m_pParentAlgorithm.
Referenced by lar_content::DeltaRayRemovalTool::PassElementChecks(), and lar_content::CosmicRayRemovalTool::PassElementChecks().
|
protectedpure virtual |
Determine whether element satifies simple checks.
| element | the tensor element |
| hitType | the hit type of the cluster under investigation |
Implemented in lar_content::CosmicRayRemovalTool, and lar_content::DeltaRayRemovalTool.
Definition at line 28 of file RemovalBaseTool.cc.
References lar_content::LArClusterHelper::GetClosestDistance(), lar_content::NViewDeltaRayMatchingAlgorithm< T >::GetMuonCluster(), m_minSeparation, and lar_content::DeltaRayTensorTool::m_pParentAlgorithm.
Referenced by IsBestElement(), lar_content::DeltaRayRemovalTool::PassElementChecks(), and lar_content::CosmicRayRemovalTool::PassElementChecks().
|
protected |
Use two views of a delta ray pfo to calculate projected positions in a given third view.
| element | the tensor element |
| hitType | the view to be projected into |
| projectedPositions | the output list of projected positions |
Definition at line 172 of file RemovalBaseTool.cc.
References lar_content::NViewDeltaRayMatchingAlgorithm< T >::GetProjectedPositions(), and lar_content::DeltaRayTensorTool::m_pParentAlgorithm.
Referenced by lar_content::CosmicRayRemovalTool::CreateSeed().
|
protectedpure virtual |
Implemented in lar_content::CosmicRayRemovalTool, and lar_content::DeltaRayRemovalTool.
Definition at line 186 of file RemovalBaseTool.cc.
References m_distanceToLine, and m_minSeparation.
Referenced by lar_content::CosmicRayRemovalTool::ReadSettings().
|
protectedpure virtual |
Run the algorithm tool.
| pAlgorithm | address of the calling algorithm |
| overlapTensor | the overlap tensor |
Implements lar_content::DeltaRayTensorTool.
Implemented in lar_content::CosmicRayRemovalTool, and lar_content::DeltaRayRemovalTool.
|
protected |
The maximum perpendicular distance of a position to a line for it to be considered close.
Definition at line 115 of file RemovalBaseTool.h.
Referenced by FindExtrapolatedHits(), lar_content::CosmicRayRemovalTool::IsContaminated(), and ReadSettings().
|
protected |
The minimum delta ray - parent muon cluster separation required to investigate a delta/cosmic ray cluster.
Definition at line 114 of file RemovalBaseTool.h.
Referenced by PassElementChecks(), and ReadSettings().
|
inherited |
Address of the parent matching algorithm.
Definition at line 114 of file ThreeViewDeltaRayMatchingAlgorithm.h.
Referenced by lar_content::CosmicRayRemovalTool::CreateSeed(), lar_content::AmbiguousDeltaRayTool::ExamineConnectedElements(), lar_content::UnambiguousDeltaRayTool::ExamineUnambiguousElements(), lar_content::CosmicRayRemovalTool::GrowSeed(), lar_content::DeltaRayRemovalTool::IsContaminated(), lar_content::CosmicRayRemovalTool::IsContaminated(), IsMuonEndpoint(), lar_content::DeltaRayMergeTool::MakeOneCommonViewMerges(), lar_content::DeltaRayMergeTool::MakeTwoCommonViewMerges(), PassElementChecks(), ProjectDeltaRayPositions(), lar_content::CosmicRayRemovalTool::ReclusterRemnant(), lar_content::DeltaRayRemovalTool::RemoveDeltaRayHits(), lar_content::DeltaRayMergeTool::Run(), lar_content::UnambiguousDeltaRayTool::Run(), lar_content::AmbiguousDeltaRayTool::Run(), lar_content::DeltaRayRemovalTool::Run(), lar_content::CosmicRayRemovalTool::Run(), lar_content::CosmicRayRemovalTool::SplitDeltaRayCluster(), and lar_content::DeltaRayRemovalTool::SplitMuonCluster().