Pandora
Pandora source code navigator
|
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 T | MatchingType |
Public Member Functions | |
ThreeViewDeltaRayMatchingAlgorithm () | |
Default constructor. | |
std::string | GetClusteringAlgName () const |
Get the name of the clustering algorithm to be used to recluster created delta ray remnants. | |
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) | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
bool | CreatePfos (ProtoParticleVector &protoParticleVector) |
Create delta ray pfos maxmising completeness by searching for and merging in any stray clusters. | |
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) | |
void | UpdateUponDeletion (const pandora::Cluster *const pDeletedCluster) |
Update to reflect cluster deletion. | |
void | SelectInputClusters (const pandora::ClusterList *const pInputClusterList, pandora::ClusterList &selectedClusterList) const |
Select a subset of input clusters for processing in this algorithm. | |
void | PrepareInputClusters (pandora::ClusterList &preparedClusterList) |
Perform any preparatory steps required on the input clusters, e.g. caching expensive fit results. | |
void | UpdateForNewCluster (const pandora::Cluster *const pNewCluster) |
Update to reflect addition of a new cluster to the problem space. | |
const std::string & | GetClusterListName (const pandora::HitType hitType) const |
Get the cluster list name corresponding to a specified hit type. | |
const pandora::ClusterList & | GetInputClusterList (const pandora::HitType hitType) const |
Get the input cluster list corresponding to a specified hit type. | |
const pandora::ClusterList & | GetSelectedClusterList (const pandora::HitType hitType) const |
Get the selected cluster list corresponding to a specified hit type. | |
virtual bool | MakeClusterMerges (const ClusterMergeMap &clusterMergeMap) |
Merge clusters together. | |
virtual bool | CreateThreeDParticles (const ProtoParticleVector &protoParticleVector) |
Create particles using findings from recent algorithm processing. | |
virtual void | SetPfoParameters (const ProtoParticle &protoParticle, PandoraContentApi::ParticleFlowObject::Parameters &pfoParameters) const |
Set Pfo properties. | |
virtual void | SetPfoParticleId (PandoraContentApi::ParticleFlowObject::Parameters &pfoParameters) const |
Set pfo particle id. | |
const std::string & | GetType () const |
Get the type. | |
const std::string & | GetInstanceName () const |
Get the instance name. | |
const Pandora & | GetPandora () const |
Get the associated pandora instance. | |
Protected Member Functions | |
void | FillStrayClusterList (const pandora::HitType hitType) |
Fill the stray cluster list with clusters that do not pass the tensor threshold requirement. | |
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. | |
void | GetClusterSpanX (const pandora::CaloHitList &caloHitList, float &xMin, float &xMax) const |
Calculate the xSpan of a list of CaloHits. | |
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. | |
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. | |
void | AddInStrayClusters (const pandora::Cluster *const pClusterToEnlarge, const pandora::ClusterList &collectedClusters) |
Merge in the collected stray clusters of a given delta ray cluster. | |
void | TidyUp () |
Tidy member variables in derived class. | |
MatchingType & | GetMatchingControl () |
Get the matching control. | |
virtual void | SelectAllInputClusters () |
Select a subset of input clusters for processing in this algorithm. | |
virtual void | PrepareAllInputClusters () |
Perform any preparatory steps required, e.g. caching expensive fit results for clusters. | |
virtual void | PerformMainLoop () |
Main loop over cluster combinations in order to populate the overlap container. Responsible for calling CalculateOverlapResult. | |
virtual StatusCode | Initialize () |
Perform any operations that must occur after reading settings, but before running the process. | |
virtual StatusCode | Reset () |
Perform any operations when pandora is reset, typically at the end of each event. | |
StatusCode | RegisterDetails (const Pandora *const pPandora, const std::string &type, const std::string &instanceName) |
Register i) the pandora instance that will run the process and ii) the process type. | |
Protected Attributes | |
std::string | m_muonPfoListName |
The list of reconstructed cosmic ray pfos. | |
pandora::ClusterList | m_strayClusterListU |
The list of U clusters that do not pass the tensor threshold requirement. | |
pandora::ClusterList | m_strayClusterListV |
The list of V clusters that do not pass the tensor threshold requirement. | |
pandora::ClusterList | m_strayClusterListW |
The list of W clusters that do not pass the tensor threshold requirement. | |
DeltaRayMatchingContainers | m_deltaRayMatchingContainers |
The class of hit, cluster and pfo ownership and proximity maps. | |
float | m_pseudoChi2Cut |
Pseudo chi2 cut for three view matching. | |
float | m_xOverlapWindow |
The maximum allowed displacement in x position. | |
float | m_minMatchedFraction |
The threshold matched fraction of sampling points for a good match. | |
unsigned int | m_minMatchedPoints |
The threshold number of matched sampling points for a good match. | |
unsigned int | m_minProjectedPositions |
The threshold number of projected points for a good projection. | |
float | m_maxCosmicRayHitFraction |
The maximum allowed fraction of hits to be removed from the cosmic ray track. | |
float | m_maxDistanceToCluster |
the maximum distance of a projected point to the cosmic ray cluster used when parameterising the cosmic ray cluster | |
float | m_maxDistanceToReferencePoint |
the maximum distance of a projected point to the cosmic ray vertex used when parameterising the cosmic ray cluster | |
float | m_strayClusterSeparation |
The maximum allowed separation of a stray cluster and a delta ray cluster for merge. | |
MatchingType | m_matchingControl |
The matching control. | |
const Pandora * | m_pPandora |
The pandora object that will run the process. | |
std::string | m_type |
The process type. | |
std::string | m_instanceName |
The process instance name. | |
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. | |
void | ExamineOverlapContainer () |
Examine contents of overlap container, collect together best-matching 2D particles and modify clusters as required. | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Read the algorithm settings. | |
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) | |
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. | |
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. | |
pandora::StatusCode | Run () |
Run the algorithm. | |
Private Attributes | |
TensorToolVector | m_algorithmToolVector |
The algorithm tool vector. | |
std::string | m_reclusteringAlgorithmName |
The name of the clustering algorithm to be used to recluster created delta ray remnants. | |
unsigned int | m_minClusterCaloHits |
The threshold number of hits for a cluster to be considered. | |
unsigned int | m_nMaxTensorToolRepeats |
The maximum number of repeat loops over tensor tools. | |
std::string | m_outputPfoListName |
The output pfo list name. | |
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 |
Definition at line 291 of file NViewDeltaRayMatchingAlgorithm.cc.
|
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.
Definition at line 31 of file ThreeViewDeltaRayMatchingAlgorithm.cc.
|
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 |
Definition at line 43 of file ThreeViewDeltaRayMatchingAlgorithm.cc.
|
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 |
Definition at line 165 of file NViewDeltaRayMatchingAlgorithm.cc.
|
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 |
Definition at line 150 of file NViewDeltaRayMatchingAlgorithm.cc.
|
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 |
Definition at line 282 of file NViewDeltaRayMatchingAlgorithm.cc.
|
inherited |
Create delta ray pfos maxmising completeness by searching for and merging in any stray clusters.
protoParticleVector | the proto particle vector |
Definition at line 214 of file NViewDeltaRayMatchingAlgorithm.cc.
|
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.
|
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 24 of file ThreeViewDeltaRayMatchingAlgorithm.cc.
|
privatevirtual |
Examine contents of overlap container, collect together best-matching 2D particles and modify clusters as required.
Implements lar_content::MatchingBaseAlgorithm.
Definition at line 108 of file ThreeViewDeltaRayMatchingAlgorithm.cc.
|
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 |
Definition at line 243 of file NViewDeltaRayMatchingAlgorithm.cc.
|
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 69 of file ThreeViewDeltaRayMatchingAlgorithm.cc.
|
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.
|
virtualinherited |
Get the cluster list name corresponding to a specified hit type.
hitType | the hit type |
Implements lar_content::MatchingBaseAlgorithm.
Definition at line 57 of file NViewMatchingAlgorithm.cc.
|
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 |
Definition at line 261 of file NViewDeltaRayMatchingAlgorithm.cc.
|
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 |
Definition at line 272 of file NViewDeltaRayMatchingAlgorithm.cc.
|
virtualinherited |
Get the input cluster list corresponding to a specified hit type.
hitType | the hit type |
Implements lar_content::MatchingBaseAlgorithm.
Definition at line 65 of file NViewMatchingAlgorithm.cc.
|
inlineinherited |
|
inlineprotectedinherited |
Get the matching control.
Definition at line 59 of file NViewMatchingAlgorithm.h.
|
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 |
Definition at line 50 of file NViewDeltaRayMatchingAlgorithm.cc.
|
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 |
Definition at line 252 of file NViewDeltaRayMatchingAlgorithm.cc.
|
inlineinherited |
|
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 |
Definition at line 134 of file NViewDeltaRayMatchingAlgorithm.cc.
|
virtualinherited |
Get the selected cluster list corresponding to a specified hit type.
hitType | the hit type |
Implements lar_content::MatchingBaseAlgorithm.
Definition at line 73 of file NViewMatchingAlgorithm.cc.
|
inlineinherited |
|
inlineprotectedvirtualinherited |
Perform any operations that must occur after reading settings, but before running the process.
Reimplemented in lar_content::BdtBeamParticleIdTool, lar_content::BeamParticleIdTool, lar_content::CosmicRayTaggingTool, lar_content::EventReadingAlgorithm, lar_content::EventWritingAlgorithm, lar_content::LArPseudoLayerPlugin, lar_content::LArRotationalTransformationPlugin, EventReadingAlgorithm, and EventWritingAlgorithm.
Definition at line 126 of file Process.h.
|
virtualinherited |
Merge clusters together.
clusterMergeMap | the cluster merge map |
Definition at line 48 of file MatchingBaseAlgorithm.cc.
|
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 |
Definition at line 193 of file NViewDeltaRayMatchingAlgorithm.cc.
|
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 |
Definition at line 179 of file NViewDeltaRayMatchingAlgorithm.cc.
|
protectedvirtualinherited |
Main loop over cluster combinations in order to populate the overlap container. Responsible for calling CalculateOverlapResult.
Implements lar_content::MatchingBaseAlgorithm.
Reimplemented in lar_content::ThreeViewTrackFragmentsAlgorithm.
Definition at line 105 of file NViewMatchingAlgorithm.cc.
|
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 |
Definition at line 109 of file NViewDeltaRayMatchingAlgorithm.cc.
|
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 |
Definition at line 93 of file NViewDeltaRayMatchingAlgorithm.cc.
|
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 |
Definition at line 63 of file NViewDeltaRayMatchingAlgorithm.cc.
|
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 |
Definition at line 79 of file NViewDeltaRayMatchingAlgorithm.cc.
|
protectedvirtualinherited |
Perform any preparatory steps required, e.g. caching expensive fit results for clusters.
Implements lar_content::MatchingBaseAlgorithm.
Definition at line 89 of file NViewMatchingAlgorithm.cc.
|
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.
Definition at line 226 of file NViewDeltaRayMatchingAlgorithm.cc.
|
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 |
Definition at line 122 of file NViewDeltaRayMatchingAlgorithm.cc.
|
privatevirtual |
Read the algorithm settings.
xmlHandle | the relevant xml handle |
Reimplemented from lar_content::NViewDeltaRayMatchingAlgorithm< ThreeViewMatchingControl< DeltaRayOverlapResult > >.
Definition at line 128 of file ThreeViewDeltaRayMatchingAlgorithm.cc.
|
inlineprotectedinherited |
Register i) the pandora instance that will run the process and ii) the process type.
pPandora | address of the pandora object that will run the process |
type | the process type |
instanceName | the process instance name |
Definition at line 146 of file Process.h.
|
inlineprotectedvirtualinherited |
Perform any operations when pandora is reset, typically at the end of each event.
Reimplemented in lar_content::MasterAlgorithm, lar_content::PostProcessingAlgorithm, and lar_content::PreProcessingAlgorithm.
Definition at line 133 of file Process.h.
|
privatevirtualinherited |
Run the algorithm.
Implements pandora::Algorithm.
Definition at line 135 of file MatchingBaseAlgorithm.cc.
|
protectedvirtualinherited |
Select a subset of input clusters for processing in this algorithm.
Implements lar_content::MatchingBaseAlgorithm.
Definition at line 81 of file NViewMatchingAlgorithm.cc.
|
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.
Definition at line 225 of file NViewDeltaRayMatchingAlgorithm.cc.
|
virtualinherited |
Set Pfo properties.
protoParticle | the input proto particle |
pfoParameters | the output pfo parameters |
Definition at line 116 of file MatchingBaseAlgorithm.cc.
|
virtualinherited |
Set pfo particle id.
pfoParameters | the output pfo parameters |
Reimplemented in lar_content::NViewTrackMatchingAlgorithm< T >, lar_content::NViewTrackMatchingAlgorithm< ThreeViewMatchingControl< FragmentOverlapResult > >, lar_content::NViewTrackMatchingAlgorithm< ThreeViewMatchingControl< LongitudinalOverlapResult > >, lar_content::NViewTrackMatchingAlgorithm< ThreeViewMatchingControl< TransverseOverlapResult > >, and lar_content::NViewTrackMatchingAlgorithm< TwoViewMatchingControl< TwoViewTransverseOverlapResult > >.
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) |
Definition at line 204 of file NViewDeltaRayMatchingAlgorithm.cc.
|
protectedvirtualinherited |
Tidy member variables in derived class.
Reimplemented from lar_content::NViewMatchingAlgorithm< T >.
Definition at line 293 of file NViewDeltaRayMatchingAlgorithm.cc.
|
virtualinherited |
Update to reflect addition of a new cluster to the problem space.
pNewCluster | address of the new cluster |
Implements lar_content::MatchingBaseAlgorithm.
Reimplemented in lar_content::ThreeViewShowersAlgorithm, lar_content::NViewTrackMatchingAlgorithm< T >, lar_content::NViewTrackMatchingAlgorithm< ThreeViewMatchingControl< FragmentOverlapResult > >, lar_content::NViewTrackMatchingAlgorithm< ThreeViewMatchingControl< LongitudinalOverlapResult > >, lar_content::NViewTrackMatchingAlgorithm< ThreeViewMatchingControl< TransverseOverlapResult > >, lar_content::NViewTrackMatchingAlgorithm< TwoViewMatchingControl< TwoViewTransverseOverlapResult > >, and lar_content::ThreeViewTrackFragmentsAlgorithm.
Definition at line 41 of file NViewMatchingAlgorithm.cc.
|
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) |
Definition at line 222 of file NViewDeltaRayMatchingAlgorithm.cc.
|
virtualinherited |
Update to reflect cluster deletion.
pDeletedCluster | address of the deleted cluster |
Implements lar_content::MatchingBaseAlgorithm.
Definition at line 224 of file NViewDeltaRayMatchingAlgorithm.cc.
|
private |
The algorithm tool vector.
Definition at line 87 of file ThreeViewDeltaRayMatchingAlgorithm.h.
|
protectedinherited |
The class of hit, cluster and pfo ownership and proximity maps.
Definition at line 300 of file NViewDeltaRayMatchingAlgorithm.h.
|
protectedinherited |
|
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.
|
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.
|
private |
The maximum number of repeat loops over tensor tools.
Definition at line 90 of file ThreeViewDeltaRayMatchingAlgorithm.h.
|
privateinherited |
The output pfo list name.
Definition at line 181 of file MatchingBaseAlgorithm.h.
|
protectedinherited |
|
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.
|
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 |
|
protectedinherited |
The maximum allowed displacement in x position.
Definition at line 302 of file NViewDeltaRayMatchingAlgorithm.h.