8 #ifndef TRACKS_CROSSING_GAPS_TOOL_H 
    9 #define TRACKS_CROSSING_GAPS_TOOL_H 1 
   31     pandora::StatusCode 
ReadSettings(
const pandora::TiXmlHandle xmlHandle);
 
   51         const pandora::ClusterSet &usedClusters, 
IteratorList &iteratorList) 
const;
 
   63         float &xOverlapFractionU, 
float &xOverlapFractionV, 
float &xOverlapFractionW) 
const;
 
   78         float &xMinEffU, 
float &xMaxEffU, 
float &xMinEffV, 
float &xMaxEffV, 
float &xMinEffW, 
float &xMaxEffW) 
const;
 
   93         bool &gapInU, 
bool &gapInV, 
bool &gapInW) 
const;
 
  132 #endif // #ifndef LONG_TRACKS_TOOL_H 
unsigned int m_minMatchedSamplingPoints
The min number of matched sampling points for particle creation. 
std::vector< ProtoParticle > ProtoParticleVector
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. 
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...
float m_maxGapTolerance
The max gap tolerance. 
std::vector< TensorType::ElementList::const_iterator > IteratorList
float m_minXOverlapFraction
The min x overlap fraction (in each view) for particle creation. 
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 tens...
unsigned int m_minMatchedSamplingPointRatio
The min ratio between 1st and 2nd highest msps for simple ambiguity resolution. 
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. 
std::vector< Element > ElementList
float m_minMatchedFraction
The min matched sampling point fraction for particle creation. 
TracksCrossingGapsTool class. 
Header file for the three view transverse tracks algorithm class. 
bool Run(ThreeViewTransverseTracksAlgorithm *const pAlgorithm, TensorType &overlapTensor)
Run the algorithm tool. 
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. 
TransverseTensorTool class. 
unsigned int m_maxAngleRatio
The max ratio allowed in the angle. 
TracksCrossingGapsTool()
Default constructor. 
Header file for the lar track overlap result class. 
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
float m_sampleStepSize
The sampling step size used in association checks, units cm. 
ThreeViewTransverseTracksAlgorithm class. 
TwoDSlidingFitResult class.