LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
ThreeViewDeltaRayMatchingAlgorithm class. More...
#include "ThreeViewDeltaRayMatchingAlgorithm.h"
Public Types | |
typedef NViewDeltaRayMatchingAlgorithm< ThreeViewMatchingControl< DeltaRayOverlapResult > > | BaseAlgorithm |
typedef ThreeViewDeltaRayMatchingAlgorithm::MatchingType::TensorType | TensorType |
typedef std::map< const pandora::CaloHit *, const pandora::Cluster * > | HitToClusterMap |
typedef std::map< const pandora::Cluster *, const pandora::ParticleFlowObject * > | ClusterToPfoMap |
typedef std::map< const pandora::Cluster *, pandora::ClusterList > | ClusterProximityMap |
typedef KDTreeLinkerAlgo< const pandora::CaloHit *, 2 > | HitKDTree2D |
typedef KDTreeNodeInfoT< const pandora::CaloHit *, 2 > | HitKDNode2D |
typedef std::vector< HitKDNode2D > | HitKDNode2DList |
typedef std::vector< pandora::HitType > | HitTypeVector |
typedef ThreeViewMatchingControl< DeltaRayOverlapResult > | MatchingType |
Public Member Functions | |
ThreeViewDeltaRayMatchingAlgorithm () | |
Default constructor. More... | |
std::string | GetClusteringAlgName () const |
Get the name of the clustering algorithm to be used to recluster created delta ray remnants. More... | |
pandora::StatusCode | GetMuonCluster (const pandora::PfoList &commonMuonPfoList, const pandora::HitType hitType, const pandora::Cluster *&pMuonCluster) const |
Return the cluster of the common cosmic ray pfo in a given view (function demands there to be only one common CR pfo) More... | |
pandora::StatusCode | PerformThreeViewMatching (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2, const pandora::Cluster *const pCluster3, float &reducedChiSquared) const |
To determine how well three clusters (one in each view) map onto one another expressing this in terms of a chi-squared like parameter. More... | |
pandora::StatusCode | PerformThreeViewMatching (const pandora::Cluster *const pClusterU, const pandora::Cluster *const pClusterV, const pandora::Cluster *const pClusterW, float &chiSquaredSum, unsigned int &nSamplingPoints, unsigned int &nMatchedSamplingPoints, XOverlap &XOverlap) const |
To determine how well three clusters (one in each view) map onto one another expressing this in terms of a chi-squared like parameter. More... | |
pandora::StatusCode | PerformThreeViewMatching (const pandora::CaloHitList &pCluster1, const pandora::CaloHitList &pCluster2, const pandora::CaloHitList &pCluster3, float &reducedChiSquared) const |
To determine how well three CaloHitLists (one in each view) map onto one another expressing this in terms of a chi-squared like parameter. More... | |
pandora::StatusCode | PerformThreeViewMatching (const pandora::CaloHitList &clusterU, const pandora::CaloHitList &clusterV, const pandora::CaloHitList &clusterW, float &chiSquaredSum, unsigned int &nSamplingPoints, unsigned int &nMatchedSamplingPoints, XOverlap &XOverlap) const |
To determine how well three CaloHitLists (one for each view) map onto one another expressing this in terms of a chi-squared like parameter. More... | |
pandora::StatusCode | ProjectMuonPositions (const pandora::HitType &thirdViewHitType, const pandora::ParticleFlowObject *const pParentMuon, pandora::CartesianPointVector &projectedPositions) const |
Use two views of a cosmic ray pfo to calculate projected positions in a given the third view. More... | |
pandora::StatusCode | GetProjectedPositions (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2, pandora::CartesianPointVector &projectedPositions) const |
Use two clusters from different views to calculate projected positions in the remaining third view. More... | |
pandora::StatusCode | CollectHitsFromMuon (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2, const pandora::Cluster *const pThirdViewCluster, const pandora::ParticleFlowObject *const pParentMuon, const float minDistanceFromMuon, const float maxDistanceToCollected, pandora::CaloHitList &collectedHits) const |
In one view, pull out any hits from a cosmic ray cluster that belong to the child delta ray cluster. More... | |
void | CollectHitsFromMuon (const pandora::CartesianVector &positionOnMuon, const pandora::CartesianVector &muonDirection, const pandora::Cluster *const pMuonCluster, const pandora::CartesianPointVector &deltaRayProjectedPositions, const float &minDistanceFromMuon, const float maxDistanceToCollected, pandora::CaloHitList &collectedHits) const |
In one view, pull out any hits from a cosmic ray cluster that belong to the child delta ray cluster. More... | |
pandora::StatusCode | ParameteriseMuon (const pandora::ParticleFlowObject *const pParentMuon, const pandora::Cluster *const pDeltaRayCluster, pandora::CartesianVector &positionOnMuon, pandora::CartesianVector &muonDirection) const |
Parameterise the projection of a cosmic ray track in order to avoid poor/sparse projections. More... | |
pandora::StatusCode | ParameteriseMuon (const pandora::ParticleFlowObject *const pParentMuon, const pandora::CartesianPointVector &deltaRayProjectedPositions, const pandora::HitType hitType, pandora::CartesianVector &positionOnMuon, pandora::CartesianVector &muonDirection) const |
Parameterise the projection of a cosmic ray track in order to avoid poor/sparse projections. More... | |
void | SplitMuonCluster (const std::string &clusterListName, const pandora::Cluster *const pMuonCluster, const pandora::CaloHitList &collectedHits, const pandora::Cluster *&pDeltaRayCluster) const |
Move a list of hits from a cosmic ray cluster into the given child delta ray cluster. More... | |
bool | CreatePfos (ProtoParticleVector &protoParticleVector) |
Create delta ray pfos maxmising completeness by searching for and merging in any stray clusters. More... | |
void | UpdateForNewClusters (const pandora::ClusterVector &newClusterVector, const pandora::PfoVector &pfoVector) |
Add a new cluster to algorithm ownership maps and, if it a delta ray cluster, to the underlying matches container (tensor/matrix) More... | |
void | UpdateUponDeletion (const pandora::Cluster *const pDeletedCluster) |
Update to reflect cluster deletion. More... | |
void | SelectInputClusters (const pandora::ClusterList *const pInputClusterList, pandora::ClusterList &selectedClusterList) const |
Select a subset of input clusters for processing in this algorithm. More... | |
void | PrepareInputClusters (pandora::ClusterList &preparedClusterList) |
Perform any preparatory steps required on the input clusters, e.g. caching expensive fit results. More... | |
void | UpdateForNewCluster (const pandora::Cluster *const pNewCluster) |
Update to reflect addition of a new cluster to the problem space. More... | |
const std::string & | GetClusterListName (const pandora::HitType hitType) const |
Get the cluster list name corresponding to a specified hit type. More... | |
const pandora::ClusterList & | GetInputClusterList (const pandora::HitType hitType) const |
Get the input cluster list corresponding to a specified hit type. More... | |
const pandora::ClusterList & | GetSelectedClusterList (const pandora::HitType hitType) const |
Get the selected cluster list corresponding to a specified hit type. More... | |
virtual bool | MakeClusterMerges (const ClusterMergeMap &clusterMergeMap) |
Merge clusters together. More... | |
virtual bool | CreateThreeDParticles (const ProtoParticleVector &protoParticleVector) |
Create particles using findings from recent algorithm processing. More... | |
virtual void | SetPfoParameters (const ProtoParticle &protoParticle, PandoraContentApi::ParticleFlowObject::Parameters &pfoParameters) const |
Set Pfo properties. More... | |
virtual void | SetPfoParticleId (PandoraContentApi::ParticleFlowObject::Parameters &pfoParameters) const |
Set pfo particle id. More... | |
Protected Member Functions | |
void | FillStrayClusterList (const pandora::HitType hitType) |
Fill the stray cluster list with clusters that do not pass the tensor threshold requirement. More... | |
void | GetNearbyMuonPfos (const pandora::Cluster *const pCluster, pandora::ClusterList &consideredClusters, pandora::PfoList &nearbyMuonPfos) const |
Use the cluster proximity map to travel along paths of nearby clusters finding the cosmic ray clusters on which they terminate. More... | |
void | GetClusterSpanX (const pandora::CaloHitList &caloHitList, float &xMin, float &xMax) const |
Calculate the xSpan of a list of CaloHits. More... | |
pandora::StatusCode | GetClusterSpanZ (const pandora::CaloHitList &caloHitList, const float xMin, const float xMax, float &zMin, float &zMax) const |
Calculate the zSpan of a list of CaloHits in a specified x range. More... | |
void | CollectStrayClusters (const pandora::Cluster *const pClusterToEnlarge, const float rangeMinX, const float rangeMaxX, pandora::ClusterList &collectedClusters) |
Collect the stray clusters that are close to a specified cluster and that lie within a given x range. More... | |
void | AddInStrayClusters (const pandora::Cluster *const pClusterToEnlarge, const pandora::ClusterList &collectedClusters) |
Merge in the collected stray clusters of a given delta ray cluster. More... | |
void | TidyUp () |
Tidy member variables in derived class. More... | |
MatchingType & | GetMatchingControl () |
Get the matching control. More... | |
virtual void | SelectAllInputClusters () |
Select a subset of input clusters for processing in this algorithm. More... | |
virtual void | PrepareAllInputClusters () |
Perform any preparatory steps required, e.g. caching expensive fit results for clusters. More... | |
virtual void | PerformMainLoop () |
Main loop over cluster combinations in order to populate the overlap container. Responsible for calling CalculateOverlapResult. More... | |
Protected Attributes | |
std::string | m_muonPfoListName |
The list of reconstructed cosmic ray pfos. More... | |
pandora::ClusterList | m_strayClusterListU |
The list of U clusters that do not pass the tensor threshold requirement. More... | |
pandora::ClusterList | m_strayClusterListV |
The list of V clusters that do not pass the tensor threshold requirement. More... | |
pandora::ClusterList | m_strayClusterListW |
The list of W clusters that do not pass the tensor threshold requirement. More... | |
DeltaRayMatchingContainers | m_deltaRayMatchingContainers |
The class of hit, cluster and pfo ownership and proximity maps. More... | |
float | m_pseudoChi2Cut |
Pseudo chi2 cut for three view matching. More... | |
float | m_xOverlapWindow |
The maximum allowed displacement in x position. More... | |
float | m_minMatchedFraction |
The threshold matched fraction of sampling points for a good match. More... | |
unsigned int | m_minMatchedPoints |
The threshold number of matched sampling points for a good match. More... | |
unsigned int | m_minProjectedPositions |
The threshold number of projected points for a good projection. More... | |
float | m_maxCosmicRayHitFraction |
The maximum allowed fraction of hits to be removed from the cosmic ray track. More... | |
float | m_maxDistanceToCluster |
the maximum distance of a projected point to the cosmic ray cluster used when parameterising the cosmic ray cluster More... | |
float | m_maxDistanceToReferencePoint |
the maximum distance of a projected point to the cosmic ray vertex used when parameterising the cosmic ray cluster More... | |
float | m_strayClusterSeparation |
The maximum allowed separation of a stray cluster and a delta ray cluster for merge. More... | |
MatchingType | m_matchingControl |
The matching control. More... | |
Private Types | |
typedef std::vector< DeltaRayTensorTool * > | TensorToolVector |
Private Member Functions | |
void | CalculateOverlapResult (const pandora::Cluster *const pClusterU, const pandora::Cluster *const pClusterV, const pandora::Cluster *const pClusterW) |
Calculate cluster overlap result and store in container. More... | |
void | ExamineOverlapContainer () |
Examine contents of overlap container, collect together best-matching 2D particles and modify clusters as required. More... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
virtual bool | DoesClusterPassTensorThreshold (const pandora::Cluster *const pCluster) const |
To check whether a given cluster meets the requirements to be added into the matching container (tensor/matrix) More... | |
pandora::StatusCode | CalculateOverlapResult (const pandora::Cluster *const pClusterU, const pandora::Cluster *const pClusterV, const pandora::Cluster *const pClusterW, DeltaRayOverlapResult &overlapResult) const |
Calculate the overlap result for given group of clusters. More... | |
void | FindCommonMuonParents (const pandora::Cluster *const pClusterU, const pandora::Cluster *const pClusterV, const pandora::Cluster *const pClusterW, pandora::PfoList &commonMuonPfoList) const |
Find the cosmic ray pfos that, in each view, lie close to the clusters of the tensor element. More... | |
Private Attributes | |
TensorToolVector | m_algorithmToolVector |
The algorithm tool vector. More... | |
std::string | m_reclusteringAlgorithmName |
The name of the clustering algorithm to be used to recluster created delta ray remnants. More... | |
unsigned int | m_minClusterCaloHits |
The threshold number of hits for a cluster to be considered. More... | |
unsigned int | m_nMaxTensorToolRepeats |
The maximum number of repeat loops over tensor tools. More... | |
ThreeViewDeltaRayMatchingAlgorithm class.
Definition at line 29 of file ThreeViewDeltaRayMatchingAlgorithm.h.
typedef NViewDeltaRayMatchingAlgorithm<ThreeViewMatchingControl<DeltaRayOverlapResult> > lar_content::ThreeViewDeltaRayMatchingAlgorithm::BaseAlgorithm |
Definition at line 32 of file ThreeViewDeltaRayMatchingAlgorithm.h.
|
inherited |
Definition at line 28 of file NViewDeltaRayMatchingAlgorithm.h.
|
inherited |
Definition at line 27 of file NViewDeltaRayMatchingAlgorithm.h.
|
inherited |
Definition at line 31 of file NViewDeltaRayMatchingAlgorithm.h.
|
inherited |
Definition at line 32 of file NViewDeltaRayMatchingAlgorithm.h.
|
inherited |
Definition at line 30 of file NViewDeltaRayMatchingAlgorithm.h.
|
inherited |
Definition at line 26 of file NViewDeltaRayMatchingAlgorithm.h.
|
inherited |
Definition at line 34 of file NViewDeltaRayMatchingAlgorithm.h.
|
inherited |
Definition at line 23 of file NViewMatchingAlgorithm.h.
|
private |
Definition at line 48 of file ThreeViewDeltaRayMatchingAlgorithm.h.
typedef ThreeViewDeltaRayMatchingAlgorithm::MatchingType::TensorType lar_content::ThreeViewDeltaRayMatchingAlgorithm::TensorType |
Definition at line 33 of file ThreeViewDeltaRayMatchingAlgorithm.h.
lar_content::ThreeViewDeltaRayMatchingAlgorithm::ThreeViewDeltaRayMatchingAlgorithm | ( | ) |
Default constructor.
Definition at line 18 of file ThreeViewDeltaRayMatchingAlgorithm.cc.
|
protectedinherited |
Merge in the collected stray clusters of a given delta ray cluster.
pClusterToEnlarge | the delta ray cluster to enlarge |
collectedClusters | the list of collected stray clusters |
|
privatevirtual |
Calculate cluster overlap result and store in container.
pCluster1 | address of cluster1 |
pCluster2 | address of cluster2 |
pCluster3 | address of cluster3 |
Implements lar_content::MatchingBaseAlgorithm.
Referenced by DoesClusterPassTensorThreshold().
|
private |
Calculate the overlap result for given group of clusters.
pClusterU | the cluster from the U view |
pClusterV | the cluster from the V view |
pClusterW | the cluster from the W view |
overlapResult | to receive the overlap result |
|
inherited |
In one view, pull out any hits from a cosmic ray cluster that belong to the child delta ray cluster.
pCluster1 | the address of a delta ray cluster in a view that is to go unmodified |
pCluster2 | the address of a delta ray cluster in the other view that is to unmodified |
pThirdViewCluster | the address of the delta ray cluster in the view in which the hit removal process will run |
pParentMuon | the address of the parent cosmic ray pfo |
minDistanceFromMuon | the minimum distance of a hit from the cosmic ray track required for removal |
maxDistanceToCollected | the maximim distance of a hit from the projected delta ray hits required for removal |
collectedHits | the list of hits to be removed from the cosmic ray |
|
inherited |
In one view, pull out any hits from a cosmic ray cluster that belong to the child delta ray cluster.
positionOnMuon | the parameterised cosmic ray position |
muonDirection | the parameterised cosmic ray direction |
pMuon | the address of the parent cosmic ray pfo |
deltaRayProjectedPositions | the projected positions of the delta ray |
minDistanceFromMuon | the minimum distance of a hit from the cosmic ray track required for removal |
maxDistanceToCollected | the maximim distance of a hit from the projected delta ray hits required for removal |
collectedHits | the list of hits to be removed from the cosmic ray |
|
protectedinherited |
Collect the stray clusters that are close to a specified cluster and that lie within a given x range.
pClusterToEnlarge | the specified cluster |
rangeMinX | the minimum x coordinate of the region of interest |
rangeMaxX | the maximum x coordinate of the region of interest |
collectedClusters | the list of collected stray clusters |
|
inherited |
Create delta ray pfos maxmising completeness by searching for and merging in any stray clusters.
protoParticleVector | the proto particle vector |
|
virtualinherited |
Create particles using findings from recent algorithm processing.
protoParticleVector | the proto particle vector |
whether | particles were created |
Definition at line 88 of file MatchingBaseAlgorithm.cc.
Referenced by lar_content::NViewDeltaRayMatchingAlgorithm< T >::CreatePfos(), lar_content::ClearRemnantsTool::CreateThreeDParticles(), lar_content::ClearTracksTool::CreateThreeDParticles(), lar_content::TwoViewClearTracksTool::CreateThreeDParticles(), lar_content::ClearLongitudinalTracksTool::CreateThreeDParticles(), lar_content::ClearTrackFragmentsTool::FindTrackFragments(), lar_content::SimpleShowersTool::Run(), lar_content::TwoViewSimpleTracksTool::Run(), lar_content::ConnectedRemnantsTool::Run(), lar_content::MopUpRemnantsTool::Run(), lar_content::MissingTrackTool::Run(), lar_content::MatchedEndPointsTool::Run(), lar_content::TracksCrossingGapsTool::Run(), lar_content::MissingTrackSegmentTool::Run(), lar_content::LongTracksTool::Run(), lar_content::TwoViewLongTracksTool::Run(), and lar_content::ClearShowersTool::Run().
|
privatevirtual |
To check whether a given cluster meets the requirements to be added into the matching container (tensor/matrix)
pCluster | the address of the input cluster |
Implements lar_content::NViewDeltaRayMatchingAlgorithm< ThreeViewMatchingControl< DeltaRayOverlapResult > >.
Definition at line 26 of file ThreeViewDeltaRayMatchingAlgorithm.cc.
References CalculateOverlapResult(), f, FindCommonMuonParents(), lar_content::NViewMatchingAlgorithm< ThreeViewMatchingControl< DeltaRayOverlapResult > >::GetMatchingControl(), lar_content::ThreeViewMatchingControl< T >::GetOverlapTensor(), lar_content::TrackOverlapResult::IsInitialized(), m_minClusterCaloHits, lar_content::NViewDeltaRayMatchingAlgorithm< ThreeViewMatchingControl< DeltaRayOverlapResult > >::PerformThreeViewMatching(), and lar_content::OverlapTensor< T >::SetOverlapResult().
|
privatevirtual |
Examine contents of overlap container, collect together best-matching 2D particles and modify clusters as required.
Implements lar_content::MatchingBaseAlgorithm.
Definition at line 110 of file ThreeViewDeltaRayMatchingAlgorithm.cc.
References m_algorithmToolVector, m_nMaxTensorToolRepeats, and lar_content::DeltaRayTensorTool::Run().
|
protectedinherited |
Fill the stray cluster list with clusters that do not pass the tensor threshold requirement.
hitType | the hit type of the list to fill |
|
private |
Find the cosmic ray pfos that, in each view, lie close to the clusters of the tensor element.
pClusterU | the cluster from the U view |
pClusterV | the cluster from the V view |
pClusterW | the cluster from the W view |
commonMuonPfoList | the output list of common cosmic ray pfos |
Definition at line 71 of file ThreeViewDeltaRayMatchingAlgorithm.cc.
Referenced by DoesClusterPassTensorThreshold().
|
inline |
Get the name of the clustering algorithm to be used to recluster created delta ray remnants.
Definition at line 119 of file ThreeViewDeltaRayMatchingAlgorithm.h.
References m_reclusteringAlgorithmName.
Referenced by lar_content::CosmicRayRemovalTool::ReclusterRemnant().
|
virtualinherited |
Get the cluster list name corresponding to a specified hit type.
hitType | the hit type |
Implements lar_content::MatchingBaseAlgorithm.
|
protectedinherited |
Calculate the xSpan of a list of CaloHits.
caloHitList | the input list of CaloHits |
xMin | the output minimum x coordinate |
xMax | the output maximum x coordinate |
|
protectedinherited |
Calculate the zSpan of a list of CaloHits in a specified x range.
caloHitList | the input list of CaloHits |
xMin | the minimum x coordinate of the region of interest |
xMax | the maximum x coordinate of the region of interest |
zMin | the output minimum z coordinate |
zMax | the output maximum z coordinate |
|
virtualinherited |
Get the input cluster list corresponding to a specified hit type.
hitType | the hit type |
Implements lar_content::MatchingBaseAlgorithm.
|
protectedinherited |
Get the matching control.
Referenced by DoesClusterPassTensorThreshold().
|
inherited |
Return the cluster of the common cosmic ray pfo in a given view (function demands there to be only one common CR pfo)
commonMuonPfoList | the element's list of common muon pfos |
hitType | the specified view |
pMuonCluster | the output address of the cluster |
|
protectedinherited |
Use the cluster proximity map to travel along paths of nearby clusters finding the cosmic ray clusters on which they terminate.
pCluster | the address of the input cluster |
consideredClusters | the list of investigated clusters |
nearbyMuonPfos | the output list of the cosmic ray pfos to which the nearby cosmic ray clusters belong |
Referenced by FindCommonMuonParents().
|
inherited |
Use two clusters from different views to calculate projected positions in the remaining third view.
pCluster1 | the address of the first cluster |
pCluster2 | the address of the second cluster |
projectedPositions | the output projected positions |
|
virtualinherited |
Get the selected cluster list corresponding to a specified hit type.
hitType | the hit type |
Implements lar_content::MatchingBaseAlgorithm.
|
virtualinherited |
Merge clusters together.
clusterMergeMap | the cluster merge map |
Definition at line 48 of file MatchingBaseAlgorithm.cc.
Referenced by lar_content::SplitShowersTool::ApplyChanges(), lar_content::ThreeDKinkBaseTool::ApplyChanges(), lar_content::TwoViewThreeDKinkTool::ApplyChanges(), lar_content::ConnectedRemnantsTool::Run(), and lar_content::MissingTrackSegmentTool::Run().
|
inherited |
Parameterise the projection of a cosmic ray track in order to avoid poor/sparse projections.
pParentMuon | the address of the cosmic ray pfo |
pDeltaRayCluster | the address of the delta ray cluster in the projected view |
positionOnMuon | the output position to localise the parameterisation in space |
muonDirection | the output cosmic ray direction |
|
inherited |
Parameterise the projection of a cosmic ray track in order to avoid poor/sparse projections.
pParentMuon | the address of the cosmic ray pfo |
deltaRayProjectedPositions | the projected positions of the delta ray |
hitType | the view in which the projection is made |
positionOnMuon | the output position to localise the parameterisation in space |
muonDirection | the output cosmic ray direction |
|
protectedvirtualinherited |
Main loop over cluster combinations in order to populate the overlap container. Responsible for calling CalculateOverlapResult.
Implements lar_content::MatchingBaseAlgorithm.
|
inherited |
To determine how well three clusters (one in each view) map onto one another expressing this in terms of a chi-squared like parameter.
pCluster1 | the first cluster |
pCluster2 | the second cluster |
pCluster3 | the third cluster |
reducedChiSquared | the reduced chi squared |
Referenced by DoesClusterPassTensorThreshold().
|
inherited |
To determine how well three clusters (one in each view) map onto one another expressing this in terms of a chi-squared like parameter.
pClusterU | the U cluster (if the xOverlap object is to be retained this must be the u cluster - for labels to make sense) |
pClusterV | the V cluster |
pClusterW | the W cluster |
chiSquaredSum | the sum of the chi-squared values of the sampled points |
nSamplingPoints | the number of sampled points |
nMatchedSamplingPoints | the number of matched sampled points |
xOverlap | the xOverlap object |
|
inherited |
To determine how well three CaloHitLists (one in each view) map onto one another expressing this in terms of a chi-squared like parameter.
pCluster1 | the first CaloHitList |
pCluster2 | the second CaloHitList |
pCluster3 | the third CaloHitList |
reducedChiSquared | the reduced chi squared |
|
inherited |
To determine how well three CaloHitLists (one for each view) map onto one another expressing this in terms of a chi-squared like parameter.
clusterU | the U CaloHitList (if the xOverlap object is to be retained this must be the u cluster - for labels to make sense) |
clusterV | the V CaloHitList |
clusterW | the W CaloHitList |
chiSquaredSum | the sum of the chi-squared values of the sampled points |
nSamplingPoints | the number of sampled points |
nMatchedSamplingPoints | the number of matched sampled points |
xOverlap | the xOverlap object |
|
protectedvirtualinherited |
Perform any preparatory steps required, e.g. caching expensive fit results for clusters.
Implements lar_content::MatchingBaseAlgorithm.
|
virtualinherited |
Perform any preparatory steps required on the input clusters, e.g. caching expensive fit results.
preparedClusterList | to receive the prepared cluster list, non const so as to be able to modify input selected list |
Reimplemented from lar_content::MatchingBaseAlgorithm.
|
inherited |
Use two views of a cosmic ray pfo to calculate projected positions in a given the third view.
thirdViewHitType | the view to be projected into |
pParentMuon | the input cosmic ray pfo |
projectedPositions | the output projected positions |
|
privatevirtual |
Reimplemented from lar_content::NViewMatchingAlgorithm< ThreeViewMatchingControl< DeltaRayOverlapResult > >.
Definition at line 130 of file ThreeViewDeltaRayMatchingAlgorithm.cc.
References m_algorithmToolVector, m_minClusterCaloHits, lar_content::NViewDeltaRayMatchingAlgorithm< ThreeViewMatchingControl< DeltaRayOverlapResult > >::m_muonPfoListName, m_nMaxTensorToolRepeats, m_reclusteringAlgorithmName, and lar_content::NViewDeltaRayMatchingAlgorithm< ThreeViewMatchingControl< DeltaRayOverlapResult > >::ReadSettings().
|
protectedvirtualinherited |
Select a subset of input clusters for processing in this algorithm.
Implements lar_content::MatchingBaseAlgorithm.
|
virtualinherited |
Select a subset of input clusters for processing in this algorithm.
pInputClusterList | address of an input cluster list |
selectedClusterList | to receive the selected cluster list |
Reimplemented from lar_content::MatchingBaseAlgorithm.
|
virtualinherited |
Set Pfo properties.
protoParticle | the input proto particle |
pfoParameters | the output pfo parameters |
Definition at line 116 of file MatchingBaseAlgorithm.cc.
References f, and lar_content::ProtoParticle::m_clusterList.
|
virtualinherited |
Set pfo particle id.
pfoParameters | the output pfo parameters |
Reimplemented in lar_content::NViewTrackMatchingAlgorithm< T >, lar_content::NViewTrackMatchingAlgorithm< TwoViewMatchingControl< TwoViewTransverseOverlapResult > >, lar_content::NViewTrackMatchingAlgorithm< ThreeViewMatchingControl< FragmentOverlapResult > >, lar_content::NViewTrackMatchingAlgorithm< ThreeViewMatchingControl< TransverseOverlapResult > >, and lar_content::NViewTrackMatchingAlgorithm< ThreeViewMatchingControl< LongitudinalOverlapResult > >.
Definition at line 128 of file MatchingBaseAlgorithm.cc.
|
inherited |
Move a list of hits from a cosmic ray cluster into the given child delta ray cluster.
clusterListName | the pandora list to which the cosmic ray and delta ray clusters belong |
pMuonCluster | the address of the cosmic ray cluster |
collectedHits | the list of hits to reassign |
pDeltaRayCluster | the address of the delta ray cluster (may be a nullptr if cluster is yet to be made) |
|
protectedvirtualinherited |
Tidy member variables in derived class.
Reimplemented from lar_content::NViewMatchingAlgorithm< ThreeViewMatchingControl< DeltaRayOverlapResult > >.
|
virtualinherited |
Update to reflect addition of a new cluster to the problem space.
pNewCluster | address of the new cluster |
Implements lar_content::MatchingBaseAlgorithm.
|
inherited |
Add a new cluster to algorithm ownership maps and, if it a delta ray cluster, to the underlying matches container (tensor/matrix)
newClusterVector | the vector of clusters to add - the order must match the pfoVector |
pfoVector | the vector of cosmic ray pfos to which the new clusters belong (nullptr for delta ray cluster) |
|
virtualinherited |
Update to reflect cluster deletion.
pDeletedCluster | address of the deleted cluster |
Implements lar_content::MatchingBaseAlgorithm.
|
private |
The algorithm tool vector.
Definition at line 87 of file ThreeViewDeltaRayMatchingAlgorithm.h.
Referenced by ExamineOverlapContainer(), and ReadSettings().
|
protectedinherited |
The class of hit, cluster and pfo ownership and proximity maps.
Definition at line 300 of file NViewDeltaRayMatchingAlgorithm.h.
|
protectedinherited |
The matching control.
Definition at line 53 of file NViewMatchingAlgorithm.h.
|
protectedinherited |
The maximum allowed fraction of hits to be removed from the cosmic ray track.
Definition at line 306 of file NViewDeltaRayMatchingAlgorithm.h.
|
protectedinherited |
the maximum distance of a projected point to the cosmic ray cluster used when parameterising the cosmic ray cluster
Definition at line 307 of file NViewDeltaRayMatchingAlgorithm.h.
|
protectedinherited |
the maximum distance of a projected point to the cosmic ray vertex used when parameterising the cosmic ray cluster
Definition at line 308 of file NViewDeltaRayMatchingAlgorithm.h.
|
private |
The threshold number of hits for a cluster to be considered.
Definition at line 89 of file ThreeViewDeltaRayMatchingAlgorithm.h.
Referenced by DoesClusterPassTensorThreshold(), and ReadSettings().
|
protectedinherited |
The threshold matched fraction of sampling points for a good match.
Definition at line 303 of file NViewDeltaRayMatchingAlgorithm.h.
|
protectedinherited |
The threshold number of matched sampling points for a good match.
Definition at line 304 of file NViewDeltaRayMatchingAlgorithm.h.
|
protectedinherited |
The threshold number of projected points for a good projection.
Definition at line 305 of file NViewDeltaRayMatchingAlgorithm.h.
|
protectedinherited |
The list of reconstructed cosmic ray pfos.
Definition at line 296 of file NViewDeltaRayMatchingAlgorithm.h.
Referenced by ReadSettings().
|
private |
The maximum number of repeat loops over tensor tools.
Definition at line 90 of file ThreeViewDeltaRayMatchingAlgorithm.h.
Referenced by ExamineOverlapContainer(), and ReadSettings().
|
protectedinherited |
Pseudo chi2 cut for three view matching.
Definition at line 301 of file NViewDeltaRayMatchingAlgorithm.h.
|
private |
The name of the clustering algorithm to be used to recluster created delta ray remnants.
Definition at line 88 of file ThreeViewDeltaRayMatchingAlgorithm.h.
Referenced by GetClusteringAlgName(), and ReadSettings().
|
protectedinherited |
The list of U clusters that do not pass the tensor threshold requirement.
Definition at line 297 of file NViewDeltaRayMatchingAlgorithm.h.
|
protectedinherited |
The list of V clusters that do not pass the tensor threshold requirement.
Definition at line 298 of file NViewDeltaRayMatchingAlgorithm.h.
|
protectedinherited |
The list of W clusters that do not pass the tensor threshold requirement.
Definition at line 299 of file NViewDeltaRayMatchingAlgorithm.h.
|
protectedinherited |
The maximum allowed separation of a stray cluster and a delta ray cluster for merge.
Definition at line 309 of file NViewDeltaRayMatchingAlgorithm.h.
|
protectedinherited |
The maximum allowed displacement in x position.
Definition at line 302 of file NViewDeltaRayMatchingAlgorithm.h.