TracksCrossingGapsTool class.
More...
#include "TracksCrossingGapsTool.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, ProtoParticleVector &protoParticleVector) const |
| Find tracks crossing gaps, with unambiguous connection but poor overlap due to gaps.
|
|
void | SelectElements (ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const TensorType::ElementList &elementList, const pandora::ClusterSet &usedClusters, IteratorList &iteratorList) const |
| Select a list of track-like elements crossing a gap in one or more views from a set of connected tensor elements.
|
|
void | CalculateEffectiveOverlapFractions (ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const TensorType::Element &element, float &xOverlapFractionU, float &xOverlapFractionV, float &xOverlapFractionW) const |
| Calculate the effective overlap fractions given a set of clusters, taking gaps into account.
|
|
void | CalculateEffectiveOverlapSpan (ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const TensorType::Element &element, float &xMinEffU, float &xMaxEffU, float &xMinEffV, float &xMaxEffV, float &xMinEffW, float &xMaxEffW) const |
| Calculate the effective overlap span given a set of clusters, taking gaps into account.
|
|
bool | PassesGapChecks (ThreeViewTransverseTracksAlgorithm *const pAlgorithm, const TensorType::Element &element, const float xSample, bool &gapInU, bool &gapInV, bool &gapInW) const |
| Check whether there is any gap in the three U-V-W clusters combination.
|
|
bool | CheckXPositionInGap (const float xSample, const TwoDSlidingFitResult &slidingFitResult1, const TwoDSlidingFitResult &slidingFitResult2, const TwoDSlidingFitResult &slidingFitResult3, bool &gapIn1, bool &gapIn2, bool &gapIn3) const |
| Check individually each cluster where a gap might be present.
|
|
bool | IsEndOfCluster (const float xSample, const TwoDSlidingFitResult &slidingFitResult) const |
| Check whether a x position is at the end of the cluster.
|
|
◆ IteratorList
◆ TensorType
◆ TracksCrossingGapsTool()
lar_content::TracksCrossingGapsTool::TracksCrossingGapsTool |
( |
| ) |
|
◆ CalculateEffectiveOverlapFractions()
void lar_content::TracksCrossingGapsTool::CalculateEffectiveOverlapFractions |
( |
ThreeViewTransverseTracksAlgorithm *const |
pAlgorithm, |
|
|
const TensorType::Element & |
element, |
|
|
float & |
xOverlapFractionU, |
|
|
float & |
xOverlapFractionV, |
|
|
float & |
xOverlapFractionW |
|
) |
| const |
|
private |
Calculate the effective overlap fractions given a set of clusters, taking gaps into account.
- Parameters
-
pAlgorithm | address of the calling algorithm |
element | the connected tensor element |
xOverlapFractionU | to receive the effective overlap fraction in the u view |
xOverlapFractionV | to receive the effective overlap fraction in the v view |
xOverlapFractionW | to receive the effective overlap fraction in the w view |
Definition at line 129 of file TracksCrossingGapsTool.cc.
◆ CalculateEffectiveOverlapSpan()
void lar_content::TracksCrossingGapsTool::CalculateEffectiveOverlapSpan |
( |
ThreeViewTransverseTracksAlgorithm *const |
pAlgorithm, |
|
|
const TensorType::Element & |
element, |
|
|
float & |
xMinEffU, |
|
|
float & |
xMaxEffU, |
|
|
float & |
xMinEffV, |
|
|
float & |
xMaxEffV, |
|
|
float & |
xMinEffW, |
|
|
float & |
xMaxEffW |
|
) |
| const |
|
private |
Calculate the effective overlap span given a set of clusters, taking gaps into account.
- Parameters
-
pAlgorithm | address of the calling algorithm |
element | the connected tensor element |
xMinEffU | to receive the effective min u coordinate |
xMaxEffU | to receive the effective max u coordinate |
xMinEffV | to receive the effective min v coordinate |
xMaxEffV | to receive the effective max v coordinate |
xMinEffW | to receive the effective min w coordinate |
xMaxEffW | to receive the effective max w coordinate |
Definition at line 150 of file TracksCrossingGapsTool.cc.
◆ CheckXPositionInGap()
Check individually each cluster where a gap might be present.
- Parameters
-
xSample,the | x coordinate we are checking |
slidingFitResult1 | the sliding fit result for the cluster in view 1 |
slidingFitResult2 | the sliding fit result for the cluster in view 2 |
slidingFitResult3 | the sliding fit result for the cluster in view 3 |
gapIn1 | whether there is a gap in view 1 |
gapIn2 | whether there is a gap in view 2 |
gapIn3 | whether there is a gap in view 3 |
- Returns
- boolean
Definition at line 244 of file TracksCrossingGapsTool.cc.
◆ FindTracks()
Find tracks crossing gaps, with unambiguous connection but poor overlap due to gaps.
- Parameters
-
pAlgorithm | address of the calling algorithm |
overlapTensor | the overlap tensor |
protoParticleVector | to receive the list of proto particles |
Definition at line 52 of file TracksCrossingGapsTool.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 |
◆ IsEndOfCluster()
bool lar_content::TracksCrossingGapsTool::IsEndOfCluster |
( |
const float |
xSample, |
|
|
const TwoDSlidingFitResult & |
slidingFitResult |
|
) |
| const |
|
private |
Check whether a x position is at the end of the cluster.
- Parameters
-
xSample,the | x coordinate of the point tested |
pCluster | the cluster we are interrogating for its extreme coordinates |
- Returns
- boolean
Definition at line 299 of file TracksCrossingGapsTool.cc.
◆ PassesGapChecks()
bool lar_content::TracksCrossingGapsTool::PassesGapChecks |
( |
ThreeViewTransverseTracksAlgorithm *const |
pAlgorithm, |
|
|
const TensorType::Element & |
element, |
|
|
const float |
xSample, |
|
|
bool & |
gapInU, |
|
|
bool & |
gapInV, |
|
|
bool & |
gapInW |
|
) |
| const |
|
private |
Check whether there is any gap in the three U-V-W clusters combination.
- Parameters
-
pAlgorithm | address of the calling algorithm |
element | the connected tensor element |
xSample | the x sampling position |
gapInU | to receive whether there is a gap in the u view |
gapInV | to receive whether there is a gap in the v view |
gapInW | to receive whether there is a gap in the w view |
- Returns
- boolean
Definition at line 207 of file TracksCrossingGapsTool.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()
Select a list of track-like elements crossing a gap in one or more views from a set of connected tensor elements.
- Parameters
-
pAlgorithm | address of the calling algorithm |
elementList | the full list of connected tensor elements |
usedClusters | the set 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 TracksCrossingGapsTool.cc.
◆ m_instanceName
std::string pandora::Process::m_instanceName |
|
protectedinherited |
The process instance name.
Definition at line 89 of file Process.h.
◆ m_maxAngleRatio
unsigned int lar_content::TracksCrossingGapsTool::m_maxAngleRatio |
|
private |
◆ m_maxGapTolerance
float lar_content::TracksCrossingGapsTool::m_maxGapTolerance |
|
private |
◆ m_minMatchedFraction
float lar_content::TracksCrossingGapsTool::m_minMatchedFraction |
|
private |
◆ m_minMatchedSamplingPointRatio
unsigned int lar_content::TracksCrossingGapsTool::m_minMatchedSamplingPointRatio |
|
private |
The min ratio between 1st and 2nd highest msps for simple ambiguity resolution.
Definition at line 124 of file TracksCrossingGapsTool.h.
◆ m_minMatchedSamplingPoints
unsigned int lar_content::TracksCrossingGapsTool::m_minMatchedSamplingPoints |
|
private |
◆ m_minXOverlapFraction
float lar_content::TracksCrossingGapsTool::m_minXOverlapFraction |
|
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_sampleStepSize
float lar_content::TracksCrossingGapsTool::m_sampleStepSize |
|
private |
◆ 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: