LArSoft
v09_90_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().