TwoViewThreeDKinkTool class.
More...
#include "TwoViewThreeDKinkTool.h"
|
typedef TwoViewTransverseTracksAlgorithm::MatchingType::MatrixType | MatrixType |
|
typedef std::vector< MatrixType::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.
|
|
|
void | GetModifications (TwoViewTransverseTracksAlgorithm *const pAlgorithm, const MatrixType &overlapMatrix, ModificationList &modificationList) const |
| Get modification objects, identifying required splits and merges for clusters.
|
|
bool | PassesElementCuts (MatrixType::ElementList::const_iterator eIter, const pandora::ClusterSet &usedClusters) const |
| Whether a provided (iterator to a) matrix element passes the selection cuts for overshoot identification.
|
|
void | SelectMatrixElements (MatrixType::ElementList::const_iterator eIter, const MatrixType::ElementList &elementList, const pandora::ClusterSet &usedClusters, IteratorList &iteratorList) const |
| Select elements representing possible components of interest due to overshoots or undershoots in clustering.
|
|
void | GetIteratorListModifications (TwoViewTransverseTracksAlgorithm *const pAlgorithm, const IteratorList &iteratorList, ModificationList &modificationList) const |
| Get modification objects for specific elements of the matrix, identifying required splits and merges for clusters.
|
|
bool | IsThreeDKink (TwoViewTransverseTracksAlgorithm *const pAlgorithm, const Particle &particle, const pandora::CartesianVector &splitPosition, const bool isALowestInX) const |
| Whether the provided particle is consistent with being a kink, when examined in three dimensions at the provided split position.
|
|
float | GetXSamplingPoint (const pandora::CartesianVector &splitPosition1, const bool isForwardInX, const TwoDSlidingFitResult &fitResult1, const TwoDSlidingFitResult &fitResult2) const |
| Get a sampling point in x that is common to sliding linear fit objects in two views.
|
|
bool | ApplyChanges (TwoViewTransverseTracksAlgorithm *const pAlgorithm, const ModificationList &modificationList) const |
| Apply the changes cached in a modification list and update the matrix accordingly.
|
|
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
| Read the algorithm settings.
|
|
◆ lar_content::TwoViewThreeDKinkTool::Modification
class lar_content::TwoViewThreeDKinkTool::Modification |
◆ IteratorList
◆ MatrixType
◆ ModificationList
◆ TwoViewThreeDKinkTool()
lar_content::TwoViewThreeDKinkTool::TwoViewThreeDKinkTool |
( |
| ) |
|
Constructor.
- Parameters
-
nCommonClusters | the number of common clusters to select |
Definition at line 23 of file TwoViewThreeDKinkTool.cc.
◆ ~TwoViewThreeDKinkTool()
lar_content::TwoViewThreeDKinkTool::~TwoViewThreeDKinkTool |
( |
| ) |
|
|
virtual |
◆ ApplyChanges()
Apply the changes cached in a modification list and update the matrix accordingly.
- Parameters
-
pAlgorithm | address of the calling algorithm |
modificationList | the modification list |
- Returns
- whether changes to the matrix have been made
Definition at line 179 of file TwoViewThreeDKinkTool.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 specific elements of the matrix, 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 |
Definition at line 268 of file TwoViewThreeDKinkTool.cc.
◆ GetModifications()
Get modification objects, identifying required splits and merges for clusters.
- Parameters
-
pAlgorithm | address of the calling algorithm |
overlapMatrix | the overlap matrix |
modificationList | to be populated with modifications |
Definition at line 131 of file TwoViewThreeDKinkTool.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 two 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 |
- Returns
- the sampling point
Definition at line 80 of file TwoViewThreeDKinkTool.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 122 of file TwoViewThreeDKinkTool.cc.
◆ IsThreeDKink()
Whether the provided particle is consistent with being a kink, when examined in three dimensions at the provided split position.
- Parameters
-
pAlgorithm | the calling algorithm |
particle | the particle |
splitPosition | the candidate split position |
isALowestInX | whether cluster associated with matrix element a extends to lowest x positions |
- Returns
- boolean
Definition at line 352 of file TwoViewThreeDKinkTool.cc.
◆ PassesElementCuts()
bool lar_content::TwoViewThreeDKinkTool::PassesElementCuts |
( |
MatrixType::ElementList::const_iterator |
eIter, |
|
|
const pandora::ClusterSet & |
usedClusters |
|
) |
| const |
|
private |
Whether a provided (iterator to a) matrix element passes the selection cuts for overshoot identification.
- Parameters
-
eIter | the iterator to the matrix element |
usedClusters | the list of used clusters |
Definition at line 58 of file TwoViewThreeDKinkTool.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()
◆ SelectMatrixElements()
void lar_content::TwoViewThreeDKinkTool::SelectMatrixElements |
( |
MatrixType::ElementList::const_iterator |
eIter, |
|
|
const MatrixType::ElementList & |
elementList, |
|
|
const pandora::ClusterSet & |
usedClusters, |
|
|
IteratorList & |
iteratorList |
|
) |
| const |
|
private |
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 228 of file TwoViewThreeDKinkTool.cc.
◆ m_additionalXStepForKinkSearch
float lar_content::TwoViewThreeDKinkTool::m_additionalXStepForKinkSearch |
|
private |
◆ m_cosThetaCutForKinkSearch
float lar_content::TwoViewThreeDKinkTool::m_cosThetaCutForKinkSearch |
|
private |
◆ m_instanceName
std::string pandora::Process::m_instanceName |
|
protectedinherited |
The process instance name.
Definition at line 89 of file Process.h.
◆ m_maxTransverseImpactParameter
float lar_content::TwoViewThreeDKinkTool::m_maxTransverseImpactParameter |
|
private |
◆ m_minImpactParameterCosTheta
float lar_content::TwoViewThreeDKinkTool::m_minImpactParameterCosTheta |
|
private |
The minimum cos theta (angle between vertex directions) for connecting broken clusters.
Definition at line 170 of file TwoViewThreeDKinkTool.h.
◆ m_minLocallyMatchedFraction
float lar_content::TwoViewThreeDKinkTool::m_minLocallyMatchedFraction |
|
private |
◆ m_minLongitudinalImpactParameter
float lar_content::TwoViewThreeDKinkTool::m_minLongitudinalImpactParameter |
|
private |
The min longitudinal impact parameter for connecting accompanying clusters.
Definition at line 166 of file TwoViewThreeDKinkTool.h.
◆ m_minMatchingScore
float lar_content::TwoViewThreeDKinkTool::m_minMatchingScore |
|
private |
◆ m_minXOverlapFraction
float lar_content::TwoViewThreeDKinkTool::m_minXOverlapFraction |
|
private |
◆ m_nLayersForKinkSearch
int lar_content::TwoViewThreeDKinkTool::m_nLayersForKinkSearch |
|
private |
◆ 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: