TwoViewCosmicRayRemovalTool class. More...
#include <TwoViewCosmicRayRemovalTool.h>
Public Types | |
| typedef std::vector< pandora::HitType > | HitTypeVector |
Public Types inherited from lar_content::DeltaRayMatrixTool | |
| typedef TwoViewDeltaRayMatchingAlgorithm::MatchingType::MatrixType | MatrixType |
| typedef std::vector< MatrixType::ElementList::const_iterator > | IteratorList |
Public Member Functions | |
| TwoViewCosmicRayRemovalTool () | |
| Default constructor. More... | |
Private Member Functions | |
| bool | Run (TwoViewDeltaRayMatchingAlgorithm *const pAlgorithm, MatrixType &overlapMatrix) |
| Run the algorithm tool. More... | |
| pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
| bool | RemoveCosmicRayHits (const MatrixType::ElementList &elementList) const |
| Remove hits from delta ray clusters that belong to the parent muon. More... | |
| bool | PassElementChecks (const MatrixType::Element &element, const pandora::HitType hitType) const |
| Determine whether element satifies simple checks. More... | |
| bool | IsMuonEndpoint (const MatrixType::Element &element, const pandora::HitType hitType) 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 | IsContaminated (const MatrixType::Element &element, const pandora::HitType hitType) const |
| Determine whether the cluster under investigation has muon contamination. 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... | |
| bool | IsBestElement (const MatrixType::Element &element, const pandora::HitType hitType, const MatrixType::ElementList &elementList) 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... | |
| void | CreateSeed (const MatrixType::Element &element, const pandora::HitType hitType, pandora::CaloHitList &collectedHits) const |
| Collect hits in the delta ray cluster that lie close to calculated projected positions forming a seed to later grow. More... | |
| pandora::StatusCode | GrowSeed (const MatrixType::Element &element, const pandora::HitType hitType, pandora::CaloHitList &collectedHits, pandora::CaloHitList &deltaRayRemantHits) const |
| Examine remaining hits in the delta ray cluster adding them to the delta ray seed or parent muon if appropriate and a separate list if not. More... | |
| void | CollectHitsFromDeltaRay (const pandora::CartesianVector &positionOnMuon, const pandora::CartesianVector &muonDirection, const pandora::Cluster *const pDeltaRayCluster, const float &minDistanceFromMuon, const bool demandCloserToCollected, const pandora::CaloHitList &protectedHits, pandora::CaloHitList &collectedHits) const |
| Collect hits from the delta ray cluster to either keep (demandCloserToCollected == true) or separate into a new shower (demandCloserToCollected == false) More... | |
| void | SplitDeltaRayCluster (const MatrixType::Element &element, const pandora::HitType hitType, pandora::CaloHitList &collectedHits, pandora::CaloHitList &deltaRayRemnantHits) const |
| Fragment the delta ray cluster, refining the matched delta ray cluster perhaps creating significant remnants in the process. More... | |
| void | ReclusterRemnant (const pandora::HitType hitType, const pandora::Cluster *const pMuonCluster, const pandora::Cluster *const pDeltaRayRemnant, pandora::ClusterVector &clusterVector, pandora::PfoVector &pfoVector) const |
| Reculster the remnant cluster, merging insignificant created clusters into the parent muon (if proximity checks pass) More... | |
| pandora::StatusCode | ProjectDeltaRayPositions (const MatrixType::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... | |
Private Attributes | |
| float | m_minSeparation |
| The minimum delta ray - parent muon cluster separation required to investigate delta ray cluster. More... | |
| unsigned int | m_slidingFitWindow |
| The sliding fit window used in cosmic ray parameterisations. More... | |
| float | m_distanceToLine |
| The maximum perpendicular distance of a position to a line for it to be considered close. More... | |
| float | m_minContaminationLength |
| The minimum projected length of a delta ray cluster onto the muon track for it to be considered contaminated. More... | |
| float | m_maxDistanceToHit |
| The maximum distance of a hit from the cosmic ray track for it to be added into the CR. More... | |
| unsigned int | m_minRemnantClusterSize |
| The minimum hit number of a remnant cluster for it to be considered significant. More... | |
| float | m_maxDistanceToTrack |
| The minimum distance of an insignificant remnant cluster from the cosmic ray track for it to be merged into the CR. More... | |
Additional Inherited Members | |
Public Attributes inherited from lar_content::DeltaRayMatrixTool | |
| TwoViewDeltaRayMatchingAlgorithm * | m_pParentAlgorithm |
| Address of the parent matching algorithm. More... | |
TwoViewCosmicRayRemovalTool class.
Definition at line 18 of file TwoViewCosmicRayRemovalTool.h.
| typedef std::vector<pandora::HitType> lar_content::TwoViewCosmicRayRemovalTool::HitTypeVector |
Definition at line 21 of file TwoViewCosmicRayRemovalTool.h.
| lar_content::TwoViewCosmicRayRemovalTool::TwoViewCosmicRayRemovalTool | ( | ) |
Default constructor.
Definition at line 22 of file TwoViewCosmicRayRemovalTool.cc.
|
private |
Collect hits from the delta ray cluster to either keep (demandCloserToCollected == true) or separate into a new shower (demandCloserToCollected == false)
| positionOnMuon | the parameterised muon position |
| muonDirection | the parameterised muon direction |
| pDeltaRayCluster | the delta ray cluster under investigation |
| minDistanceFromMuon | the minimum distance of a hit from the muon track for it to not belong to the muon |
| demandCloserToCollected | whether to demand a hit be closer to the collected hits than to the muon hits for it to be collected |
| protectedHits | the hits that are protected from being collected |
| collectedHits | the output list of collected hits |
Definition at line 374 of file TwoViewCosmicRayRemovalTool.cc.
|
private |
Collect hits in the delta ray cluster that lie close to calculated projected positions forming a seed to later grow.
| element | the matrix element |
| hitType | the hit type of the cluster under investigation |
| collectedHits | the output list of identified delta ray hits |
Definition at line 302 of file TwoViewCosmicRayRemovalTool.cc.
|
private |
Examine remaining hits in the delta ray cluster adding them to the delta ray seed or parent muon if appropriate and a separate list if not.
| element | the matrix element |
| hitType | the hit type of the cluster under investigation |
| collectedHits | the list of identified delta ray hits |
| deltaRayRemantHits | the list of remainder hits |
Definition at line 349 of file TwoViewCosmicRayRemovalTool.cc.
|
private |
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 matrix element |
| hitType | the hit type of the cluster under investigation |
| elementList | the matrix element list |
Definition at line 274 of file TwoViewCosmicRayRemovalTool.cc.
|
private |
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 234 of file TwoViewCosmicRayRemovalTool.cc.
|
private |
Determine whether the cluster under investigation has muon contamination.
| element | the matrix element |
| hitType | the hit type of the cluster under investigation |
Definition at line 177 of file TwoViewCosmicRayRemovalTool.cc.
|
private |
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 250 of file TwoViewCosmicRayRemovalTool.cc.
|
private |
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 matrix element |
| ignoreHitType | whether to ignore the cluster under investigation |
| hitTypeToIgnore | the hit type to ignore |
Definition at line 141 of file TwoViewCosmicRayRemovalTool.cc.
|
private |
Determine whether element satifies simple checks.
| element | the matrix element |
| hitType | the hit type of the cluster under investigation |
Definition at line 123 of file TwoViewCosmicRayRemovalTool.cc.
|
private |
Use two views of a delta ray pfo to calculate projected positions in a given third view.
| element | the matrix element |
| hitType | the view to be projected into |
| projectedPositions | the output list of projected positions |
Definition at line 511 of file TwoViewCosmicRayRemovalTool.cc.
|
private |
Definition at line 529 of file TwoViewCosmicRayRemovalTool.cc.
|
private |
Reculster the remnant cluster, merging insignificant created clusters into the parent muon (if proximity checks pass)
| hitType | the hit type of the cluster under investigation |
| pMuonCluster | the address of the parent muon cluster |
| pDeltaRayRemnant | the address of the delta ray remnant |
| clusterVector | a vector containing the address of created/modified clusters for bookeeping purposes |
| pfoVector | a vector containing the address of the pfo to which a modified muon cluster belongs for bookeeping purposes |
Definition at line 471 of file TwoViewCosmicRayRemovalTool.cc.
|
private |
Remove hits from delta ray clusters that belong to the parent muon.
| elementList | the matrix element list |
Definition at line 69 of file TwoViewCosmicRayRemovalTool.cc.
|
privatevirtual |
Run the algorithm tool.
| pAlgorithm | address of the calling algorithm |
| overlapTensor | the overlap tensor |
Implements lar_content::DeltaRayMatrixTool.
Definition at line 35 of file TwoViewCosmicRayRemovalTool.cc.
|
private |
Fragment the delta ray cluster, refining the matched delta ray cluster perhaps creating significant remnants in the process.
| element | the matrix element |
| hitType | the hit type of the cluster under investigation |
| collectedHits | the list of identified delta ray hits |
| deltaRayRemantHits | the list of remainder hits |
Definition at line 411 of file TwoViewCosmicRayRemovalTool.cc.
|
private |
The maximum perpendicular distance of a position to a line for it to be considered close.
Definition at line 181 of file TwoViewCosmicRayRemovalTool.h.
|
private |
The maximum distance of a hit from the cosmic ray track for it to be added into the CR.
Definition at line 183 of file TwoViewCosmicRayRemovalTool.h.
|
private |
The minimum distance of an insignificant remnant cluster from the cosmic ray track for it to be merged into the CR.
Definition at line 185 of file TwoViewCosmicRayRemovalTool.h.
|
private |
The minimum projected length of a delta ray cluster onto the muon track for it to be considered contaminated.
Definition at line 182 of file TwoViewCosmicRayRemovalTool.h.
|
private |
The minimum hit number of a remnant cluster for it to be considered significant.
Definition at line 184 of file TwoViewCosmicRayRemovalTool.h.
|
private |
The minimum delta ray - parent muon cluster separation required to investigate delta ray cluster.
Definition at line 179 of file TwoViewCosmicRayRemovalTool.h.
|
private |
The sliding fit window used in cosmic ray parameterisations.
Definition at line 180 of file TwoViewCosmicRayRemovalTool.h.
1.8.11