TwoViewAmbiguousDeltaRayTool.h
Go to the documentation of this file.
1 /**
2  * @file larpandoracontent/LArThreeDReco/LArCosmicRay/TwoViewAmbiguousDeltaRayTool.h
3  *
4  * @brief Header file for the two view delta ray merge tool class
5  *
6  * $Log: $
7  */
8 #ifndef TWO_VIEW_AMBIGUOUS_DELTA_RAY_TOOL_H
9 #define TWO_VIEW_AMBIGUOUS_DELTA_RAY_TOOL_H 1
10 
12 
13 namespace lar_content
14 {
15 
16 /**
17  * @brief TwoViewAmbiguousDeltaRayTool class
18  */
20 {
21 public:
22  typedef std::vector<pandora::HitType> HitTypeVector;
23  /**
24  * @brief Default constructor
25  */
27 
28 private:
29  bool Run(TwoViewDeltaRayMatchingAlgorithm *const pAlgorithm, MatrixType &overlapMatrix);
30  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
31 
32  /**
33  * @brief Identify ambiguous matches (e.g. 3:2:1) and, if possible, create pfos out of the best 1:1:1 cluster match
34  *
35  * @param overlapMatrix the overlap matrix
36  */
37  void ExamineConnectedElements(MatrixType &overlapMatrix) const;
38 
39  /**
40  * @brief Identify the best 1:1:1 match in a group of connected elements and from it create a pfo
41  *
42  * @param elementList the tensor element list
43  *
44  * @return whether any particles were created
45  */
46  bool PickOutGoodMatches(const MatrixType::ElementList &elementList) const;
47 };
48 
49 } // namespace lar_content
50 
51 #endif // #ifndef TWO_VIEW_AMBIGUOUS_DELTA_RAY_TOOL_H
bool Run(TwoViewDeltaRayMatchingAlgorithm *const pAlgorithm, MatrixType &overlapMatrix)
Run the algorithm tool.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
void ExamineConnectedElements(MatrixType &overlapMatrix) const
Identify ambiguous matches (e.g. 3:2:1) and, if possible, create pfos out of the best 1:1:1 cluster m...
bool PickOutGoodMatches(const MatrixType::ElementList &elementList) const
Identify the best 1:1:1 match in a group of connected elements and from it create a pfo...