LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
ThreeDSlidingFitResult class. More...
#include "LArThreeDSlidingFitResult.h"
Public Member Functions | |
template<typename T > | |
ThreeDSlidingFitResult (const T *const pT, const unsigned int slidingFitWindow, const float slidingFitLayerPitch) | |
Constructor. More... | |
const pandora::Cluster * | GetCluster () const |
Get the address of the cluster. More... | |
const pandora::CartesianVector & | GetAxisIntercept () const |
Get the axis intercept position. More... | |
const pandora::CartesianVector & | GetAxisDirection () const |
Get the axis direction vector. More... | |
const TwoDSlidingFitResult & | GetFirstFitResult () const |
Get the first sliding fit result for this cluster. More... | |
const TwoDSlidingFitResult & | GetSecondFitResult () const |
Get the second sliding fit result for this cluster. More... | |
const pandora::CartesianVector & | GetGlobalMinLayerPosition () const |
Get global position corresponding to the fit result in minimum fit layer. More... | |
const pandora::CartesianVector & | GetGlobalMaxLayerPosition () const |
Get global position corresponding to the fit result in maximum fit layer. More... | |
const pandora::CartesianVector & | GetGlobalMinLayerDirection () const |
Get global direction corresponding to the fit result in minimum fit layer. More... | |
const pandora::CartesianVector & | GetGlobalMaxLayerDirection () const |
Get global direction corresponding to the fit result in maximum fit layer. More... | |
int | GetMinLayer () const |
Get the minimum occupied layer in the sliding fit. More... | |
int | GetMaxLayer () const |
Get the maximum occupied layer in the sliding fit. More... | |
float | GetMinLayerRms () const |
Get rms at minimum layer. More... | |
float | GetMaxLayerRms () const |
Get rms at maximum layer. More... | |
float | GetFitRms (const float rL) const |
Get fit rms for a given longitudinal coordinate. More... | |
float | GetLongitudinalDisplacement (const pandora::CartesianVector &position) const |
Get longitudinal projection onto primary axis. More... | |
pandora::StatusCode | GetGlobalFitPosition (const float rL, pandora::CartesianVector &position) const |
Get global fit position for a given longitudinal coordinate. More... | |
pandora::StatusCode | GetGlobalFitDirection (const float rL, pandora::CartesianVector &direction) const |
Get global fit direction for a given longitudinal coordinate. More... | |
Private Member Functions | |
void | GetGlobalPosition (const float rL, const float rT1, const float rT2, pandora::CartesianVector &position) const |
Get global coordinates for a given pair of sliding linear fit coordinates. More... | |
void | GetGlobalDirection (const float dTdL1, const float dTdL2, pandora::CartesianVector &direction) const |
Get global direction coordinates for a given pair of sliding linear fit gradients. More... | |
Static Private Member Functions | |
static pandora::TrackState | GetPrimaryAxis (const pandora::Cluster *const pCluster, const float slidingFitLayerPitch) |
Calculate the position and direction of the primary axis. More... | |
static pandora::TrackState | GetPrimaryAxis (const pandora::CartesianPointVector *const pPointVector, const float slidingFitLayerPitch) |
Calculate the position and direction of the primary axis. More... | |
static pandora::CartesianVector | GetSeedDirection (const pandora::CartesianVector &axisDirection) |
Generate a seed vector to be used in calculating the orthogonal axes. More... | |
Private Attributes | |
const pandora::TrackState | m_primaryAxis |
The primary axis position and direction. More... | |
const pandora::CartesianVector | m_axisIntercept |
The axis intercept position. More... | |
const pandora::CartesianVector | m_axisDirection |
The axis direction vector. More... | |
const pandora::CartesianVector | m_firstOrthoDirection |
The orthogonal direction vector. More... | |
const pandora::CartesianVector | m_secondOrthoDirection |
The orthogonal direction vector. More... | |
const TwoDSlidingFitResult | m_firstFitResult |
The first sliding fit result. More... | |
const TwoDSlidingFitResult | m_secondFitResult |
The second sliding fit result. More... | |
const int | m_minLayer |
The minimum combined layer. More... | |
const int | m_maxLayer |
The maximum combined layer. More... | |
pandora::CartesianVector | m_minLayerPosition |
The global position at the minimum combined layer. More... | |
pandora::CartesianVector | m_maxLayerPosition |
The global position at the maximum combined layer. More... | |
pandora::CartesianVector | m_minLayerDirection |
The global direction at the minimum combined layer. More... | |
pandora::CartesianVector | m_maxLayerDirection |
The global direction at the maximum combined layer. More... | |
ThreeDSlidingFitResult class.
Definition at line 23 of file LArThreeDSlidingFitResult.h.
template lar_content::ThreeDSlidingFitResult::ThreeDSlidingFitResult | ( | const T *const | pT, |
const unsigned int | slidingFitWindow, | ||
const float | slidingFitLayerPitch | ||
) |
Constructor.
pT | describing the positions to be fitted |
slidingFitWindow | the sliding fit window |
slidingFitLayerPitch | the sliding fit z pitch, units cm |
Definition at line 28 of file LArThreeDSlidingFitResult.cc.
References GetGlobalFitDirection(), GetGlobalFitPosition(), lar_content::TwoDSlidingFitResult::GetL(), m_firstFitResult, m_maxLayer, m_maxLayerDirection, m_maxLayerPosition, m_minLayer, m_minLayerDirection, and m_minLayerPosition.
Referenced by GetSeedDirection().
|
inline |
Get the axis direction vector.
Definition at line 243 of file LArThreeDSlidingFitResult.h.
References m_axisDirection.
|
inline |
Get the axis intercept position.
Definition at line 236 of file LArThreeDSlidingFitResult.h.
References m_axisIntercept.
const pandora::Cluster * lar_content::ThreeDSlidingFitResult::GetCluster | ( | ) | const |
Get the address of the cluster.
Definition at line 57 of file LArThreeDSlidingFitResult.cc.
References lar_content::TwoDSlidingFitResult::GetCluster(), and m_firstFitResult.
Referenced by lar_content::LArPointingCluster::BuildPointingCluster().
|
inline |
Get the first sliding fit result for this cluster.
Definition at line 250 of file LArThreeDSlidingFitResult.h.
References m_firstFitResult.
Referenced by lar_content::CosmicRayTaggingTool::CRCandidate::CalculateFitVariables(), lar_content::NeutrinoHierarchyAlgorithm::PfoInfo::operator=(), lar_content::NeutrinoHierarchyAlgorithm::PfoInfo::PfoInfo(), and lar_content::ThreeDSlidingConeFitResult::ThreeDSlidingConeFitResult().
float lar_content::ThreeDSlidingFitResult::GetFitRms | ( | const float | rL | ) | const |
Get fit rms for a given longitudinal coordinate.
rL | the longitudinal coordinate |
Definition at line 104 of file LArThreeDSlidingFitResult.cc.
References lar_content::TwoDSlidingFitResult::GetFitRms(), m_firstFitResult, and m_secondFitResult.
|
private |
Get global direction coordinates for a given pair of sliding linear fit gradients.
dTdL1 | the first transverse coordinate |
dTdL2 | the second transverse coordinate |
direction | to receive the direction cartesian vector |
Definition at line 194 of file LArThreeDSlidingFitResult.cc.
References f, lar_content::LArClusterHelper::GetCoordinateVector(), GetGlobalPosition(), GetPrimaryAxis(), m_axisIntercept, and lar_content::LArPcaHelper::RunPca().
Referenced by GetGlobalFitDirection().
StatusCode lar_content::ThreeDSlidingFitResult::GetGlobalFitDirection | ( | const float | rL, |
pandora::CartesianVector & | direction | ||
) | const |
Get global fit direction for a given longitudinal coordinate.
rL | the longitudinal coordinate |
direction | the fitted direction at these coordinates |
Definition at line 154 of file LArThreeDSlidingFitResult.cc.
References f, GetGlobalDirection(), lar_content::TwoDSlidingFitResult::GetGlobalFitDirection(), lar_content::TwoDSlidingFitResult::GetLayer(), lar_content::TwoDSlidingFitResult::GetLocalDirection(), m_firstFitResult, m_maxLayer, m_minLayer, and m_secondFitResult.
Referenced by lar_content::CosmicRayTaggingTool::CRCandidate::CalculateFitVariables(), lar_content::LArPfoHelper::SlidingFitTrajectoryImpl(), lar_content::ThreeDSlidingConeFitResult::ThreeDSlidingConeFitResult(), and ThreeDSlidingFitResult().
StatusCode lar_content::ThreeDSlidingFitResult::GetGlobalFitPosition | ( | const float | rL, |
pandora::CartesianVector & | position | ||
) | const |
Get global fit position for a given longitudinal coordinate.
rL | the longitudinal coordinate |
position | the fitted position at these coordinates |
Definition at line 121 of file LArThreeDSlidingFitResult.cc.
References f, lar_content::TwoDSlidingFitResult::GetGlobalFitPosition(), GetGlobalPosition(), lar_content::TwoDSlidingFitResult::GetLayer(), lar_content::TwoDSlidingFitResult::GetLocalPosition(), m_firstFitResult, m_maxLayer, m_minLayer, and m_secondFitResult.
Referenced by lar_content::ThreeDHitCreationAlgorithm::GetChi2WrtFit(), lar_content::ThreeDHitCreationAlgorithm::RefineHitPositions(), lar_content::LArPfoHelper::SlidingFitTrajectoryImpl(), lar_content::ThreeDSlidingConeFitResult::ThreeDSlidingConeFitResult(), and ThreeDSlidingFitResult().
|
inline |
Get global direction corresponding to the fit result in maximum fit layer.
Definition at line 285 of file LArThreeDSlidingFitResult.h.
References m_maxLayerDirection.
Referenced by lar_content::LArPointingCluster::BuildPointingCluster(), and lar_content::CosmicRayTaggingTool::GetPfoAssociations().
|
inline |
Get global position corresponding to the fit result in maximum fit layer.
Definition at line 271 of file LArThreeDSlidingFitResult.h.
References m_maxLayerPosition.
Referenced by lar_content::LArPointingCluster::BuildPointingCluster(), lar_content::CosmicRayTaggingTool::CRCandidate::CalculateFitVariables(), lar_content::SlidingConePfoMopUpAlgorithm::GetClusterMergeMap(), lar_content::SlidingConeClusterMopUpAlgorithm::GetClusterMergeMap(), lar_content::ThreeDSlidingConeFitResult::GetSimpleConeList(), lar_content::BranchAssociatedPfosTool::Run(), lar_content::LArPfoHelper::SlidingFitTrajectoryImpl(), and lar_content::ThreeDSlidingConeFitResult::ThreeDSlidingConeFitResult().
|
inline |
Get global direction corresponding to the fit result in minimum fit layer.
Definition at line 278 of file LArThreeDSlidingFitResult.h.
References m_minLayerDirection.
Referenced by lar_content::LArPointingCluster::BuildPointingCluster(), and lar_content::CosmicRayTaggingTool::GetPfoAssociations().
|
inline |
Get global position corresponding to the fit result in minimum fit layer.
Definition at line 264 of file LArThreeDSlidingFitResult.h.
References m_minLayerPosition.
Referenced by lar_content::LArPointingCluster::BuildPointingCluster(), lar_content::CosmicRayTaggingTool::CRCandidate::CalculateFitVariables(), lar_content::SlidingConePfoMopUpAlgorithm::GetClusterMergeMap(), lar_content::SlidingConeClusterMopUpAlgorithm::GetClusterMergeMap(), lar_content::ThreeDSlidingConeFitResult::GetSimpleConeList(), lar_content::BranchAssociatedPfosTool::Run(), lar_content::LArPfoHelper::SlidingFitTrajectoryImpl(), and lar_content::ThreeDSlidingConeFitResult::ThreeDSlidingConeFitResult().
|
private |
Get global coordinates for a given pair of sliding linear fit coordinates.
rL | the longitudinal coordinate |
rT1 | the first transverse coordinate |
rT2 | the second transverse coordinate |
position | to receive the position cartesian vector |
Definition at line 187 of file LArThreeDSlidingFitResult.cc.
References m_axisDirection, m_axisIntercept, m_firstOrthoDirection, and m_secondOrthoDirection.
Referenced by GetGlobalDirection(), and GetGlobalFitPosition().
float lar_content::ThreeDSlidingFitResult::GetLongitudinalDisplacement | ( | const pandora::CartesianVector & | position | ) | const |
Get longitudinal projection onto primary axis.
position | the input coordinates |
Definition at line 114 of file LArThreeDSlidingFitResult.cc.
References m_axisDirection, and m_axisIntercept.
Referenced by lar_content::ThreeDHitCreationAlgorithm::GetChi2WrtFit(), lar_content::ThreeDHitCreationAlgorithm::RefineHitPositions(), and lar_content::LArPfoHelper::SlidingFitTrajectoryImpl().
int lar_content::ThreeDSlidingFitResult::GetMaxLayer | ( | ) | const |
Get the maximum occupied layer in the sliding fit.
the | maximum occupied layer in the sliding fit |
Definition at line 74 of file LArThreeDSlidingFitResult.cc.
References lar_content::TwoDSlidingFitResult::GetMaxLayer(), m_firstFitResult, and m_secondFitResult.
Referenced by lar_content::LArPointingCluster::BuildPointingCluster(), lar_content::CosmicRayTaggingTool::CRCandidate::CalculateFitVariables(), and lar_content::NeutrinoHierarchyAlgorithm::PfoInfo::PfoInfo().
float lar_content::ThreeDSlidingFitResult::GetMaxLayerRms | ( | ) | const |
Get rms at maximum layer.
Definition at line 94 of file LArThreeDSlidingFitResult.cc.
References lar_content::TwoDSlidingFitResult::GetMaxLayerRms(), m_firstFitResult, and m_secondFitResult.
Referenced by lar_content::LArPointingCluster::BuildPointingCluster().
int lar_content::ThreeDSlidingFitResult::GetMinLayer | ( | ) | const |
Get the minimum occupied layer in the sliding fit.
the | minimum occupied layer in the sliding fit |
Definition at line 64 of file LArThreeDSlidingFitResult.cc.
References lar_content::TwoDSlidingFitResult::GetMinLayer(), m_firstFitResult, and m_secondFitResult.
Referenced by lar_content::LArPointingCluster::BuildPointingCluster(), lar_content::CosmicRayTaggingTool::CRCandidate::CalculateFitVariables(), and lar_content::NeutrinoHierarchyAlgorithm::PfoInfo::PfoInfo().
float lar_content::ThreeDSlidingFitResult::GetMinLayerRms | ( | ) | const |
Get rms at minimum layer.
Definition at line 84 of file LArThreeDSlidingFitResult.cc.
References lar_content::TwoDSlidingFitResult::GetMinLayerRms(), m_firstFitResult, and m_secondFitResult.
Referenced by lar_content::LArPointingCluster::BuildPointingCluster().
|
staticprivate |
Calculate the position and direction of the primary axis.
pCluster | the address of the input cluster |
slidingFitLayerPitch | the sliding fit z pitch, units cm |
Referenced by GetGlobalDirection().
|
staticprivate |
Calculate the position and direction of the primary axis.
pPointVector | the address of the input point vector |
slidingFitLayerPitch | the sliding fit z pitch, units cm |
|
inline |
Get the second sliding fit result for this cluster.
Definition at line 257 of file LArThreeDSlidingFitResult.h.
References m_secondFitResult.
Referenced by lar_content::ThreeDSlidingConeFitResult::ThreeDSlidingConeFitResult().
|
staticprivate |
Generate a seed vector to be used in calculating the orthogonal axes.
axisDirection | the primary axis |
Definition at line 245 of file LArThreeDSlidingFitResult.cc.
References f, and ThreeDSlidingFitResult().
|
private |
The axis direction vector.
Definition at line 216 of file LArThreeDSlidingFitResult.h.
Referenced by GetAxisDirection(), GetGlobalPosition(), and GetLongitudinalDisplacement().
|
private |
The axis intercept position.
Definition at line 215 of file LArThreeDSlidingFitResult.h.
Referenced by GetAxisIntercept(), GetGlobalDirection(), GetGlobalPosition(), and GetLongitudinalDisplacement().
|
private |
The first sliding fit result.
Definition at line 219 of file LArThreeDSlidingFitResult.h.
Referenced by GetCluster(), GetFirstFitResult(), GetFitRms(), GetGlobalFitDirection(), GetGlobalFitPosition(), GetMaxLayer(), GetMaxLayerRms(), GetMinLayer(), GetMinLayerRms(), and ThreeDSlidingFitResult().
|
private |
The orthogonal direction vector.
Definition at line 217 of file LArThreeDSlidingFitResult.h.
Referenced by GetGlobalPosition().
|
private |
The maximum combined layer.
Definition at line 222 of file LArThreeDSlidingFitResult.h.
Referenced by GetGlobalFitDirection(), GetGlobalFitPosition(), and ThreeDSlidingFitResult().
|
private |
The global direction at the maximum combined layer.
Definition at line 227 of file LArThreeDSlidingFitResult.h.
Referenced by GetGlobalMaxLayerDirection(), and ThreeDSlidingFitResult().
|
private |
The global position at the maximum combined layer.
Definition at line 225 of file LArThreeDSlidingFitResult.h.
Referenced by GetGlobalMaxLayerPosition(), and ThreeDSlidingFitResult().
|
private |
The minimum combined layer.
Definition at line 221 of file LArThreeDSlidingFitResult.h.
Referenced by GetGlobalFitDirection(), GetGlobalFitPosition(), and ThreeDSlidingFitResult().
|
private |
The global direction at the minimum combined layer.
Definition at line 226 of file LArThreeDSlidingFitResult.h.
Referenced by GetGlobalMinLayerDirection(), and ThreeDSlidingFitResult().
|
private |
The global position at the minimum combined layer.
Definition at line 224 of file LArThreeDSlidingFitResult.h.
Referenced by GetGlobalMinLayerPosition(), and ThreeDSlidingFitResult().
|
private |
The primary axis position and direction.
Definition at line 214 of file LArThreeDSlidingFitResult.h.
|
private |
The second sliding fit result.
Definition at line 220 of file LArThreeDSlidingFitResult.h.
Referenced by GetFitRms(), GetGlobalFitDirection(), GetGlobalFitPosition(), GetMaxLayer(), GetMaxLayerRms(), GetMinLayer(), GetMinLayerRms(), and GetSecondFitResult().
|
private |
The orthogonal direction vector.
Definition at line 218 of file LArThreeDSlidingFitResult.h.
Referenced by GetGlobalPosition().