TrackSplittingTool class.
More...
#include "TrackSplittingTool.h"
|
typedef ThreeViewTransverseTracksAlgorithm::MatchingType::TensorType | TensorType |
|
typedef std::vector< TensorType::ElementList::const_iterator > | IteratorList |
|
|
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.
|
|
|
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
| Read the algorithm settings.
|
|
void | FindTracks (ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const TensorType &overlapTensor, SplitPositionMap &splitPositionMap) const |
| Find remaining tracks, hidden by spurious track segments (and maybe other ambiguities) in the tensor.
|
|
void | SelectElements (const TensorType::ElementList &elementList, const pandora::ClusterSet &usedClusters, IteratorList &iteratorList) const |
| Select a list of the relevant elements from a set of connected tensor elements.
|
|
bool | PassesChecks (ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const TensorType::Element &element, const bool isMinX, pandora::ClusterSet &usedClusters, SplitPositionMap &splitPositionMap) const |
| Whether a provided tensor element can be used to construct a pfo.
|
|
bool | CheckSplitPosition (const pandora::CartesianVector &splitPosition, const float splitX, const TwoDSlidingFitResult &longFitResult) const |
| Check a candidate split position for consistency with the associated track cluster sliding linear fit.
|
|
◆ IteratorList
◆ TensorType
◆ TrackSplittingTool()
lar_content::TrackSplittingTool::TrackSplittingTool |
( |
| ) |
|
◆ CheckSplitPosition()
Check a candidate split position for consistency with the associated track cluster sliding linear fit.
- Parameters
-
splitPosition | the candidate split position |
splitX | the split x coordinate |
longFitResult | the sliding linear fit for the long cluster |
Definition at line 212 of file TrackSplittingTool.cc.
◆ FindTracks()
Find remaining tracks, hidden by spurious track segments (and maybe other ambiguities) in the tensor.
- Parameters
-
pAlgorithm | address of the calling algorithm |
overlapTensor | the overlap tensor |
splitPositionMap | to receive the split position map |
Definition at line 53 of file TrackSplittingTool.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.
◆ Initialize()
|
inlineprotectedvirtualinherited |
◆ PassesChecks()
Whether a provided tensor element can be used to construct a pfo.
- Parameters
-
pAlgorithm | address of the calling algorithm |
element | the tensor element |
isMinX | whether to look for track splits at min or max x coordinate |
usedClusters | the list of used clusters |
splitPositionMap | to receive the split position map |
Definition at line 134 of file TrackSplittingTool.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()
◆ SelectElements()
void lar_content::TrackSplittingTool::SelectElements |
( |
const TensorType::ElementList & |
elementList, |
|
|
const pandora::ClusterSet & |
usedClusters, |
|
|
IteratorList & |
iteratorList |
|
) |
| const |
|
private |
Select a list of the relevant elements from a set of connected tensor elements.
- Parameters
-
elementList | the full list of connected tensor elements |
usedClusters | the list of clusters already marked as to be added to a pfo |
iteratorList | to receive a list of iterators to long track-like elements |
Definition at line 95 of file TrackSplittingTool.cc.
◆ m_instanceName
std::string pandora::Process::m_instanceName |
|
protectedinherited |
The process instance name.
Definition at line 89 of file Process.h.
◆ m_maxAbsoluteShortDeltaX
float lar_content::TrackSplittingTool::m_maxAbsoluteShortDeltaX |
|
private |
Max x distance between ends of two short clusters (measured as an absolute distance)
Definition at line 101 of file TrackSplittingTool.h.
◆ m_maxShortDeltaXFraction
float lar_content::TrackSplittingTool::m_maxShortDeltaXFraction |
|
private |
Max x distance between ends of two short clusters (measured as fraction of long cluster x length)
Definition at line 100 of file TrackSplittingTool.h.
◆ m_maxSplitVsFitPositionDistance
float lar_content::TrackSplittingTool::m_maxSplitVsFitPositionDistance |
|
private |
Max allowed distance between split position and sliding linear fit position at the split x coordinate.
Definition at line 105 of file TrackSplittingTool.h.
◆ m_minAbsoluteLongDeltaX
float lar_content::TrackSplittingTool::m_minAbsoluteLongDeltaX |
|
private |
Min x distance between ends of short and long clusters (measured as an absolute distance)
Definition at line 103 of file TrackSplittingTool.h.
◆ m_minLongDeltaXFraction
float lar_content::TrackSplittingTool::m_minLongDeltaXFraction |
|
private |
Min x distance between ends of short and long clusters (measured as fraction of long cluster x length)
Definition at line 102 of file TrackSplittingTool.h.
◆ m_minMatchedFraction
float lar_content::TrackSplittingTool::m_minMatchedFraction |
|
private |
The min matched sampling point fraction for particle creation.
Definition at line 95 of file TrackSplittingTool.h.
◆ m_minMatchedSamplingPointRatio
unsigned int lar_content::TrackSplittingTool::m_minMatchedSamplingPointRatio |
|
private |
The min ratio between 1st and 2nd highest msps for simple ambiguity resolution.
Definition at line 98 of file TrackSplittingTool.h.
◆ m_minMatchedSamplingPoints
unsigned int lar_content::TrackSplittingTool::m_minMatchedSamplingPoints |
|
private |
The min number of matched sampling points for particle creation.
Definition at line 96 of file TrackSplittingTool.h.
◆ m_minSplitToVertexProjection
float lar_content::TrackSplittingTool::m_minSplitToVertexProjection |
|
private |
Min projected distance between split position and either inner or outer vertex of long cluster.
Definition at line 104 of file TrackSplittingTool.h.
◆ m_minXOverlapFraction
float lar_content::TrackSplittingTool::m_minXOverlapFraction |
|
private |
The min x overlap fraction (between long clusters and short cluster vs. shared overlap)
Definition at line 97 of file TrackSplittingTool.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_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: