CosmicRayTrackMatchingAlgorithm.h
Go to the documentation of this file.
1 /**
2  * @file larpandoracontent/LArThreeDReco/LArCosmicRay/CosmicRayTrackMatchingAlgorithm.h
3  *
4  * @brief Header file for the cosmic ray track matching algorithm class.
5  *
6  * $Log: $
7  */
8 #ifndef LAR_COSMIC_RAY_TRACK_MATCHING_ALGORITHM_H
9 #define LAR_COSMIC_RAY_TRACK_MATCHING_ALGORITHM_H 1
10 
12 
13 namespace lar_content
14 {
15 
16 /**
17  * @brief CosmicRayTrackMatchingAlgorithm class
18  */
20 {
21 public:
22  /**
23  * @brief Default constructor
24  */
26 
27 private:
28  void SelectCleanClusters(const pandora::ClusterVector &inputVector, pandora::ClusterVector &outputVector) const;
29  bool MatchClusters(const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2) const;
31  const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2, const pandora::Cluster *const pCluster3) const;
32  void SetPfoParameters(const Particle &protoParticle, PandoraContentApi::ParticleFlowObject::Parameters &pfoParameters) const;
33 
34  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
35 
36  float m_clusterMinLength; ///< minimum length of clusters for this algorithm
37  float m_vtxXOverlap; ///< requirement on X overlap of start/end positions
38  float m_minXOverlap; ///< requirement on minimum X overlap for associated clusters
39  float m_minXOverlapFraction; ///< requirement on minimum X overlap fraction for associated clusters
40  float m_maxDisplacement; ///< requirement on 3D consistency checks
41 };
42 
43 } // namespace lar_content
44 
45 #endif // #ifndef LAR_COSMIC_RAY_TRACK_MATCHING_ALGORITHM_H
void SetPfoParameters(const Particle &protoParticle, PandoraContentApi::ParticleFlowObject::Parameters &pfoParameters) const
Calculate Pfo properties from proto particle.
Header file for the cosmic ray base matching algorithm class.
void SelectCleanClusters(const pandora::ClusterVector &inputVector, pandora::ClusterVector &outputVector) const
Select a set of clusters judged to be clean.
float m_vtxXOverlap
requirement on X overlap of start/end positions
float m_clusterMinLength
minimum length of clusters for this algorithm
float m_maxDisplacement
requirement on 3D consistency checks
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
float m_minXOverlap
requirement on minimum X overlap for associated clusters
bool MatchClusters(const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2) const
Match a pair of clusters from two views.
bool CheckMatchedClusters3D(const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2, const pandora::Cluster *const pCluster3) const
Check that three clusters have a consistent 3D position.
float m_minXOverlapFraction
requirement on minimum X overlap fraction for associated clusters
std::vector< art::Ptr< recob::Cluster > > ClusterVector