LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "PeakDirectionFinderTool.h"
Public Member Functions | |
PeakDirectionFinderTool () | |
Default constructor. More... | |
pandora::StatusCode | Run (const pandora::ParticleFlowObject *const pShowerPfo, const pandora::CartesianVector &nuVertex3D, const pandora::CaloHitList *const pViewHitList, const pandora::HitType hitType, pandora::CartesianPointVector &peakDirectionVector) |
Private Types | |
typedef std::map< int, float > | AngularDecompositionMap |
Private Member Functions | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
void | CollectHitsWithinROI (const pandora::CaloHitList &showerHitList, const pandora::CaloHitList *const pViewHitList, const pandora::CartesianVector &nuVertex2D, pandora::CaloHitList &viewROIHits) const |
Collect the 2D hits within a region of interest (m_ambiguousParticleMode ? hits not in the shower : hits within the initial shower cone [originating from the nu vertex]) More... | |
void | GetAngularExtrema (const pandora::CaloHitList &showerHitList, const pandora::CartesianVector &nuVertex2D, float &lowestTheta, float &highestTheta) const |
Determine the angle (from the +ve drift-axis) of the shower cone boundaries (originating from the nu vertex) More... | |
void | CollectHitsWithinExtrema (const pandora::CaloHitList *const pViewHitList, const pandora::CartesianVector &nuVertex2D, const float lowestTheta, const float highestTheta, pandora::CaloHitList &viewROIHits) const |
Collect the hits that lie within the initial shower cone (originating from the nu vertex) More... | |
void | FillAngularDecompositionMap (const pandora::CaloHitList &viewShowerHitList, const pandora::CartesianVector &nuVertex2D, AngularDecompositionMap &angularDecompositionMap) const |
Determine the angular distribution of the ROI hits. More... | |
void | SmoothAngularDecompositionMap (AngularDecompositionMap &angularDecompositionMap) const |
Smooth the ROI angular angular distribution. More... | |
void | RetrievePeakDirections (const AngularDecompositionMap &angularDecompositionMap, pandora::CartesianPointVector &peakDirectionVector) const |
Obtain a vector of directions from the angular distribution peaks. More... | |
Private Attributes | |
float | m_pathwaySearchRegion |
The initial shower cone distance. More... | |
float | m_theta0XZBinSize |
The angular distribution bin size. More... | |
int | m_smoothingWindow |
On each side, the number of neighbouring bins with which each bin is averaged. More... | |
bool | m_ambiguousParticleMode |
Whether to find the initial pathway direction of the shower or of the other event particles. More... | |
Definition at line 17 of file PeakDirectionFinderTool.h.
|
private |
Definition at line 29 of file PeakDirectionFinderTool.h.
lar_content::PeakDirectionFinderTool::PeakDirectionFinderTool | ( | ) |
Default constructor.
Definition at line 22 of file PeakDirectionFinderTool.cc.
|
private |
Collect the hits that lie within the initial shower cone (originating from the nu vertex)
pViewHitList | the event 2D hits list |
nuVertex2D | the 2D neutrino vertex |
lowestTheta | the lower angle (from the +ve drift-axis) boundary |
highestTheta | the higher angle (from the +ve drift-axis) boundary |
viewROIHits | the region of interest 2D hit list |
Definition at line 120 of file PeakDirectionFinderTool.cc.
References f.
Referenced by CollectHitsWithinROI().
|
private |
Collect the 2D hits within a region of interest (m_ambiguousParticleMode ? hits not in the shower : hits within the initial shower cone [originating from the nu vertex])
showerHitList | the 2D shower hit list |
pViewHitList | the event 2D hits list |
nuVertex2D | the 2D neutrino vertex |
viewROIHits | the region of interest 2D hit list |
Definition at line 68 of file PeakDirectionFinderTool.cc.
References CollectHitsWithinExtrema(), f, GetAngularExtrema(), and m_ambiguousParticleMode.
Referenced by Run().
|
private |
Determine the angular distribution of the ROI hits.
viewShowerHitList | the 2D shower hit list |
nuVertex2D | the 2D neutrino vertex |
angularDecompositionMap | the output [angle from drift-axis -> weight] map |
Definition at line 144 of file PeakDirectionFinderTool.cc.
References f, m_pathwaySearchRegion, and m_theta0XZBinSize.
Referenced by Run().
|
private |
Determine the angle (from the +ve drift-axis) of the shower cone boundaries (originating from the nu vertex)
showerHitList | the 2D shower hit list |
nuVertex2D | the 2D neutrino vertex |
lowestTheta | the lower angle boundary |
highestTheta | the higher angle boundary |
Definition at line 92 of file PeakDirectionFinderTool.cc.
References f.
Referenced by CollectHitsWithinROI().
|
private |
Definition at line 274 of file PeakDirectionFinderTool.cc.
References m_ambiguousParticleMode, m_pathwaySearchRegion, m_smoothingWindow, and m_theta0XZBinSize.
|
private |
Obtain a vector of directions from the angular distribution peaks.
angularDecompositionMap | the [angle from drift-axis -> weight] map |
peakDirectionVector | the output peak direction vector |
Definition at line 201 of file PeakDirectionFinderTool.cc.
References f, and m_theta0XZBinSize.
Referenced by Run().
StatusCode lar_content::PeakDirectionFinderTool::Run | ( | const pandora::ParticleFlowObject *const | pShowerPfo, |
const pandora::CartesianVector & | nuVertex3D, | ||
const pandora::CaloHitList *const | pViewHitList, | ||
const pandora::HitType | hitType, | ||
pandora::CartesianPointVector & | peakDirectionVector | ||
) |
Definition at line 32 of file PeakDirectionFinderTool.cc.
References CollectHitsWithinROI(), FillAngularDecompositionMap(), lar_content::LArPfoHelper::GetCaloHits(), lar_content::LArGeometryHelper::ProjectPosition(), RetrievePeakDirections(), and SmoothAngularDecompositionMap().
Referenced by lar_content::ElectronInitialRegionRefinementAlgorithm::BuildViewPathways(), and lar_content::ElectronInitialRegionRefinementAlgorithm::BuildViewProtoShowers().
|
private |
Smooth the ROI angular angular distribution.
angularDecompositionMap | the [angle from drift-axis -> weight] map |
Definition at line 173 of file PeakDirectionFinderTool.cc.
References f, and m_smoothingWindow.
Referenced by Run().
|
private |
Whether to find the initial pathway direction of the shower or of the other event particles.
Definition at line 96 of file PeakDirectionFinderTool.h.
Referenced by CollectHitsWithinROI(), and ReadSettings().
|
private |
The initial shower cone distance.
Definition at line 93 of file PeakDirectionFinderTool.h.
Referenced by FillAngularDecompositionMap(), and ReadSettings().
|
private |
On each side, the number of neighbouring bins with which each bin is averaged.
Definition at line 95 of file PeakDirectionFinderTool.h.
Referenced by ReadSettings(), and SmoothAngularDecompositionMap().
|
private |
The angular distribution bin size.
Definition at line 94 of file PeakDirectionFinderTool.h.
Referenced by FillAngularDecompositionMap(), ReadSettings(), and RetrievePeakDirections().