![]() |
LArSoft
v10_06_00
Liquid Argon Software toolkit - https://larsoft.org/
|
DLLaterTierHierarchyTool to apply the later-tier hierarchy DL networks. More...
#include "DLLaterTierHierarchyTool.h"
Classes | |
struct | DLLaterTierNetworkParams |
struct | NormalisationLimits |
Public Member Functions | |
pandora::StatusCode | Run (const pandora::Algorithm *const pAlgorithm, const pandora::ParticleFlowObject *const pNeutrinoPfo, const HierarchyPfo &parentHierarchyPfo, const HierarchyPfo &childHierarchyPfo, std::vector< DLLaterTierNetworkParams > &networkParamVector, float &laterTierScore) |
DLLaterTierHierarchyTool () | |
Default constructor. More... | |
Protected Member Functions | |
void | SetDetectorBoundaries () |
Set the detector boundaries. More... | |
std::pair< float, float > | GetParticleInfoAboutPfoPosition (const pandora::Algorithm *const pAlgorithm, const pandora::ParticleFlowObject *const pPfo, const pandora::CartesianVector &pointOfInterest) const |
Return the number of 3D hits and the number of corresponding pfos of a given pfo about a point. More... | |
void | NormaliseNetworkParam (const float minLimit, const float maxLimit, float &networkParam) const |
Shift and normalise a network parameter with respect to an input range. More... | |
Protected Attributes | |
float | m_vertexRegionRadiusSq |
the radius (squared) in which to search for particle hits More... | |
pandora::StringVector | m_pfoListNames |
the input pfo list name vector More... | |
LArGeometryHelper::DetectorBoundaries | m_detectorBoundaries |
the detector boundaries More... | |
bool | m_areBoundariesSet |
whether the detector boundaries have been set More... | |
Private Member Functions | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
bool | IsShowerVertexUpstream (const HierarchyPfo &parentHierarchyPfo, const HierarchyPfo &childHierarchyPfo) const |
Whether the shower POI is the endpoint closest to the neutrino vertex. More... | |
pandora::StatusCode | CalculateNetworkVariables (const pandora::Algorithm *const pAlgorithm, const HierarchyPfo &parentHierarchyPfo, const HierarchyPfo &childHierarchyPfo, const pandora::ParticleFlowObject *const pNeutrinoPfo, const bool useUpstreamForParent, const bool useUpstreamForChild, DLLaterTierNetworkParams &laterTierNetworkParams) const |
Function to calculate the DLLaterTierNetworkParams. More... | |
void | SetCommonParams (const std::pair< float, float > &trackScoreParams, const std::pair< float, float > &nSpacepointsParams, const float separation3D, DLLaterTierNetworkParams &laterTierNetworkParams) const |
Set the orientation independent DLLaterTierNetworkParams (m_parentTrackScore, m_childTrackScore, m_parentNSpacepoints, m_childNSpacepoints, m_separation3D) More... | |
void | SetVertexParams (const pandora::CartesianVector &nuVertex, const pandora::CartesianVector &parentStartPos, const pandora::CartesianVector &parentEndPos, const pandora::CartesianVector &childStartPos, DLLaterTierNetworkParams &laterTierNetworkParams) const |
Set the vertex related DLLaterTierNetworkParams (m_parentNuVertexSep, m_childNuVertexSep, m_vertexSeparation) More... | |
void | SetEndRegionParams (const pandora::Algorithm *const pAlgorithm, const pandora::ParticleFlowObject *const pParentPfo, const pandora::CartesianVector &parentEndPos, DLLaterTierNetworkParams &laterTierNetworkParams) const |
Set the parent endpoint region DLLaterTierNetworkParams (m_parentEndRegionNHits, m_parentEndRegionNParticles, m_parentEndRegionRToWall) More... | |
void | SetEndRegionRToWall (const pandora::CartesianVector &parentEndPos, DLLaterTierNetworkParams &laterTierNetworkParams) const |
Set the m_parentEndRegionRToWall DLLaterTierNetworkParam. More... | |
void | SetConnectionParams (const HierarchyPfo &parentHierarchyPfo, const pandora::CartesianVector &parentStartPos, const ExtremalPoint &childStart, DLLaterTierNetworkParams &laterTierNetworkParams) const |
Set the child connection DLLaterTierNetworkParams (m_doesChildConnect, m_connectionPoint, m_connectionDirection, m_childCPDCA, m_childCPExtrapDistance, m_childCPLRatio) More... | |
std::pair< pandora::CartesianVector, bool > | ExtrapolateChildToParent (const pandora::CartesianVector &parentPosition, const ExtremalPoint &childStart) const |
Project the (parentPos - childStartPos) vector onto the child direction axis to obtain an extrapolation position. More... | |
bool | DoesConnect (const pandora::CartesianVector &boundary1, const pandora::CartesianVector &boundary2, const pandora::CartesianVector &testPoint) const |
Return whether an input position connects to a line defined by two endpoints. More... | |
void | SetOvershootParams (const ExtremalPoint &parentStart, const ExtremalPoint &parentEnd, const ExtremalPoint &childStart, DLLaterTierNetworkParams &laterTierNetworkParams) const |
Set the overshoot DLLaterTierNetworkParams (m_overshootStartDCA, m_overshootStartL, m_overshootEndDCA, m_overshootEndL) More... | |
void | SetParentConnectionPointVars (const HierarchyPfo &parentHierarchyPfo, DLLaterTierNetworkParams &laterTierNetworkParams) const |
Set the parent connection point DLLaterTierNetworkParams (m_parentCPNUpstreamHits, m_parentCPNDownstreamHits, m_parentCPNHitRatio, m_parentCPEigenvalueRatio, m_parentCPOpeningAngle) More... | |
void | NormaliseNetworkParams (DLLaterTierNetworkParams &laterTierNetworkParams) const |
Shift and normalise the later tier network parameters. More... | |
float | ClassifyTrackTrack (const DLLaterTierNetworkParams &edgeParamsUpUp, const DLLaterTierNetworkParams &edgeParamsUpDown, const DLLaterTierNetworkParams &edgeParamsDownUp, const DLLaterTierNetworkParams &edgeParamsDownDown) |
Apply the track-track parent-child classification network. More... | |
pandora::FloatVector | ClassifyTrackTrackEdge (const DLLaterTierNetworkParams &edgeParams, const DLLaterTierNetworkParams &otherEdgeParams1, const DLLaterTierNetworkParams &otherEdgeParams2, const DLLaterTierNetworkParams &otherEdgeParams3) |
Apply the track-track orientation edge network - determine whether an edge is signal (with correct orientation), signal (with the wrong orientation) or background. More... | |
float | ClassifyTrackShower (const DLLaterTierNetworkParams &edgeParamsUp, const DLLaterTierNetworkParams &edgeParamsDown) |
Apply the track-shower parent-child classification network. More... | |
pandora::FloatVector | ClassifyTrackShowerEdge (const DLLaterTierNetworkParams &edgeParams, const DLLaterTierNetworkParams &otherEdgeParams) |
Apply the track-shower orientation edge network - determine whether an edge is signal (with correct orientation), signal (with the wrong orientation) or background. More... | |
Private Attributes | |
std::string | m_trackTrackBranchModelName |
the name of the track-track edge model file More... | |
std::string | m_trackTrackClassifierModelName |
the name of the track-track classification model file More... | |
std::string | m_trackShowerBranchModelName |
the name of the track-shower edge model file More... | |
std::string | m_trackShowerClassifierModelName |
the name of the track-shower classification model file More... | |
LArDLHelper::TorchModel | m_trackTrackBranchModel |
the track-track edge model More... | |
LArDLHelper::TorchModel | m_trackTrackClassifierModel |
the track-track classification model More... | |
LArDLHelper::TorchModel | m_trackShowerBranchModel |
the track-shower edge model More... | |
LArDLHelper::TorchModel | m_trackShowerClassifierModel |
the track-shower classification model More... | |
bool | m_trainingMode |
whether to run the tool in training mode More... | |
float | m_trajectoryStepSize |
the size of the steps taken to trace the parent trajectory More... | |
float | m_connectionBuffer |
the 'is child connected?' threshold More... | |
float | m_searchRegion |
the dimensions of the box used to obtain the up/downstream 3D hit groups More... | |
bool | m_normalise |
whether to normalise the network parameters More... | |
NormalisationLimits | m_normLimits |
struct of the normalisation limits More... | |
DLLaterTierHierarchyTool to apply the later-tier hierarchy DL networks.
Definition at line 23 of file DLLaterTierHierarchyTool.h.
lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierHierarchyTool | ( | ) |
Default constructor.
Definition at line 59 of file DLLaterTierHierarchyTool.cc.
|
private |
Function to calculate the DLLaterTierNetworkParams.
pAlgorithm | a pointer to the pandora algorithm |
parentHierarchyPfo | the HierarchyPfo object of the parent pfo |
childHierarchyPfo | the HierarchyPfo object of the child pfo |
pNeutrinoPfo | a pointer to the neutrino pfo |
useUpstreamForParent | whether the parent POI is that closest to the nu vertex |
useUpstreamForChild | whether the child POI is that closest to the nu vertex |
laterTierNetworkParams | the later tier network parameters to fill |
Definition at line 175 of file DLLaterTierHierarchyTool.cc.
References lar_dl_content::HierarchyPfo::GetDownstreamPoint(), lar_dl_content::HierarchyPfo::GetPfo(), lar_dl_content::HierarchyPfo::GetUpstreamPoint(), lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_childIsPOIClosestToNu, m_normalise, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentIsPOIClosestToNu, NormaliseNetworkParams(), SetConnectionParams(), SetEndRegionParams(), SetOvershootParams(), SetParentConnectionPointVars(), and SetVertexParams().
Referenced by Run().
|
private |
Apply the track-shower parent-child classification network.
edgeParamsUp | the DLLaterTierNetworkParams for the parent upstream POI |
edgeParamsDown | the DLLaterTierNetworkParams for the parent upstream POI |
Definition at line 550 of file DLLaterTierHierarchyTool.cc.
References ClassifyTrackShowerEdge(), lar_dl_content::LArDLHelper::Forward(), lar_dl_content::LArDLHelper::InitialiseInput(), and m_trackShowerClassifierModel.
Referenced by Run().
|
private |
Apply the track-shower orientation edge network - determine whether an edge is signal (with correct orientation), signal (with the wrong orientation) or background.
edgeParams | the DLLaterTierNetworkParams of the edge to classify |
otherEdgeParams | the DLLaterTierNetworkParams of another edge |
Definition at line 580 of file DLLaterTierHierarchyTool.cc.
References lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::AddCommonParamsToInput(), lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::AddOrientationParamsToInput(), lar_dl_content::LArDLHelper::Forward(), lar_dl_content::LArDLHelper::InitialiseInput(), and m_trackShowerBranchModel.
Referenced by ClassifyTrackShower().
|
private |
Apply the track-track parent-child classification network.
edgeParamsUpUp | the DLLaterTierNetworkParams for the parent upstream POI and child upstream POI |
edgeParamsUpDown | the DLLaterTierNetworkParams for the parent upstream POI and child downstream POI |
edgeParamsDownUp | the DLLaterTierNetworkParams for the parent downstream POI and child upstream POI |
edgeParamsDownDown | the DLLaterTierNetworkParams for the parent downstream POI and child downstream POI |
Definition at line 494 of file DLLaterTierHierarchyTool.cc.
References ClassifyTrackTrackEdge(), lar_dl_content::LArDLHelper::Forward(), lar_dl_content::LArDLHelper::InitialiseInput(), and m_trackTrackClassifierModel.
Referenced by Run().
|
private |
Apply the track-track orientation edge network - determine whether an edge is signal (with correct orientation), signal (with the wrong orientation) or background.
edgeParams | the DLLaterTierNetworkParams of the edge to classify |
otherEdgeParams1 | the DLLaterTierNetworkParams of another edge |
otherEdgeParams2 | the DLLaterTierNetworkParams of another another edge |
otherEdgeParams3 | the DLLaterTierNetworkParams of another another another edge |
Definition at line 527 of file DLLaterTierHierarchyTool.cc.
References lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::AddCommonParamsToInput(), lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::AddOrientationParamsToInput(), lar_dl_content::LArDLHelper::Forward(), lar_dl_content::LArDLHelper::InitialiseInput(), and m_trackTrackBranchModel.
Referenced by ClassifyTrackTrack().
|
private |
Return whether an input position connects to a line defined by two endpoints.
boundary1 | one end position |
boundary2 | the other end position |
testPoint | the input position |
Definition at line 353 of file DLLaterTierHierarchyTool.cc.
References f, and m_connectionBuffer.
Referenced by SetConnectionParams().
|
private |
Project the (parentPos - childStartPos) vector onto the child direction axis to obtain an extrapolation position.
parentPosition | the parent position |
childStart | the assumed child pfo startpoint |
Definition at line 342 of file DLLaterTierHierarchyTool.cc.
References f, lar_dl_content::ExtremalPoint::GetDirection(), and lar_dl_content::ExtremalPoint::GetPosition().
Referenced by SetConnectionParams(), and SetOvershootParams().
|
protectedinherited |
Return the number of 3D hits and the number of corresponding pfos of a given pfo about a point.
pAlgorithm | a pointer to the pandora algorithm calling the tool |
pPfo | a pointer to the pfo |
pointOfInterest | the input position |
Definition at line 47 of file DLBaseHierarchyTool.cc.
References lar_dl_content::DLBaseHierarchyTool::m_pfoListNames, and lar_dl_content::DLBaseHierarchyTool::m_vertexRegionRadiusSq.
Referenced by SetEndRegionParams(), and lar_dl_content::DLPrimaryHierarchyTool::SetVertexRegionParams().
|
private |
Whether the shower POI is the endpoint closest to the neutrino vertex.
parentHierarchyPfo | the HierarchyPfo object of the parent pfo |
childHierarchyPfo | the HierarchyPfo object of the child pfo |
Definition at line 128 of file DLLaterTierHierarchyTool.cc.
References lar_dl_content::HierarchyPfo::GetDownstreamPoint(), lar_dl_content::HierarchyPfo::GetPfo(), lar_dl_content::ExtremalPoint::GetPosition(), lar_dl_content::HierarchyPfo::GetUpstreamPoint(), and lar_dl_content::ExtremalPoint::IsSet().
Referenced by Run().
|
protectedinherited |
Shift and normalise a network parameter with respect to an input range.
minLimit | the minimum allowed value of the variable |
maxLimit | the maximum allowed value of the variable |
networkParam | the input network parameter value |
Definition at line 90 of file DLBaseHierarchyTool.cc.
Referenced by lar_dl_content::DLPrimaryHierarchyTool::NormaliseNetworkParams(), and NormaliseNetworkParams().
|
private |
Shift and normalise the later tier network parameters.
laterTierNetworkParam | the input later tier network parameters |
Definition at line 460 of file DLLaterTierHierarchyTool.cc.
References lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_childCPDCA, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_childCPDCAMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_childCPDCAMin, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_childCPExtrapDistance, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_childCPExtrapDistanceMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_childCPExtrapDistanceMin, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_childCPLRatio, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_childCPLRatioMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_childCPLRatioMin, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_childNSpacepoints, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_childNuVertexSep, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_childTrackScore, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_doesChildConnect, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_doesChildConnectMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_doesChildConnectMin, m_normLimits, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_nSpacepointsMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_nSpacepointsMin, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_nuVertexSepMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_nuVertexSepMin, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_overshootDCAMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_overshootDCAMin, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_overshootEndDCA, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_overshootEndL, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_overshootLMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_overshootLMin, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_overshootStartDCA, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_overshootStartL, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentCPEigenvalueRatio, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentCPEigenvalueRatioMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentCPEigenvalueRatioMin, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentCPNDownstreamHits, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentCPNHitRatio, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentCPNHitRatioMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentCPNHitRatioMin, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentCPNHitsMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentCPNHitsMin, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentCPNUpstreamHits, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentCPOpeningAngle, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentCPOpeningAngleMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentCPOpeningAngleMin, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentEndRegionNHits, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentEndRegionNHitsMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentEndRegionNHitsMin, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentEndRegionNParticles, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentEndRegionNParticlesMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentEndRegionNParticlesMin, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentEndRegionRToWall, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentEndRegionRToWallMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentEndRegionRToWallMin, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentNSpacepoints, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentNuVertexSep, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentTrackScore, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_separation3D, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_separation3DMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_separation3DMin, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_trackScoreMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_trackScoreMin, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_vertexSeparation, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_vertexSepMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_vertexSepMin, and lar_dl_content::DLBaseHierarchyTool::NormaliseNetworkParam().
Referenced by CalculateNetworkVariables().
|
private |
Definition at line 600 of file DLLaterTierHierarchyTool.cc.
References lar_dl_content::LArDLHelper::LoadModel(), lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_childCPDCAMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_childCPDCAMin, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_childCPExtrapDistanceMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_childCPExtrapDistanceMin, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_childCPLRatioMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_childCPLRatioMin, m_connectionBuffer, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_doesChildConnectMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_doesChildConnectMin, m_normalise, m_normLimits, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_nSpacepointsMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_nSpacepointsMin, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_nuVertexSepMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_nuVertexSepMin, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_overshootDCAMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_overshootDCAMin, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_overshootLMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_overshootLMin, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentCPEigenvalueRatioMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentCPEigenvalueRatioMin, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentCPNHitRatioMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentCPNHitRatioMin, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentCPNHitsMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentCPNHitsMin, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentCPOpeningAngleMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentCPOpeningAngleMin, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentEndRegionNHitsMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentEndRegionNHitsMin, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentEndRegionNParticlesMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentEndRegionNParticlesMin, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentEndRegionRToWallMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_parentEndRegionRToWallMin, m_searchRegion, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_separation3DMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_separation3DMin, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_trackScoreMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_trackScoreMin, m_trackShowerBranchModel, m_trackShowerBranchModelName, m_trackShowerClassifierModel, m_trackShowerClassifierModelName, m_trackTrackBranchModel, m_trackTrackBranchModelName, m_trackTrackClassifierModel, m_trackTrackClassifierModelName, m_trainingMode, m_trajectoryStepSize, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_vertexSepMax, lar_dl_content::DLLaterTierHierarchyTool::NormalisationLimits::m_vertexSepMin, and lar_dl_content::DLBaseHierarchyTool::ReadSettings().
StatusCode lar_dl_content::DLLaterTierHierarchyTool::Run | ( | const pandora::Algorithm *const | pAlgorithm, |
const pandora::ParticleFlowObject *const | pNeutrinoPfo, | ||
const HierarchyPfo & | parentHierarchyPfo, | ||
const HierarchyPfo & | childHierarchyPfo, | ||
std::vector< DLLaterTierNetworkParams > & | networkParamVector, | ||
float & | laterTierScore | ||
) |
Definition at line 71 of file DLLaterTierHierarchyTool.cc.
References CalculateNetworkVariables(), ClassifyTrackShower(), ClassifyTrackTrack(), lar_dl_content::HierarchyPfo::GetPfo(), IsShowerVertexUpstream(), m_trainingMode, SetCommonParams(), and lar_dl_content::DLBaseHierarchyTool::SetDetectorBoundaries().
Referenced by lar_dl_content::DLNeutrinoHierarchyAlgorithm::BuildPandoraHierarchy(), and lar_dl_content::DLNeutrinoHierarchyAlgorithm::GetLaterTierScore().
|
private |
Set the orientation independent DLLaterTierNetworkParams (m_parentTrackScore, m_childTrackScore, m_parentNSpacepoints, m_childNSpacepoints, m_separation3D)
trackScoreParams | the track score (parent, child) pair |
nSpacepointsParams | the number of 3D hit (parent, child) pair |
separation3D | the smallest 3D distance between the parent and child 3D hits |
laterTierNetworkParams | the later tier network parameters to fill |
Definition at line 163 of file DLLaterTierHierarchyTool.cc.
References lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_childNSpacepoints, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_childTrackScore, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentNSpacepoints, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentTrackScore, and lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_separation3D.
Referenced by Run().
|
private |
Set the child connection DLLaterTierNetworkParams (m_doesChildConnect, m_connectionPoint, m_connectionDirection, m_childCPDCA, m_childCPExtrapDistance, m_childCPLRatio)
parentHierarchyPfo | the HierarchyPfo object of the parent pfo |
parentStartPos | the assumed parent pfo start position |
childStart | the assumed child startpoint |
laterTierNetworkParams | the later tier network parameters to fill |
Definition at line 269 of file DLLaterTierHierarchyTool.cc.
References DoesConnect(), ExtrapolateChildToParent(), f, lar_dl_content::ExtremalPoint::GetPosition(), lar_dl_content::HierarchyPfo::GetSlidingFitResult(), lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_childCPDCA, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_childCPExtrapDistance, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_childCPLRatio, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_connectionDirection, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_connectionPoint, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_doesChildConnect, and m_trajectoryStepSize.
Referenced by CalculateNetworkVariables().
|
protectedinherited |
Set the detector boundaries.
Definition at line 36 of file DLBaseHierarchyTool.cc.
References lar_dl_content::DLBaseHierarchyTool::m_areBoundariesSet, and lar_dl_content::DLBaseHierarchyTool::m_detectorBoundaries.
Referenced by Run(), and lar_dl_content::DLPrimaryHierarchyTool::Run().
|
private |
Set the parent endpoint region DLLaterTierNetworkParams (m_parentEndRegionNHits, m_parentEndRegionNParticles, m_parentEndRegionRToWall)
pAlgorithm | a pointer to the pandora algorithm |
pParentPfo | a pointer to the parent pfo |
parentEndPos | the assumed parent pfo end position |
laterTierNetworkParams | the later tier network parameters to fill |
Definition at line 236 of file DLLaterTierHierarchyTool.cc.
References lar_dl_content::DLBaseHierarchyTool::GetParticleInfoAboutPfoPosition(), lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentEndRegionNHits, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentEndRegionNParticles, and SetEndRegionRToWall().
Referenced by CalculateNetworkVariables().
|
private |
Set the m_parentEndRegionRToWall DLLaterTierNetworkParam.
parentEndPos | the assumed parent pfo end position |
laterTierNetworkParams | the later tier network parameters to fill |
Definition at line 249 of file DLLaterTierHierarchyTool.cc.
References lar_dl_content::DLBaseHierarchyTool::m_detectorBoundaries, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentEndRegionRToWall, lar_content::LArGeometryHelper::DetectorBoundaries::m_xBoundaries, lar_content::LArGeometryHelper::DetectorBoundaries::m_yBoundaries, and lar_content::LArGeometryHelper::DetectorBoundaries::m_zBoundaries.
Referenced by SetEndRegionParams().
|
private |
Set the overshoot DLLaterTierNetworkParams (m_overshootStartDCA, m_overshootStartL, m_overshootEndDCA, m_overshootEndL)
parentStart | the assumed parent pfo startpoint |
parentEnd | the assumed parent pfo endpoint |
childStart | the assumed child pfo startpoint |
laterTierNetworkParams | the later tier network parameters to fill |
Definition at line 373 of file DLLaterTierHierarchyTool.cc.
References ExtrapolateChildToParent(), lar_dl_content::ExtremalPoint::GetDirection(), lar_dl_content::ExtremalPoint::GetPosition(), lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_doesChildConnect, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_overshootEndDCA, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_overshootEndL, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_overshootStartDCA, and lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_overshootStartL.
Referenced by CalculateNetworkVariables().
|
private |
Set the parent connection point DLLaterTierNetworkParams (m_parentCPNUpstreamHits, m_parentCPNDownstreamHits, m_parentCPNHitRatio, m_parentCPEigenvalueRatio, m_parentCPOpeningAngle)
parentHierarchyPfo | the HierarchyPfo object of the parent pfo |
laterTierNetworkParams | the later tier network parameters to fill |
Definition at line 395 of file DLLaterTierHierarchyTool.cc.
References f, lar_dl_content::HierarchyPfo::GetPfo(), lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_connectionDirection, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_connectionPoint, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_doesChildConnect, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentCPEigenvalueRatio, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentCPNDownstreamHits, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentCPNHitRatio, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentCPNUpstreamHits, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentCPOpeningAngle, and m_searchRegion.
Referenced by CalculateNetworkVariables().
|
private |
Set the vertex related DLLaterTierNetworkParams (m_parentNuVertexSep, m_childNuVertexSep, m_vertexSeparation)
nuVertex | the neutrino vertex position |
parentStartPos | the assumed parent pfo start position |
parentEndPos | the assumed parent pfo end position |
childStartPos | the assumed child pfo start position |
laterTierNetworkParams | the later tier network parameters to fill |
Definition at line 226 of file DLLaterTierHierarchyTool.cc.
References lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_childNuVertexSep, lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_parentNuVertexSep, and lar_dl_content::DLLaterTierHierarchyTool::DLLaterTierNetworkParams::m_vertexSeparation.
Referenced by CalculateNetworkVariables().
|
protectedinherited |
whether the detector boundaries have been set
Definition at line 68 of file DLBaseHierarchyTool.h.
Referenced by lar_dl_content::DLBaseHierarchyTool::DLBaseHierarchyTool(), and lar_dl_content::DLBaseHierarchyTool::SetDetectorBoundaries().
|
private |
the 'is child connected?' threshold
Definition at line 326 of file DLLaterTierHierarchyTool.h.
Referenced by DoesConnect(), and ReadSettings().
|
protectedinherited |
the detector boundaries
Definition at line 67 of file DLBaseHierarchyTool.h.
Referenced by lar_dl_content::DLPrimaryHierarchyTool::CalculateConnectionDistances(), lar_dl_content::DLBaseHierarchyTool::SetDetectorBoundaries(), and SetEndRegionRToWall().
|
private |
whether to normalise the network parameters
Definition at line 329 of file DLLaterTierHierarchyTool.h.
Referenced by CalculateNetworkVariables(), and ReadSettings().
|
private |
struct of the normalisation limits
Definition at line 330 of file DLLaterTierHierarchyTool.h.
Referenced by NormaliseNetworkParams(), and ReadSettings().
|
protectedinherited |
the input pfo list name vector
Definition at line 66 of file DLBaseHierarchyTool.h.
Referenced by lar_dl_content::DLBaseHierarchyTool::GetParticleInfoAboutPfoPosition(), lar_dl_content::DLBaseHierarchyTool::ReadSettings(), and lar_dl_content::DLPrimaryHierarchyTool::ReadSettings().
|
private |
the dimensions of the box used to obtain the up/downstream 3D hit groups
Definition at line 327 of file DLLaterTierHierarchyTool.h.
Referenced by ReadSettings(), and SetParentConnectionPointVars().
|
private |
the track-shower edge model
Definition at line 321 of file DLLaterTierHierarchyTool.h.
Referenced by ClassifyTrackShowerEdge(), and ReadSettings().
|
private |
the name of the track-shower edge model file
Definition at line 317 of file DLLaterTierHierarchyTool.h.
Referenced by ReadSettings().
|
private |
the track-shower classification model
Definition at line 322 of file DLLaterTierHierarchyTool.h.
Referenced by ClassifyTrackShower(), and ReadSettings().
|
private |
the name of the track-shower classification model file
Definition at line 318 of file DLLaterTierHierarchyTool.h.
Referenced by ReadSettings().
|
private |
the track-track edge model
Definition at line 319 of file DLLaterTierHierarchyTool.h.
Referenced by ClassifyTrackTrackEdge(), and ReadSettings().
|
private |
the name of the track-track edge model file
Definition at line 315 of file DLLaterTierHierarchyTool.h.
Referenced by ReadSettings().
|
private |
the track-track classification model
Definition at line 320 of file DLLaterTierHierarchyTool.h.
Referenced by ClassifyTrackTrack(), and ReadSettings().
|
private |
the name of the track-track classification model file
Definition at line 316 of file DLLaterTierHierarchyTool.h.
Referenced by ReadSettings().
|
private |
whether to run the tool in training mode
Definition at line 324 of file DLLaterTierHierarchyTool.h.
Referenced by ReadSettings(), and Run().
|
private |
the size of the steps taken to trace the parent trajectory
Definition at line 325 of file DLLaterTierHierarchyTool.h.
Referenced by ReadSettings(), and SetConnectionParams().
|
protectedinherited |
the radius (squared) in which to search for particle hits
Definition at line 65 of file DLBaseHierarchyTool.h.
Referenced by lar_dl_content::DLBaseHierarchyTool::GetParticleInfoAboutPfoPosition(), and lar_dl_content::DLBaseHierarchyTool::ReadSettings().