Pandora
Pandora source code navigator
|
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. | |
const std::string & | GetType () const |
Get the type. | |
const std::string & | GetInstanceName () const |
Get the instance name. | |
const Pandora & | GetPandora () const |
Get the associated pandora instance. | |
Public Attributes | |
ThreeViewDeltaRayMatchingAlgorithm * | m_pParentAlgorithm |
Address of the parent matching algorithm. | |
Protected Member Functions | |
virtual bool | Run (ThreeViewDeltaRayMatchingAlgorithm *const pAlgorithm, TensorType &overlapTensor)=0 |
Run the algorithm tool. | |
virtual pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle)=0 |
Read the algorithm settings. | |
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) | |
virtual bool | PassElementChecks (const TensorType::Element &element, const pandora::HitType hitType) const =0 |
Determine whether element satifies simple checks. | |
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. | |
Protected Attributes | |
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. | |
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 150 of file RemovalBaseTool.cc.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineprotectedvirtualinherited |
Perform any operations that must occur after reading settings, but before running the process.
Reimplemented in lar_content::BdtBeamParticleIdTool, lar_content::BeamParticleIdTool, lar_content::CosmicRayTaggingTool, lar_content::EventReadingAlgorithm, lar_content::EventWritingAlgorithm, lar_content::LArPseudoLayerPlugin, lar_content::LArRotationalTransformationPlugin, EventReadingAlgorithm, and EventWritingAlgorithm.
Definition at line 126 of file Process.h.
|
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 76 of file RemovalBaseTool.cc.
|
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 111 of file RemovalBaseTool.cc.
|
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 127 of file RemovalBaseTool.cc.
|
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 40 of file RemovalBaseTool.cc.
|
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 26 of file RemovalBaseTool.cc.
|
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 170 of file RemovalBaseTool.cc.
|
protectedpure virtual |
Read the algorithm settings.
xmlHandle | the relevant xml handle |
Implements pandora::Process.
Implemented in lar_content::CosmicRayRemovalTool, and lar_content::DeltaRayRemovalTool.
Definition at line 184 of file RemovalBaseTool.cc.
|
inlineprotectedinherited |
Register i) the pandora instance that will run the process and ii) the process type.
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.
|
inlineprotectedvirtualinherited |
Perform any operations when pandora is reset, typically at the end of each event.
Reimplemented in lar_content::MasterAlgorithm, lar_content::PostProcessingAlgorithm, and lar_content::PreProcessingAlgorithm.
Definition at line 133 of file Process.h.
|
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.
|
protectedinherited |
|
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.
|
protectedinherited |
|
inherited |
Address of the parent matching algorithm.
Definition at line 114 of file ThreeViewDeltaRayMatchingAlgorithm.h.
|
protectedinherited |