CosmicRayRemovalTool class.
More...
#include "CosmicRayRemovalTool.h"
|
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)
|
|
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)
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
virtual StatusCode | Initialize () |
| Perform any operations that must occur after reading settings, but before running the process.
|
|
virtual StatusCode | Reset () |
| Perform any operations when pandora is reset, typically at the end of each event.
|
|
StatusCode | RegisterDetails (const Pandora *const pPandora, const std::string &type, const std::string &instanceName) |
| Register i) the pandora instance that will run the process and ii) the process type.
|
|
|
float | m_minSeparation |
| The minimum delta ray - parent muon cluster separation required to investigate a delta/cosmic ray cluster.
|
|
float | m_distanceToLine |
| The maximum perpendicular distance of a position to a line for it to be considered close.
|
|
const Pandora * | m_pPandora |
| The pandora object that will run the process.
|
|
std::string | m_type |
| The process type.
|
|
std::string | m_instanceName |
| The process instance name.
|
|
|
bool | Run (ThreeViewDeltaRayMatchingAlgorithm *const pAlgorithm, TensorType &overlapTensor) |
| Run the algorithm tool.
|
|
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
| Read the algorithm settings.
|
|
bool | RemoveCosmicRayHits (const TensorType::ElementList &elementList) const |
| Remove hits from delta ray clusters that belong to the parent muon.
|
|
virtual bool | PassElementChecks (const TensorType::Element &element, const pandora::HitType hitType) const |
| Determine whether element satifies simple checks.
|
|
bool | IsContaminated (const TensorType::Element &element, const pandora::HitType hitType) const |
| Determine whether the cluster under investigation has muon contamination.
|
|
void | CreateSeed (const TensorType::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.
|
|
pandora::StatusCode | GrowSeed (const TensorType::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.
|
|
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)
|
|
void | SplitDeltaRayCluster (const TensorType::Element &element, const pandora::HitType hitType, pandora::CaloHitList &collectedHits, pandora::CaloHitList &deltaRayRemnantHits) const |
| Fragment the delta ray cluster adding hits to the muon track and perhaps creating significant remnants in the process.
|
|
void | ReclusterRemnant (const pandora::HitType hitType, const pandora::Cluster *const pMuonCluster, const pandora::Cluster *const pDeltaRayRemnant, pandora::ClusterVector &clusterVector, pandora::PfoVector &pfoVector) const |
| Reculster a given remnant cluster, merging insignificant created clusters into the parent muon (if proximity checks pass)
|
|
|
unsigned int | m_slidingFitWindow |
| The sliding fit window used in cosmic ray parameterisations.
|
|
float | m_minContaminationLength |
| The minimum projected length of a delta ray cluster onto the muon track for it to be considered contaminated.
|
|
float | m_maxDistanceToHit |
| The maximum distance of a hit from the cosmic ray track for it to be added into the CR.
|
|
unsigned int | m_minRemnantClusterSize |
| The minimum hit number of a remnant cluster for it to be considered significant.
|
|
float | m_maxDistanceToTrack |
| The minimum distance of an insignificant remnant cluster from the cosmic ray track for it to be merged into the CR.
|
|
◆ HitTypeVector
◆ IteratorList
◆ TensorType
◆ CosmicRayRemovalTool()
lar_content::CosmicRayRemovalTool::CosmicRayRemovalTool |
( |
| ) |
|
◆ CollectHitsFromDeltaRay()
Collect hits from the delta ray cluster to either keep (demandCloserToCollected == true) or separate into a new shower (demandCloserToCollected == false)
- Parameters
-
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 262 of file CosmicRayRemovalTool.cc.
◆ CreateSeed()
Collect hits in the delta ray cluster that lie close to calculated projected positions forming a seed to later grow.
- Parameters
-
element | the tensor element |
hitType | the hit type of the cluster under investigation |
collectedHits | the output list of identified delta ray hits |
Definition at line 191 of file CosmicRayRemovalTool.cc.
◆ FindExtrapolatedHits()
Collect the hits that are closest to and can be projected onto a defined line.
- Parameters
-
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 150 of file RemovalBaseTool.cc.
◆ GetInstanceName()
const std::string & pandora::Process::GetInstanceName |
( |
| ) |
const |
|
inlineinherited |
Get the instance name.
- Returns
- The instance name
Definition at line 109 of file Process.h.
◆ GetPandora()
const Pandora & pandora::Process::GetPandora |
( |
| ) |
const |
|
inlineinherited |
Get the associated pandora instance.
- Returns
- the associated pandora instance
Definition at line 116 of file Process.h.
◆ GetType()
const std::string & pandora::Process::GetType |
( |
| ) |
const |
|
inlineinherited |
Get the type.
- Returns
- The type
Definition at line 102 of file Process.h.
◆ GrowSeed()
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.
- Parameters
-
element | the tensor element |
hitType | the hit type of the cluster under investigation |
collectedHits | the list of identified delta ray hits |
deltaRayRemantHits | the list of remainder hits |
- Returns
- whether the muon projection mechanics were successful - abort process if not
Definition at line 238 of file CosmicRayRemovalTool.cc.
◆ Initialize()
|
inlineprotectedvirtualinherited |
◆ IsBestElement()
bool lar_content::RemovalBaseTool::IsBestElement |
( |
const TensorType::Element & |
element, |
|
|
const pandora::HitType |
hitType, |
|
|
const TensorType::ElementList & |
elementList, |
|
|
const pandora::ClusterSet & |
modifiedClusters |
|
) |
| const |
|
protectedinherited |
Determine whether the input element is the best to use to modify the contaminated cluster (best is defined by the total hit count)
- Parameters
-
element | the tensor element |
hitType | the hit type of the cluster under investigation |
elementList | the tensor element list |
modifiedClusters | the set of modified clusters |
- Returns
- whether the input element is the best element
Definition at line 76 of file RemovalBaseTool.cc.
◆ IsCloseToLine()
Whether a given position is close to a defined line.
- Parameters
-
hitPosition | the input position |
lineStart | the start position of the line |
lineEnd | the end position of the line |
distanceToLine | the definition of close |
- Returns
- whether the position is close to the definied line
Definition at line 111 of file RemovalBaseTool.cc.
◆ IsContaminated()
bool lar_content::CosmicRayRemovalTool::IsContaminated |
( |
const TensorType::Element & |
element, |
|
|
const pandora::HitType |
hitType |
|
) |
| const |
|
private |
Determine whether the cluster under investigation has muon contamination.
- Parameters
-
element | the tensor element |
hitType | the hit type of the cluster under investigation |
- Returns
- whether the cluster contains muon hits to remove
Definition at line 134 of file CosmicRayRemovalTool.cc.
◆ IsInLineSegment()
Whether the projection of a given position lies on a defined line.
- Parameters
-
lowerBoundary | the start position of the line |
upperBoundary | the end position of the line |
point | the input position |
- Returns
- whether the position lies between the two points
Definition at line 127 of file RemovalBaseTool.cc.
◆ IsMuonEndpoint()
bool lar_content::RemovalBaseTool::IsMuonEndpoint |
( |
const TensorType::Element & |
element, |
|
|
const bool |
ignoreHitType, |
|
|
const pandora::HitType |
hitTypeToIgnore = pandora::TPC_VIEW_U |
|
) |
| const |
|
protectedinherited |
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)
- Parameters
-
element | the tensor element |
ignoreHitType | whether to ignore the cluster under investigation |
hitTypeToIgnore | the hit type to ignore |
- Returns
- whether the delta ray is at the endpoint of the cosmic ray
Definition at line 40 of file RemovalBaseTool.cc.
◆ PassElementChecks()
bool lar_content::CosmicRayRemovalTool::PassElementChecks |
( |
const TensorType::Element & |
element, |
|
|
const pandora::HitType |
hitType |
|
) |
| const |
|
privatevirtual |
◆ ProjectDeltaRayPositions()
Use two views of a delta ray pfo to calculate projected positions in a given third view.
- Parameters
-
element | the tensor element |
hitType | the view to be projected into |
projectedPositions | the output list of projected positions |
- Returns
- a status code reflecting whether the procedure ran smoothly and if the outcome is good
Definition at line 170 of file RemovalBaseTool.cc.
◆ ReadSettings()
◆ ReclusterRemnant()
Reculster a given remnant cluster, merging insignificant created clusters into the parent muon (if proximity checks pass)
- Parameters
-
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 359 of file CosmicRayRemovalTool.cc.
◆ RegisterDetails()
StatusCode pandora::Process::RegisterDetails |
( |
const Pandora *const |
pPandora, |
|
|
const std::string & |
type, |
|
|
const std::string & |
instanceName |
|
) |
| |
|
inlineprotectedinherited |
Register i) the pandora instance that will run the process and ii) the process type.
- Parameters
-
pPandora | address of the pandora object that will run the process |
type | the process type |
instanceName | the process instance name |
Definition at line 146 of file Process.h.
◆ RemoveCosmicRayHits()
bool lar_content::CosmicRayRemovalTool::RemoveCosmicRayHits |
( |
const TensorType::ElementList & |
elementList | ) |
const |
|
private |
Remove hits from delta ray clusters that belong to the parent muon.
- Parameters
-
elementList | the tensor element list |
- Returns
- whether any clusters have been modified
Definition at line 68 of file CosmicRayRemovalTool.cc.
◆ Reset()
|
inlineprotectedvirtualinherited |
◆ Run()
◆ SplitDeltaRayCluster()
Fragment the delta ray cluster adding hits to the muon track and perhaps creating significant remnants in the process.
- Parameters
-
element | the tensor 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 299 of file CosmicRayRemovalTool.cc.
◆ m_distanceToLine
float lar_content::RemovalBaseTool::m_distanceToLine |
|
protectedinherited |
The maximum perpendicular distance of a position to a line for it to be considered close.
Definition at line 115 of file RemovalBaseTool.h.
◆ m_instanceName
std::string pandora::Process::m_instanceName |
|
protectedinherited |
The process instance name.
Definition at line 89 of file Process.h.
◆ m_maxDistanceToHit
float lar_content::CosmicRayRemovalTool::m_maxDistanceToHit |
|
private |
The maximum distance of a hit from the cosmic ray track for it to be added into the CR.
Definition at line 123 of file CosmicRayRemovalTool.h.
◆ m_maxDistanceToTrack
float lar_content::CosmicRayRemovalTool::m_maxDistanceToTrack |
|
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 125 of file CosmicRayRemovalTool.h.
◆ m_minContaminationLength
float lar_content::CosmicRayRemovalTool::m_minContaminationLength |
|
private |
The minimum projected length of a delta ray cluster onto the muon track for it to be considered contaminated.
Definition at line 122 of file CosmicRayRemovalTool.h.
◆ m_minRemnantClusterSize
unsigned int lar_content::CosmicRayRemovalTool::m_minRemnantClusterSize |
|
private |
The minimum hit number of a remnant cluster for it to be considered significant.
Definition at line 124 of file CosmicRayRemovalTool.h.
◆ m_minSeparation
float lar_content::RemovalBaseTool::m_minSeparation |
|
protectedinherited |
The minimum delta ray - parent muon cluster separation required to investigate a delta/cosmic ray cluster.
Definition at line 114 of file RemovalBaseTool.h.
◆ m_pPandora
const Pandora* pandora::Process::m_pPandora |
|
protectedinherited |
The pandora object that will run the process.
Definition at line 87 of file Process.h.
◆ m_pParentAlgorithm
◆ m_slidingFitWindow
unsigned int lar_content::CosmicRayRemovalTool::m_slidingFitWindow |
|
private |
◆ m_type
std::string pandora::Process::m_type |
|
protectedinherited |
The process type.
Definition at line 88 of file Process.h.
The documentation for this class was generated from the following files: