![]() |
LArSoft
v10_06_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "ShowerSpineFinderTool.h"
Public Member Functions | |
| ShowerSpineFinderTool () | |
| pandora::StatusCode | Run (const pandora::CartesianVector &nuVertex3D, const pandora::CaloHitList *const pViewHitList, const pandora::HitType hitType, const pandora::CartesianVector &peakDirection, pandora::CaloHitList &unavailableHitList, pandora::CaloHitList &showerSpineHitList) |
Private Member Functions | |
| pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
| void | FindShowerSpine (const pandora::CaloHitList *const pViewHitList, const pandora::CartesianVector &nuVertex2D, const pandora::CartesianVector &initialDirection, pandora::CaloHitList &unavailableHitList, pandora::CaloHitList &showerSpineHitList) const |
| Perform a running fit to collect the hits of the shower spine. More... | |
| bool | CollectSubsectionHits (const TwoDSlidingFitResult &extrapolatedFit, const pandora::CartesianVector &extrapolatedStartPosition, const pandora::CartesianVector &extrapolatedEndPosition, const pandora::CartesianVector &extrapolatedDirection, const bool isEndDownstream, const pandora::CaloHitList *const pViewHitList, pandora::CartesianPointVector &runningFitPositionVector, pandora::CaloHitList &unavailableHitList, pandora::CaloHitList &showerSpineHitList) const |
| Perform a running fit step: collect hits which lie close to the shower spine projection. More... | |
| bool | IsCloseToLine (const pandora::CartesianVector &hitPosition, const pandora::CartesianVector &lineStart, const pandora::CartesianVector &lineDirection, const float distanceToLine) const |
| Determine whether a hit lies close to the shower spine projection. More... | |
| void | CollectConnectedHits (const pandora::CaloHitList &collectedHits, const pandora::CartesianVector &extrapolatedStartPosition, const pandora::CartesianVector &extrapolatedDirection, pandora::CartesianPointVector &runningFitPositionVector, pandora::CaloHitList &showerSpineHitList) const |
| Add to the shower spine the connecting hits. More... | |
| float | GetClosestDistance (const pandora::CartesianVector &position, const pandora::CartesianPointVector &testPositions) const |
| Find the smallest distance between a position and a list of other positions. More... | |
Private Attributes | |
| unsigned int | m_hitThresholdForSpine |
| The hit threshold for a significant spine. More... | |
| float | m_growingFitInitialLength |
| The first step distance. More... | |
| float | m_initialFitDistanceToLine |
| The max. proximity to the spine projection for collection in the first step. More... | |
| unsigned int | m_minInitialHitsFound |
| The min. number of hits collected in the first step for continuation. More... | |
| unsigned int | m_maxFittingHits |
| The number of hits to consider in the running fit. More... | |
| unsigned int | m_localSlidingFitWindow |
| The standard sliding fit window for spine fits. More... | |
| float | m_growingFitSegmentLength |
| The standard step distance. More... | |
| unsigned int | m_highResolutionSlidingFitWindow |
| The high resolution sliding fit window for spine fits. More... | |
| float | m_distanceToLine |
| The max. proximity to the spine projection for collection. More... | |
| float | m_hitConnectionDistance |
| The max. separation between connected hits. More... | |
Definition at line 19 of file ShowerSpineFinderTool.h.
| lar_content::ShowerSpineFinderTool::ShowerSpineFinderTool | ( | ) |
Definition at line 25 of file ShowerSpineFinderTool.cc.
|
private |
Add to the shower spine the connecting hits.
| collectedHits | the input list of close hits |
| extrapolatedStartPosition | the shower spine projection start position |
| extrapolatedDirection | the shower spine projection direction |
| runningFitPositionVector | the vector of the collected hit positions |
| showerSpineHitList | the list of collected shower spine hits |
Definition at line 228 of file ShowerSpineFinderTool.cc.
References GetClosestDistance(), lar_content::LArHitWidthHelper::GetClosestDistance(), lar_content::LArHitWidthHelper::GetClosestPointToLine2D(), and m_hitConnectionDistance.
Referenced by CollectSubsectionHits().
|
private |
Perform a running fit step: collect hits which lie close to the shower spine projection.
| extrapolatedFit | the fit to the hitherto collected hits |
| extrapolatedStartPosition | the shower spine projection start position |
| extrapolatedEndPosition | the shower spine projection end position |
| extrapolatedDirection | the shower spine projection direction |
| isEndDownstream | whether the shower direction is downstream (in Z) of the neutrino vertex |
| pViewHitList | the 2D event hit list |
| runningFitPositionVector | the vector of the hitherto collected hit positions |
| unavailableHitList | protected hits that cannot be collected |
| showerSpineHitList | the output list of shower spine hits |
Definition at line 155 of file ShowerSpineFinderTool.cc.
References CollectConnectedHits(), f, lar_content::LArHitWidthHelper::GetClosestPointToLine2D(), lar_content::TwoDSlidingFitResult::GetLocalPosition(), IsCloseToLine(), and m_distanceToLine.
Referenced by FindShowerSpine().
|
private |
Perform a running fit to collect the hits of the shower spine.
| pViewHitList | the 2D event hit list |
| nuVertex2D | the 2D neutrino vertex |
| initialDirection | the initial direction of the pathway |
| unavailableHitList | protected hits that cannot be collected |
| showerSpineHitList | the output list of shower spine hits |
Definition at line 57 of file ShowerSpineFinderTool.cc.
References CollectSubsectionHits(), f, lar_content::TwoDSlidingFitResult::GetGlobalMaxLayerDirection(), lar_content::TwoDSlidingFitResult::GetGlobalMaxLayerPosition(), lar_content::TwoDSlidingFitResult::GetGlobalMinLayerDirection(), lar_content::TwoDSlidingFitResult::GetGlobalMinLayerPosition(), lar_content::LArGeometryHelper::GetWirePitch(), m_growingFitInitialLength, m_growingFitSegmentLength, m_highResolutionSlidingFitWindow, m_initialFitDistanceToLine, m_localSlidingFitWindow, m_maxFittingHits, and m_minInitialHitsFound.
Referenced by Run().
|
private |
Find the smallest distance between a position and a list of other positions.
| position | the input position |
| testPositions | the list of other positions |
Definition at line 262 of file ShowerSpineFinderTool.cc.
Referenced by CollectConnectedHits().
|
private |
Determine whether a hit lies close to the shower spine projection.
| hitPosition | the hit position |
| lineStart | the shower spine projection start position |
| lineDirection | the shower spine projection direction |
| distanceToLine | the comparison distance for 'is close' |
Definition at line 215 of file ShowerSpineFinderTool.cc.
Referenced by CollectSubsectionHits().
|
private |
Definition at line 279 of file ShowerSpineFinderTool.cc.
References m_distanceToLine, m_growingFitInitialLength, m_growingFitSegmentLength, m_highResolutionSlidingFitWindow, m_hitConnectionDistance, m_hitThresholdForSpine, m_initialFitDistanceToLine, m_localSlidingFitWindow, m_maxFittingHits, and m_minInitialHitsFound.
| StatusCode lar_content::ShowerSpineFinderTool::Run | ( | const pandora::CartesianVector & | nuVertex3D, |
| const pandora::CaloHitList *const | pViewHitList, | ||
| const pandora::HitType | hitType, | ||
| const pandora::CartesianVector & | peakDirection, | ||
| pandora::CaloHitList & | unavailableHitList, | ||
| pandora::CaloHitList & | showerSpineHitList | ||
| ) |
Definition at line 41 of file ShowerSpineFinderTool.cc.
References FindShowerSpine(), m_hitThresholdForSpine, and lar_content::LArGeometryHelper::ProjectPosition().
Referenced by lar_content::ElectronInitialRegionRefinementAlgorithm::BuildViewPathways(), and lar_content::ElectronInitialRegionRefinementAlgorithm::BuildViewProtoShowers().
|
private |
The max. proximity to the spine projection for collection.
Definition at line 106 of file ShowerSpineFinderTool.h.
Referenced by CollectSubsectionHits(), and ReadSettings().
|
private |
The first step distance.
Definition at line 99 of file ShowerSpineFinderTool.h.
Referenced by FindShowerSpine(), and ReadSettings().
|
private |
The standard step distance.
Definition at line 104 of file ShowerSpineFinderTool.h.
Referenced by FindShowerSpine(), and ReadSettings().
|
private |
The high resolution sliding fit window for spine fits.
Definition at line 105 of file ShowerSpineFinderTool.h.
Referenced by FindShowerSpine(), and ReadSettings().
|
private |
The max. separation between connected hits.
Definition at line 107 of file ShowerSpineFinderTool.h.
Referenced by CollectConnectedHits(), and ReadSettings().
|
private |
The hit threshold for a significant spine.
Definition at line 98 of file ShowerSpineFinderTool.h.
Referenced by ReadSettings(), and Run().
|
private |
The max. proximity to the spine projection for collection in the first step.
Definition at line 100 of file ShowerSpineFinderTool.h.
Referenced by FindShowerSpine(), and ReadSettings().
|
private |
The standard sliding fit window for spine fits.
Definition at line 103 of file ShowerSpineFinderTool.h.
Referenced by FindShowerSpine(), and ReadSettings().
|
private |
The number of hits to consider in the running fit.
Definition at line 102 of file ShowerSpineFinderTool.h.
Referenced by FindShowerSpine(), and ReadSettings().
|
private |
The min. number of hits collected in the first step for continuation.
Definition at line 101 of file ShowerSpineFinderTool.h.
Referenced by FindShowerSpine(), and ReadSettings().