OvershootTracksTool class.
More...
#include "OvershootTracksTool.h"
|
typedef ThreeViewTransverseTracksAlgorithm::MatchingType::TensorType | TensorType |
|
typedef std::vector< TensorType::ElementList::const_iterator > | IteratorList |
|
|
void | GetIteratorListModifications (ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const IteratorList &iteratorList, ModificationList &modificationList) const |
| Get modification objects for a specific elements of the tensor, identifying required splits and merges for clusters.
|
|
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
| Read the algorithm settings.
|
|
bool | PassesVertexCuts (const LArPointingCluster::Vertex &vertexA, const LArPointingCluster::Vertex &vertexB) const |
| Whether a pair of vertices pass longitudinal projection cuts.
|
|
void | SetSplitPosition (const LArPointingCluster::Vertex &vertexA1, const LArPointingCluster::Vertex &vertexA2, const LArPointingCluster::Vertex &vertexB1, const LArPointingCluster::Vertex &vertexB2, Particle &particle) const |
| Set split position for a provided particle.
|
|
bool | IsThreeDKink (ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const Particle &particle, const bool isA1LowestInX, const bool isA2LowestInX) const |
| Whether the provided particle is consistent with being a kink, when examined in three dimensions at the split position.
|
|
void | GetModifications (ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const TensorType &overlapTensor, ModificationList &modificationList) const |
| Get modification objects, identifying required splits and merges for clusters.
|
|
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.
|
|
bool | ApplyChanges (ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const ModificationList &modificationList) const |
| Apply the changes cached in a modification list and update the tensor accordingly.
|
|
|
bool | m_splitMode |
| Whether to run in cluster splitting mode, as opposed to cluster merging mode.
|
|
float | m_maxVertexXSeparation |
| The max separation between accompanying clusters vertex x positions to make split.
|
|
float | m_cosThetaCutForKinkSearch |
| The cos theta cut used for the kink search in three dimensions.
|
|
◆ IteratorList
◆ ModificationList
◆ TensorType
◆ OvershootTracksTool()
lar_content::OvershootTracksTool::OvershootTracksTool |
( |
| ) |
|
◆ ApplyChanges()
Apply the changes cached in a modification list and update the tensor accordingly.
- Parameters
-
pAlgorithm | address of the calling algorithm |
modificationList | the modification list |
- Returns
- whether changes to the tensor have been made
Definition at line 188 of file ThreeDKinkBaseTool.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.
◆ GetIteratorListModifications()
Get modification objects for a specific elements of the tensor, identifying required splits and merges for clusters.
- Parameters
-
pAlgorithm | address of the calling algorithm |
iteratorList | list of iterators to relevant tensor elements |
modificationList | to be populated with modifications |
Implements lar_content::ThreeDKinkBaseTool.
Definition at line 32 of file OvershootTracksTool.cc.
◆ GetModifications()
Get modification objects, identifying required splits and merges for clusters.
- Parameters
-
pAlgorithm | address of the calling algorithm |
overlapTensor | the overlap tensor |
modificationList | to be populated with modifications |
Definition at line 140 of file ThreeDKinkBaseTool.cc.
◆ 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.
◆ GetXSamplingPoint()
Get a sampling point in x that is common to sliding linear fit objects in three views.
- Parameters
-
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 |
- Returns
- the sampling point
Definition at line 59 of file ThreeDKinkBaseTool.cc.
◆ Initialize()
|
inlineprotectedvirtualinherited |
◆ IsALowestInX()
Whether pointing cluster labelled A extends to lowest x positions (as opposed to that labelled B)
- Parameters
-
pointingClusterA | pointing cluster A |
pointingClusterB | pointing cluster B |
Definition at line 107 of file ThreeDKinkBaseTool.cc.
◆ IsThreeDKink()
Whether the provided particle is consistent with being a kink, when examined in three dimensions at the split position.
- Parameters
-
pAlgorithm | the calling algorithm |
particle | the particle |
isA1LowestInX | whether cluster associated with tensor element a extends to lowest x positions in view 1 |
isA2LowestInX | whether cluster associated with tensor element a extends to lowest x positions in view 2 |
- Returns
- boolean
Definition at line 158 of file OvershootTracksTool.cc.
◆ PassesElementCuts()
bool lar_content::ThreeDKinkBaseTool::PassesElementCuts |
( |
TensorType::ElementList::const_iterator |
eIter, |
|
|
const pandora::ClusterSet & |
usedClusters |
|
) |
| const |
|
protectedvirtualinherited |
Whether a provided (iterator to a) tensor element passes the selection cuts for overshoot identification.
- Parameters
-
eIter | the iterator to the tensor element |
usedClusters | the list of used clusters |
Definition at line 43 of file ThreeDKinkBaseTool.cc.
◆ PassesVertexCuts()
Whether a pair of vertices pass longitudinal projection cuts.
- Parameters
-
vertexA | vertex from cluster in tensor element a |
vertexB | vertex from cluster in tensor element b |
Definition at line 112 of file OvershootTracksTool.cc.
◆ ReadSettings()
◆ 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.
◆ Reset()
|
inlineprotectedvirtualinherited |
◆ Run()
◆ SelectTensorElements()
void lar_content::ThreeDKinkBaseTool::SelectTensorElements |
( |
TensorType::ElementList::const_iterator |
eIter, |
|
|
const TensorType::ElementList & |
elementList, |
|
|
const pandora::ClusterSet & |
usedClusters, |
|
|
IteratorList & |
iteratorList |
|
) |
| const |
|
privateinherited |
Select elements representing possible components of interest due to overshoots or undershoots in clustering.
- Parameters
-
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.
◆ SetSplitPosition()
Set split position for a provided particle.
- Parameters
-
vertexA1 | vertex for tensor element a in view 1 |
vertexA2 | vertex for tensor element a in view 2 |
vertexB1 | vertex for tensor element b in view 1 |
vertexB2 | vertex for tensor element b in view 2 |
particle | the particle |
Definition at line 128 of file OvershootTracksTool.cc.
◆ m_additionalXStepForKinkSearch
float lar_content::ThreeDKinkBaseTool::m_additionalXStepForKinkSearch |
|
protectedinherited |
An additional (safety) step to tack-on when choosing x sampling points.
Definition at line 100 of file ThreeDKinkBaseTool.h.
◆ m_cosThetaCutForKinkSearch
float lar_content::OvershootTracksTool::m_cosThetaCutForKinkSearch |
|
private |
The cos theta cut used for the kink search in three dimensions.
Definition at line 91 of file OvershootTracksTool.h.
◆ m_instanceName
std::string pandora::Process::m_instanceName |
|
protectedinherited |
The process instance name.
Definition at line 89 of file Process.h.
◆ m_majorityRulesMode
bool lar_content::ThreeDKinkBaseTool::m_majorityRulesMode |
|
protectedinherited |
Whether to run in majority rules mode (always split overshoots, always merge undershoots)
Definition at line 95 of file ThreeDKinkBaseTool.h.
◆ m_maxVertexXSeparation
float lar_content::OvershootTracksTool::m_maxVertexXSeparation |
|
private |
The max separation between accompanying clusters vertex x positions to make split.
Definition at line 90 of file OvershootTracksTool.h.
◆ m_minLongitudinalImpactParameter
float lar_content::ThreeDKinkBaseTool::m_minLongitudinalImpactParameter |
|
protectedinherited |
The min longitudinal impact parameter for connecting accompanying clusters.
Definition at line 98 of file ThreeDKinkBaseTool.h.
◆ m_minMatchedFraction
float lar_content::ThreeDKinkBaseTool::m_minMatchedFraction |
|
protectedinherited |
The min matched sampling point fraction for use as a key tensor element.
Definition at line 96 of file ThreeDKinkBaseTool.h.
◆ m_minMatchedSamplingPoints
unsigned int lar_content::ThreeDKinkBaseTool::m_minMatchedSamplingPoints |
|
protectedinherited |
The min number of matched sampling points for use as a key tensor element.
Definition at line 97 of file ThreeDKinkBaseTool.h.
◆ m_nCommonClusters
unsigned int lar_content::ThreeDKinkBaseTool::m_nCommonClusters |
|
protectedinherited |
◆ m_nLayersForKinkSearch
int lar_content::ThreeDKinkBaseTool::m_nLayersForKinkSearch |
|
protectedinherited |
The number of sliding fit layers to step in the kink search.
Definition at line 99 of file ThreeDKinkBaseTool.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_splitMode
bool lar_content::OvershootTracksTool::m_splitMode |
|
private |
Whether to run in cluster splitting mode, as opposed to cluster merging mode.
Definition at line 89 of file OvershootTracksTool.h.
◆ 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: