NViewDeltaRayMatchingAlgorithm class. More...
#include <NViewDeltaRayMatchingAlgorithm.h>
Public Types | |
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 |
Public Types inherited from lar_content::NViewMatchingAlgorithm< T > | |
typedef T | MatchingType |
Public Member Functions | |
NViewDeltaRayMatchingAlgorithm () | |
Default constructor. 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... | |
Public Member Functions inherited from lar_content::NViewMatchingAlgorithm< T > | |
NViewMatchingAlgorithm () | |
Default constructor. More... | |
virtual | ~NViewMatchingAlgorithm () |
Destructor. More... | |
void | UpdateForNewCluster (const pandora::Cluster *const pNewCluster) |
Update to reflect addition of a new cluster to the problem space. More... | |
void | UpdateUponDeletion (const pandora::Cluster *const pDeletedCluster) |
Update to reflect cluster deletion. 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... | |
Public Member Functions inherited from lar_content::MatchingBaseAlgorithm | |
MatchingBaseAlgorithm () | |
Default constructor. More... | |
virtual | ~MatchingBaseAlgorithm () |
Destructor. More... | |
virtual void | CalculateOverlapResult (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2, const pandora::Cluster *const pCluster3=nullptr)=0 |
Calculate cluster overlap result and store in container. 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 | |
virtual bool | DoesClusterPassTensorThreshold (const pandora::Cluster *const pCluster) const =0 |
To check whether a given cluster meets the requirements to be added into the matching container (tensor/matrix) More... | |
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... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Protected Member Functions inherited from lar_content::NViewMatchingAlgorithm< T > | |
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 Member Functions inherited from lar_content::MatchingBaseAlgorithm | |
virtual void | ExamineOverlapContainer ()=0 |
Examine contents of overlap container, collect together best-matching 2D particles and modify clusters as required. 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... | |
Protected Attributes inherited from lar_content::NViewMatchingAlgorithm< T > | |
MatchingType | m_matchingControl |
The matching control. More... | |
NViewDeltaRayMatchingAlgorithm class.
Definition at line 23 of file NViewDeltaRayMatchingAlgorithm.h.
typedef std::map<const pandora::Cluster *, pandora::ClusterList> lar_content::NViewDeltaRayMatchingAlgorithm< T >::ClusterProximityMap |
Definition at line 28 of file NViewDeltaRayMatchingAlgorithm.h.
typedef std::map<const pandora::Cluster *, const pandora::ParticleFlowObject *> lar_content::NViewDeltaRayMatchingAlgorithm< T >::ClusterToPfoMap |
Definition at line 27 of file NViewDeltaRayMatchingAlgorithm.h.
typedef KDTreeNodeInfoT<const pandora::CaloHit *, 2> lar_content::NViewDeltaRayMatchingAlgorithm< T >::HitKDNode2D |
Definition at line 31 of file NViewDeltaRayMatchingAlgorithm.h.
typedef std::vector<HitKDNode2D> lar_content::NViewDeltaRayMatchingAlgorithm< T >::HitKDNode2DList |
Definition at line 32 of file NViewDeltaRayMatchingAlgorithm.h.
typedef KDTreeLinkerAlgo<const pandora::CaloHit *, 2> lar_content::NViewDeltaRayMatchingAlgorithm< T >::HitKDTree2D |
Definition at line 30 of file NViewDeltaRayMatchingAlgorithm.h.
typedef std::map<const pandora::CaloHit *, const pandora::Cluster *> lar_content::NViewDeltaRayMatchingAlgorithm< T >::HitToClusterMap |
Definition at line 26 of file NViewDeltaRayMatchingAlgorithm.h.
typedef std::vector<pandora::HitType> lar_content::NViewDeltaRayMatchingAlgorithm< T >::HitTypeVector |
Definition at line 34 of file NViewDeltaRayMatchingAlgorithm.h.
lar_content::NViewDeltaRayMatchingAlgorithm< T >::NViewDeltaRayMatchingAlgorithm | ( | ) |
Default constructor.
Definition at line 33 of file NViewDeltaRayMatchingAlgorithm.cc.
|
protected |
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 |
Definition at line 813 of file NViewDeltaRayMatchingAlgorithm.cc.
pandora::StatusCode lar_content::NViewDeltaRayMatchingAlgorithm< T >::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.
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 |
void lar_content::NViewDeltaRayMatchingAlgorithm< T >::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.
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 |
|
protected |
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 |
Definition at line 780 of file NViewDeltaRayMatchingAlgorithm.cc.
bool lar_content::NViewDeltaRayMatchingAlgorithm< T >::CreatePfos | ( | ProtoParticleVector & | protoParticleVector | ) |
Create delta ray pfos maxmising completeness by searching for and merging in any stray clusters.
protoParticleVector | the proto particle vector |
Definition at line 731 of file NViewDeltaRayMatchingAlgorithm.cc.
|
protectedpure virtual |
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 |
Implemented in lar_content::TwoViewDeltaRayMatchingAlgorithm, and lar_content::ThreeViewDeltaRayMatchingAlgorithm.
|
protected |
Fill the stray cluster list with clusters that do not pass the tensor threshold requirement.
hitType | the hit type of the list to fill |
Definition at line 84 of file NViewDeltaRayMatchingAlgorithm.cc.
|
protected |
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 |
Definition at line 397 of file NViewDeltaRayMatchingAlgorithm.cc.
|
protected |
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 |
Definition at line 417 of file NViewDeltaRayMatchingAlgorithm.cc.
StatusCode lar_content::NViewDeltaRayMatchingAlgorithm< T >::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)
commonMuonPfoList | the element's list of common muon pfos |
hitType | the specified view |
pMuonCluster | the output address of the cluster |
Definition at line 99 of file NViewDeltaRayMatchingAlgorithm.cc.
|
protected |
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 |
Definition at line 118 of file NViewDeltaRayMatchingAlgorithm.cc.
StatusCode lar_content::NViewDeltaRayMatchingAlgorithm< T >::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.
pCluster1 | the address of the first cluster |
pCluster2 | the address of the second cluster |
projectedPositions | the output projected positions |
Definition at line 471 of file NViewDeltaRayMatchingAlgorithm.cc.
pandora::StatusCode lar_content::NViewDeltaRayMatchingAlgorithm< T >::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.
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 |
pandora::StatusCode lar_content::NViewDeltaRayMatchingAlgorithm< T >::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.
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 |
pandora::StatusCode lar_content::NViewDeltaRayMatchingAlgorithm< T >::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.
pCluster1 | the first cluster |
pCluster2 | the second cluster |
pCluster3 | the third cluster |
reducedChiSquared | the reduced chi squared |
pandora::StatusCode lar_content::NViewDeltaRayMatchingAlgorithm< T >::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.
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 |
pandora::StatusCode lar_content::NViewDeltaRayMatchingAlgorithm< T >::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.
pCluster1 | the first CaloHitList |
pCluster2 | the second CaloHitList |
pCluster3 | the third CaloHitList |
reducedChiSquared | the reduced chi squared |
pandora::StatusCode lar_content::NViewDeltaRayMatchingAlgorithm< T >::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.
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 |
|
virtual |
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.
Definition at line 61 of file NViewDeltaRayMatchingAlgorithm.cc.
StatusCode lar_content::NViewDeltaRayMatchingAlgorithm< T >::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.
thirdViewHitType | the view to be projected into |
pParentMuon | the input cosmic ray pfo |
projectedPositions | the output projected positions |
Definition at line 450 of file NViewDeltaRayMatchingAlgorithm.cc.
|
protectedvirtual |
Reimplemented from lar_content::NViewMatchingAlgorithm< T >.
Definition at line 885 of file NViewDeltaRayMatchingAlgorithm.cc.
|
virtual |
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.
Definition at line 49 of file NViewDeltaRayMatchingAlgorithm.cc.
void lar_content::NViewDeltaRayMatchingAlgorithm< T >::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.
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) |
Definition at line 691 of file NViewDeltaRayMatchingAlgorithm.cc.
|
protectedvirtual |
Tidy member variables in derived class.
Reimplemented from lar_content::NViewMatchingAlgorithm< T >.
Definition at line 871 of file NViewDeltaRayMatchingAlgorithm.cc.
void lar_content::NViewDeltaRayMatchingAlgorithm< T >::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)
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) |
Definition at line 853 of file NViewDeltaRayMatchingAlgorithm.cc.
|
virtual |
Update to reflect cluster deletion.
pDeletedCluster | address of the deleted cluster |
Implements lar_content::MatchingBaseAlgorithm.
Definition at line 832 of file NViewDeltaRayMatchingAlgorithm.cc.
|
protected |
The class of hit, cluster and pfo ownership and proximity maps.
Definition at line 300 of file NViewDeltaRayMatchingAlgorithm.h.
|
protected |
The maximum allowed fraction of hits to be removed from the cosmic ray track.
Definition at line 306 of file NViewDeltaRayMatchingAlgorithm.h.
|
protected |
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.
|
protected |
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.
|
protected |
The threshold matched fraction of sampling points for a good match.
Definition at line 303 of file NViewDeltaRayMatchingAlgorithm.h.
|
protected |
The threshold number of matched sampling points for a good match.
Definition at line 304 of file NViewDeltaRayMatchingAlgorithm.h.
|
protected |
The threshold number of projected points for a good projection.
Definition at line 305 of file NViewDeltaRayMatchingAlgorithm.h.
|
protected |
The list of reconstructed cosmic ray pfos.
Definition at line 296 of file NViewDeltaRayMatchingAlgorithm.h.
|
protected |
Pseudo chi2 cut for three view matching.
Definition at line 301 of file NViewDeltaRayMatchingAlgorithm.h.
|
protected |
The list of U clusters that do not pass the tensor threshold requirement.
Definition at line 297 of file NViewDeltaRayMatchingAlgorithm.h.
|
protected |
The list of V clusters that do not pass the tensor threshold requirement.
Definition at line 298 of file NViewDeltaRayMatchingAlgorithm.h.
|
protected |
The list of W clusters that do not pass the tensor threshold requirement.
Definition at line 299 of file NViewDeltaRayMatchingAlgorithm.h.
|
protected |
The maximum allowed separation of a stray cluster and a delta ray cluster for merge.
Definition at line 309 of file NViewDeltaRayMatchingAlgorithm.h.
|
protected |
The maximum allowed displacement in x position.
Definition at line 302 of file NViewDeltaRayMatchingAlgorithm.h.