8 #ifndef LAR_TWO_VIEW_TRANSVERSE_TRACKS_ALGORITHM_H
9 #define LAR_TWO_VIEW_TRANSVERSE_TRACKS_ALGORITHM_H 1
11 #include "Pandora/Algorithm.h"
12 #include "Pandora/AlgorithmTool.h"
25 class TransverseMatrixTool;
44 void CalculateOverlapResult(
const pandora::Cluster *
const pCluster1,
const pandora::Cluster *
const pCluster2,
const pandora::Cluster *
const);
78 pandora::StatusCode
ReadSettings(
const pandora::TiXmlHandle xmlHandle);
103 typedef std::vector<MatrixType::ElementList::const_iterator>
IteratorList;
118 #endif // #ifndef LAR_TWO_VIEW_TRANSVERSE_TRACKS_ALGORITHM_H
TwoViewTransverseOverlapResult class.
NViewTrackMatchingAlgorithm class.
DiscreteProbabilityVector class.
Header file for the n view track matching algorithm class.
std::mt19937 m_randomNumberGenerator
The random number generator.
TwoViewTransverseTracksAlgorithm()
Default constructor.
virtual bool Run(TwoViewTransverseTracksAlgorithm *const pAlgorithm, MatrixType &overlapMatrix)=0
Run the algorithm tool.
TwoViewTransverseTracksAlgorithm class.
float m_localMatchingScoreThreshold
The minimum score to classify a local region as matching.
MatrixToolVector m_algorithmToolVector
The algorithm tool vector.
NViewTrackMatchingAlgorithm< TwoViewMatchingControl< TwoViewTransverseOverlapResult > > BaseAlgorithm
TwoViewTransverseTracksAlgorithm::MatchingType::MatrixType MatrixType
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
float GetPrimaryAxisDotDriftAxis(const pandora::Cluster *const pCluster)
Get the dot product between the cluster's primary axis and the drift axis.
Header file for the lar discrete probability vector class.
unsigned int m_nPermutations
The number of permutations for calculating p-values.
std::vector< TransverseMatrixTool * > MatrixToolVector
unsigned int CalculateNumberOfLocallyMatchingSamplingPoints(const DiscreteProbabilityVector &discreteProbabilityVector1, const DiscreteProbabilityVector &discreteProbabilityVector2, std::mt19937 &randomNumberGenerator)
Calculates the number of the sliding windows that contains charge bins that locally match...
unsigned int m_minSamples
The minimum number of samples needed for comparing charges.
float m_minOverallMatchingScore
M The maximum allowed cluster primary qxis Dot drift axis to fill the overlap result.
float m_minOverallLocallyMatchedFraction
The minimum required lcoally matched fraction to fill the overlap result.
TransverseMatrixTool class.
void ExamineOverlapContainer()
Examine contents of overlap container, collect together best-matching 2D particles and modify cluster...
unsigned int m_downsampleFactor
The downsampling (hit merging) applied to hits in the overlap region.
std::vector< MatrixType::ElementList::const_iterator > IteratorList
Header file for the two view matching control class.
void CalculateOverlapResult(const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2, const pandora::Cluster *const)
Calculate cluster overlap result and store in container.
Header file for the lar track two view overlap result class.
unsigned int m_nMaxMatrixToolRepeats
The maximum number of repeat loops over matrix tools.
std::set< unsigned int > UIntSet