ThreeViewLongitudinalTracksAlgorithm class. More...
#include <ThreeViewLongitudinalTracksAlgorithm.h>
Public Types | |
| typedef NViewTrackMatchingAlgorithm < ThreeViewMatchingControl < LongitudinalOverlapResult > > | BaseAlgorithm |
Public Types inherited from lar_content::NViewMatchingAlgorithm< ThreeViewMatchingControl< LongitudinalOverlapResult > > | |
| typedef ThreeViewMatchingControl < LongitudinalOverlapResult > | MatchingType |
Public Member Functions | |
| ThreeViewLongitudinalTracksAlgorithm () | |
| Default constructor. More... | |
Public Member Functions inherited from lar_content::NViewTrackMatchingAlgorithm< ThreeViewMatchingControl< LongitudinalOverlapResult > > | |
| NViewTrackMatchingAlgorithm () | |
| Default constructor. More... | |
| virtual | ~NViewTrackMatchingAlgorithm () |
| Destructor. More... | |
| const TwoDSlidingFitResult & | GetCachedSlidingFitResult (const pandora::Cluster *const pCluster) const |
| Get a sliding fit result from the algorithm cache. More... | |
| unsigned int | GetSlidingFitWindow () const |
| Get the layer window for the sliding linear fits. More... | |
| virtual bool | MakeClusterSplits (const SplitPositionMap &splitPositionMap) |
| Make cluster splits. More... | |
| virtual bool | MakeClusterSplit (const pandora::CartesianVector &splitPosition, const pandora::Cluster *&pCurrentCluster, const pandora::Cluster *&pLowXCluster, const pandora::Cluster *&pHighXCluster) const |
| Make a cluster split. More... | |
| virtual void | UpdateForNewCluster (const pandora::Cluster *const pNewCluster) |
| Update to reflect addition of a new cluster to the problem space. More... | |
| virtual void | UpdateUponDeletion (const pandora::Cluster *const pDeletedCluster) |
| Update to reflect cluster deletion. More... | |
| virtual void | SelectInputClusters (const pandora::ClusterList *const pInputClusterList, pandora::ClusterList &selectedClusterList) const |
| Select a subset of input clusters for processing in this algorithm. More... | |
| virtual void | PrepareInputClusters (pandora::ClusterList &preparedClusterList) |
| Perform any preparatory steps required on the input clusters, e.g. caching expensive fit results. More... | |
| virtual void | SetPfoParticleId (PandoraContentApi::ParticleFlowObject::Parameters &pfoParameters) const |
| Set pfo particle id. More... | |
Public Member Functions inherited from lar_content::NViewMatchingAlgorithm< ThreeViewMatchingControl< LongitudinalOverlapResult > > | |
| NViewMatchingAlgorithm () | |
| Default constructor. More... | |
| virtual | ~NViewMatchingAlgorithm () |
| Destructor. More... | |
| const std::string & | GetClusterListName (const pandora::HitType hitType) const |
| Get the cluster list name corresponding to a specified hit type. More... | |
| const pandora::ClusterList & | GetInputClusterList (const pandora::HitType hitType) const |
| Get the input cluster list corresponding to a specified hit type. More... | |
| const pandora::ClusterList & | GetSelectedClusterList (const pandora::HitType hitType) const |
| Get the selected cluster list corresponding to a specified hit type. More... | |
Public Member Functions inherited from lar_content::MatchingBaseAlgorithm | |
| MatchingBaseAlgorithm () | |
| Default constructor. More... | |
| virtual | ~MatchingBaseAlgorithm () |
| Destructor. More... | |
| virtual bool | MakeClusterMerges (const ClusterMergeMap &clusterMergeMap) |
| Merge clusters together. More... | |
| virtual bool | CreateThreeDParticles (const ProtoParticleVector &protoParticleVector) |
| Create particles using findings from recent algorithm processing. More... | |
| virtual void | SetPfoParameters (const ProtoParticle &protoParticle, PandoraContentApi::ParticleFlowObject::Parameters &pfoParameters) const |
| Set Pfo properties. More... | |
Private Types | |
| typedef std::vector < LongitudinalTensorTool * > | TensorToolVector |
Private Member Functions | |
| void | CalculateOverlapResult (const pandora::Cluster *const pClusterU, const pandora::Cluster *const pClusterV, const pandora::Cluster *const pClusterW) |
| Calculate cluster overlap result and store in container. More... | |
| void | CalculateOverlapResult (const pandora::Cluster *const pClusterU, const pandora::Cluster *const pClusterV, const pandora::Cluster *const pClusterW, LongitudinalOverlapResult &overlapResult) |
| Calculate the overlap result for given group of clusters. More... | |
| void | CalculateOverlapResult (const TwoDSlidingFitResult &slidingFitResultU, const TwoDSlidingFitResult &slidingFitResultV, const TwoDSlidingFitResult &slidingFitResultW, const pandora::CartesianVector &vtxMerged3D, const pandora::CartesianVector &endMerged3D, TrackOverlapResult &overlapResult) const |
| Calculate the overlap result for given 3D vertex and end positions. More... | |
| void | ExamineOverlapContainer () |
| Examine contents of overlap container, collect together best-matching 2D particles and modify clusters as required. More... | |
| pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Private Attributes | |
| TensorToolVector | m_algorithmToolVector |
| The algorithm tool vector. More... | |
| unsigned int | m_nMaxTensorToolRepeats |
| The maximum number of repeat loops over tensor tools. More... | |
| float | m_vertexChi2Cut |
| The maximum allowed chi2 for associating end points from three views. More... | |
| float | m_reducedChi2Cut |
| The maximum allowed chi2 for associating hit positions from three views. More... | |
| float | m_samplingPitch |
| Pitch used to generate sampling points along tracks. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from lar_content::NViewTrackMatchingAlgorithm< ThreeViewMatchingControl< LongitudinalOverlapResult > > | |
| static bool | SortSplitPositions (const pandora::CartesianVector &lhs, const pandora::CartesianVector &rhs) |
| Sort split position cartesian vectors by increasing x coordinate. More... | |
Protected Member Functions inherited from lar_content::NViewTrackMatchingAlgorithm< ThreeViewMatchingControl< LongitudinalOverlapResult > > | |
| void | AddToSlidingFitCache (const pandora::Cluster *const pCluster) |
| Add a new sliding fit result, for the specified cluster, to the algorithm cache. More... | |
| void | RemoveFromSlidingFitCache (const pandora::Cluster *const pCluster) |
| Remova an existing sliding fit result, for the specified cluster, from the algorithm cache. More... | |
| virtual void | TidyUp () |
| Tidy member variables in derived class. More... | |
Protected Member Functions inherited from lar_content::NViewMatchingAlgorithm< ThreeViewMatchingControl< LongitudinalOverlapResult > > | |
| MatchingType & | GetMatchingControl () |
| Get the matching control. More... | |
| virtual void | SelectAllInputClusters () |
| Select a subset of input clusters for processing in this algorithm. More... | |
| virtual void | PrepareAllInputClusters () |
| Perform any preparatory steps required, e.g. caching expensive fit results for clusters. More... | |
| virtual void | PerformMainLoop () |
| Main loop over cluster combinations in order to populate the overlap container. Responsible for calling CalculateOverlapResult. More... | |
Protected Attributes inherited from lar_content::NViewMatchingAlgorithm< ThreeViewMatchingControl< LongitudinalOverlapResult > > | |
| MatchingType | m_matchingControl |
| The matching control. More... | |
ThreeViewLongitudinalTracksAlgorithm class.
Definition at line 29 of file ThreeViewLongitudinalTracksAlgorithm.h.
| typedef NViewTrackMatchingAlgorithm<ThreeViewMatchingControl<LongitudinalOverlapResult> > lar_content::ThreeViewLongitudinalTracksAlgorithm::BaseAlgorithm |
Definition at line 32 of file ThreeViewLongitudinalTracksAlgorithm.h.
|
private |
Definition at line 71 of file ThreeViewLongitudinalTracksAlgorithm.h.
| lar_content::ThreeViewLongitudinalTracksAlgorithm::ThreeViewLongitudinalTracksAlgorithm | ( | ) |
Default constructor.
Definition at line 21 of file ThreeViewLongitudinalTracksAlgorithm.cc.
|
privatevirtual |
Calculate cluster overlap result and store in container.
| pCluster1 | address of cluster1 |
| pCluster2 | address of cluster2 |
| pCluster3 | address of cluster3 |
Implements lar_content::MatchingBaseAlgorithm.
|
private |
Calculate the overlap result for given group of clusters.
| pClusterU | the cluster from the U view |
| pClusterV | the cluster from the V view |
| pClusterW | the cluster from the W view |
| overlapResult | to receive the overlap result |
|
private |
Calculate the overlap result for given 3D vertex and end positions.
| slidingFitResultU | the sliding fit result u |
| slidingFitResultV | the sliding fit result v |
| slidingFitResultW | the sliding fit result w |
| vtxMerged3D | the 3D vertex position |
| endMerged3D | the 3D end position |
| overlapResult | to receive the overlap result |
|
privatevirtual |
Examine contents of overlap container, collect together best-matching 2D particles and modify clusters as required.
Implements lar_content::MatchingBaseAlgorithm.
Definition at line 201 of file ThreeViewLongitudinalTracksAlgorithm.cc.
|
privatevirtual |
Reimplemented from lar_content::NViewTrackMatchingAlgorithm< ThreeViewMatchingControl< LongitudinalOverlapResult > >.
Definition at line 223 of file ThreeViewLongitudinalTracksAlgorithm.cc.
|
private |
The algorithm tool vector.
Definition at line 72 of file ThreeViewLongitudinalTracksAlgorithm.h.
|
private |
The maximum number of repeat loops over tensor tools.
Definition at line 74 of file ThreeViewLongitudinalTracksAlgorithm.h.
|
private |
The maximum allowed chi2 for associating hit positions from three views.
Definition at line 76 of file ThreeViewLongitudinalTracksAlgorithm.h.
|
private |
Pitch used to generate sampling points along tracks.
Definition at line 77 of file ThreeViewLongitudinalTracksAlgorithm.h.
|
private |
The maximum allowed chi2 for associating end points from three views.
Definition at line 75 of file ThreeViewLongitudinalTracksAlgorithm.h.
1.8.5