ThreeDKinkBaseTool class. More...
#include <ThreeDKinkBaseTool.h>
Classes | |
class | Modification |
Modification class. More... | |
Public Member Functions | |
ThreeDKinkBaseTool (const unsigned int nCommonClusters) | |
Constructor. More... | |
virtual | ~ThreeDKinkBaseTool () |
Destructor. More... | |
bool | Run (ThreeViewTransverseTracksAlgorithm *const pAlgorithm, TensorType &overlapTensor) |
Run the algorithm tool. More... | |
Protected Types | |
typedef std::vector< Modification > | ModificationList |
Protected Member Functions | |
virtual bool | PassesElementCuts (TensorType::ElementList::const_iterator eIter, const pandora::ClusterSet &usedClusters) const |
Whether a provided (iterator to a) tensor element passes the selection cuts for overshoot identification. More... | |
virtual void | GetIteratorListModifications (ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const IteratorList &iteratorList, ModificationList &modificationList) const =0 |
Get modification objects for a specific elements of the tensor, identifying required splits and merges for clusters. More... | |
float | GetXSamplingPoint (const pandora::CartesianVector &splitPosition1, const bool isForwardInX, const TwoDSlidingFitResult &fitResult1, const TwoDSlidingFitResult &fitResult2, const TwoDSlidingFitResult &fitResult3) const |
Get a sampling point in x that is common to sliding linear fit objects in three views. More... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Static Protected Member Functions | |
static bool | IsALowestInX (const LArPointingCluster &pointingClusterA, const LArPointingCluster &pointingClusterB) |
Whether pointing cluster labelled A extends to lowest x positions (as opposed to that labelled B) More... | |
Protected Attributes | |
unsigned int | m_nCommonClusters |
The number of common clusters. More... | |
bool | m_majorityRulesMode |
Whether to run in majority rules mode (always split overshoots, always merge undershoots) More... | |
float | m_minMatchedFraction |
The min matched sampling point fraction for use as a key tensor element. More... | |
unsigned int | m_minMatchedSamplingPoints |
The min number of matched sampling points for use as a key tensor element. More... | |
float | m_minLongitudinalImpactParameter |
The min longitudinal impact parameter for connecting accompanying clusters. More... | |
int | m_nLayersForKinkSearch |
The number of sliding fit layers to step in the kink search. More... | |
float | m_additionalXStepForKinkSearch |
An additional (safety) step to tack-on when choosing x sampling points. More... | |
Private Member Functions | |
void | GetModifications (ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const TensorType &overlapTensor, ModificationList &modificationList) const |
Get modification objects, identifying required splits and merges for clusters. More... | |
void | SelectTensorElements (TensorType::ElementList::const_iterator eIter, const TensorType::ElementList &elementList, const pandora::ClusterSet &usedClusters, IteratorList &iteratorList) const |
Select elements representing possible components of interest due to overshoots or undershoots in clustering. More... | |
bool | ApplyChanges (ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const ModificationList &modificationList) const |
Apply the changes cached in a modification list and update the tensor accordingly. More... | |
Additional Inherited Members | |
Public Types inherited from lar_content::TransverseTensorTool | |
typedef ThreeViewTransverseTracksAlgorithm::MatchingType::TensorType | TensorType |
typedef std::vector < TensorType::ElementList::const_iterator > | IteratorList |
ThreeDKinkBaseTool class.
Definition at line 21 of file ThreeDKinkBaseTool.h.
|
protected |
Definition at line 50 of file ThreeDKinkBaseTool.h.
lar_content::ThreeDKinkBaseTool::ThreeDKinkBaseTool | ( | const unsigned int | nCommonClusters | ) |
Constructor.
nCommonClusters | the number of common clusters to select |
Definition at line 22 of file ThreeDKinkBaseTool.cc.
|
virtual |
|
private |
Apply the changes cached in a modification list and update the tensor accordingly.
pAlgorithm | address of the calling algorithm |
modificationList | the modification list |
Definition at line 188 of file ThreeDKinkBaseTool.cc.
|
protectedpure virtual |
Get modification objects for a specific elements of the tensor, identifying required splits and merges for clusters.
pAlgorithm | address of the calling algorithm |
iteratorList | list of iterators to relevant tensor elements |
modificationList | to be populated with modifications |
Implemented in lar_content::OvershootTracksTool, and lar_content::UndershootTracksTool.
|
private |
Get modification objects, identifying required splits and merges for clusters.
pAlgorithm | address of the calling algorithm |
overlapTensor | the overlap tensor |
modificationList | to be populated with modifications |
Definition at line 140 of file ThreeDKinkBaseTool.cc.
|
protected |
Get a sampling point in x that is common to sliding linear fit objects in three views.
splitPosition1 | the split position in view 1 |
isForwardInX | whether to work forwards (or backwards) in x |
fitResult1 | the sliding fit result in view 1 |
fitResult2 | the sliding fit result in view 2 |
fitResult3 | the sliding fit result in view 3 |
Definition at line 59 of file ThreeDKinkBaseTool.cc.
|
staticprotected |
Whether pointing cluster labelled A extends to lowest x positions (as opposed to that labelled B)
pointingClusterA | pointing cluster A |
pointingClusterB | pointing cluster B |
Definition at line 107 of file ThreeDKinkBaseTool.cc.
|
protectedvirtual |
Whether a provided (iterator to a) tensor element passes the selection cuts for overshoot identification.
eIter | the iterator to the tensor element |
usedClusters | the list of used clusters |
Definition at line 43 of file ThreeDKinkBaseTool.cc.
|
protected |
Definition at line 277 of file ThreeDKinkBaseTool.cc.
|
virtual |
Run the algorithm tool.
pAlgorithm | address of the calling algorithm |
overlapTensor | the overlap tensor |
Implements lar_content::TransverseTensorTool.
Definition at line 126 of file ThreeDKinkBaseTool.cc.
|
private |
Select elements representing possible components of interest due to overshoots or undershoots in clustering.
eIter | iterator to a candidate element |
elementList | the provided element list |
usedClusters | the list of used clusters |
iteratorList | to receive a list of iterators to relevant elements |
Definition at line 237 of file ThreeDKinkBaseTool.cc.
|
protected |
An additional (safety) step to tack-on when choosing x sampling points.
Definition at line 100 of file ThreeDKinkBaseTool.h.
|
protected |
Whether to run in majority rules mode (always split overshoots, always merge undershoots)
Definition at line 95 of file ThreeDKinkBaseTool.h.
|
protected |
The min longitudinal impact parameter for connecting accompanying clusters.
Definition at line 98 of file ThreeDKinkBaseTool.h.
|
protected |
The min matched sampling point fraction for use as a key tensor element.
Definition at line 96 of file ThreeDKinkBaseTool.h.
|
protected |
The min number of matched sampling points for use as a key tensor element.
Definition at line 97 of file ThreeDKinkBaseTool.h.
|
protected |
The number of common clusters.
Definition at line 94 of file ThreeDKinkBaseTool.h.
|
protected |
The number of sliding fit layers to step in the kink search.
Definition at line 99 of file ThreeDKinkBaseTool.h.