All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DeltaRayRemovalTool.h
Go to the documentation of this file.
1 /**
2  * @file larpandoracontent/LArThreeDReco/LArCosmicRay/DeltaRayRemovalTool.h
3  *
4  * @brief Header file for the delta ray removal tool class.
5  *
6  * $Log: $
7  */
8 #ifndef DELTA_RAY_REMOVAL_TOOL_H
9 #define DELTA_RAY_REMOVAL_TOOL_H 1
10 
13 
14 namespace lar_content
15 {
16 /**
17  * @brief DeltaRayRemovalTool class
18  */
20 {
21 public:
22  /**
23  * @brief Default constructor
24  */
26 
27 private:
28  bool Run(ThreeViewDeltaRayMatchingAlgorithm *const pAlgorithm, TensorType &overlapTensor);
29  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
30 
31  /**
32  * @brief Remove hits from cosmic ray clusters that belong to a child delta ray
33  *
34  * @param elementList the tensor element list
35  *
36  * @return changesMade whether clusters in element have been modified
37  */
38  bool RemoveDeltaRayHits(const TensorType::ElementList &elementList) const;
39 
40  /**
41  * @brief Determine whether element satifies simple checks
42  *
43  * @param element the tensor element
44  * @param hitType the hit type of the cluster under investigation
45  *
46  * @return whether the checks pass
47  */
48  virtual bool PassElementChecks(const TensorType::Element &element, const pandora::HitType hitType) const;
49 
50  /**
51  * @brief Determine whether the cosmic ray cluster under investigation has delta ray contamination
52  *
53  * @param element the tensor element
54  * @param hitType the hit type of the view under investigation
55  *
56  * @return whether the cosmic ray cluster is likely to contain delta ray hits that can be removed
57  */
58  bool IsContaminated(const TensorType::Element &element, const pandora::HitType hitType) const;
59 
60  /**
61  * @brief Remove collected delta ray hits from the cosmic ray pfo
62  *
63  * @param element the tensor element
64  * @param hitType the hit type of the cluster under investigation
65  * @param deltaRayHits the list of delta ray hits to remove
66  */
67  void SplitMuonCluster(const TensorType::Element &element, const pandora::HitType hitType, const pandora::CaloHitList &deltaRayHits) const;
68 
69  unsigned int m_slidingFitWindow; ///< The sliding fit window used in cosmic ray parameterisations
70  float m_minDeviationFromTransverse; ///< The minimum deviation from transverse required to avoid mistakes
71  float m_contaminationWindow; ///< The distance in which to search for delta ray contamination in the cosmic ray track
72  unsigned int m_significantHitThreshold; ///< The threshold number of hits which define significant contimination
73  float m_minDistanceFromMuon; ///< The minimum distance of a hit from the cosmic ray track required for removal
74  float m_maxDistanceToCollected; ///< The maximim distance of a hit from the projected delta ray hits required for removal
75 };
76 
77 } // namespace lar_content
78 
79 #endif // #ifndef DELTA_RAY_REMOVAL_TOOL_H
unsigned int m_slidingFitWindow
The sliding fit window used in cosmic ray parameterisations.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
float m_contaminationWindow
The distance in which to search for delta ray contamination in the cosmic ray track.
Header file for the removal base tool class.
bool IsContaminated(const TensorType::Element &element, const pandora::HitType hitType) const
Determine whether the cosmic ray cluster under investigation has delta ray contamination.
float m_minDistanceFromMuon
The minimum distance of a hit from the cosmic ray track required for removal.
bool Run(ThreeViewDeltaRayMatchingAlgorithm *const pAlgorithm, TensorType &overlapTensor)
Run the algorithm tool.
DeltaRayRemovalTool class.
DeltaRayRemovalTool()
Default constructor.
float m_minDeviationFromTransverse
The minimum deviation from transverse required to avoid mistakes.
float m_maxDistanceToCollected
The maximim distance of a hit from the projected delta ray hits required for removal.
void SplitMuonCluster(const TensorType::Element &element, const pandora::HitType hitType, const pandora::CaloHitList &deltaRayHits) const
Remove collected delta ray hits from the cosmic ray pfo.
virtual bool PassElementChecks(const TensorType::Element &element, const pandora::HitType hitType) const
Determine whether element satifies simple checks.
unsigned int m_significantHitThreshold
The threshold number of hits which define significant contimination.
RemovalBaseTool class.
bool RemoveDeltaRayHits(const TensorType::ElementList &elementList) const
Remove hits from cosmic ray clusters that belong to a child delta ray.