Pandora
Pandora source code navigator
|
VertexBasedPfoRecoveryAlgorithm class. More...
#include "VertexBasedPfoRecoveryAlgorithm.h"
Classes | |
class | Particle |
Particle class. More... | |
Public Member Functions | |
VertexBasedPfoRecoveryAlgorithm () | |
Default constructor. | |
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 | |
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 | |
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< Particle > | ParticleList |
Private Member Functions | |
pandora::StatusCode | Run () |
Run the algorithm. | |
pandora::StatusCode | GetAvailableClusters (const pandora::StringVector inputClusterListName, pandora::ClusterVector &clusterVector) const |
Get a vector of available clusters. | |
void | BuildSlidingFitResultMap (const pandora::ClusterVector &clusterVector, TwoDSlidingFitResultMap &slidingFitResultMap) const |
Build the map of sliding fit results. | |
void | SelectVertexClusters (const pandora::Vertex *const pVertex, const TwoDSlidingFitResultMap &slidingFitResultMap, const pandora::ClusterVector &inputClusters, pandora::ClusterVector &outputClusters) const |
Select clusters in proximity to reconstructed vertex. | |
void | MatchThreeViews (const pandora::Vertex *const pVertex, const TwoDSlidingFitResultMap &slidingFitResultMap, const pandora::ClusterVector &selectedClusters, pandora::ClusterSet &vetoList, ParticleList &particleList) const |
Match clusters from three views. | |
void | MatchTwoViews (const pandora::Vertex *const pVertex, const TwoDSlidingFitResultMap &slidingFitResultMap, const pandora::ClusterVector &selectedClusters, pandora::ClusterSet &vetoList, ParticleList &particleList) const |
Match clusters from two views. | |
void | GetBestChi2 (const pandora::Vertex *const pVertex, const TwoDSlidingFitResultMap &slidingFitResultMap, const pandora::ClusterVector &clusters1, const pandora::ClusterVector &clusters2, const pandora::ClusterVector &clusters3, const pandora::Cluster *&pBestCluster1, const pandora::Cluster *&pBestCluster2, const pandora::Cluster *&pBestCluster3, float &chi2) const |
Get best-matched triplet of clusters from a set of input cluster vectors. | |
void | GetBestChi2 (const pandora::Vertex *const pVertex, const TwoDSlidingFitResultMap &slidingFitResultMap, const pandora::ClusterVector &clusters1, const pandora::ClusterVector &clusters2, const pandora::Cluster *&pBestCluster1, const pandora::Cluster *&pBestCluster2, float &chi2) const |
Get best-matched pair of clusters from a set of input cluster vectors. | |
float | GetChi2 (const pandora::Vertex *const pVertex, const LArPointingCluster &pointingCluster1, const LArPointingCluster &pointingCluster2) const |
Merge two pointing clusters and return chi-squared metric giving consistency of matching. | |
float | GetChi2 (const pandora::Vertex *const pVertex, const LArPointingCluster &pointingCluster1, const LArPointingCluster &pointingCluster2, const LArPointingCluster &pointingCluster3) const |
Merge three clusters between views and return chi-squared metric giving consistency of matching. | |
void | SelectAvailableClusters (const pandora::ClusterSet &vetoList, const pandora::ClusterVector &inputVector, pandora::ClusterVector &outputVector) const |
Select cluster which haven't been vetoed. | |
void | SelectClusters (const pandora::HitType hitType, const pandora::ClusterVector &inputVector, pandora::ClusterVector &outputVector) const |
Select clusters of a specified hit type. | |
const LArPointingCluster::Vertex & | GetInnerVertex (const pandora::CartesianVector &vertex, const LArPointingCluster &cluster) const |
Find nearest end of pointing cluster to a specified position vector. | |
const LArPointingCluster::Vertex & | GetOuterVertex (const pandora::CartesianVector &vertex, const LArPointingCluster &cluster) const |
Find furthest end of pointing cluster from a specified position vector. | |
void | BuildParticles (const ParticleList &particleList) |
Build particle flow objects from matched clusters. | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Read the algorithm settings. | |
Private Attributes | |
pandora::StringVector | m_inputClusterListNames |
The list of input cluster list names. | |
std::string | m_outputPfoListName |
The name of the output pfo list. | |
unsigned int | m_slidingFitHalfWindow |
float | m_maxLongitudinalDisplacement |
float | m_maxTransverseDisplacement |
float | m_twoViewChi2Cut |
float | m_threeViewChi2Cut |
VertexBasedPfoRecoveryAlgorithm class.
Definition at line 22 of file VertexBasedPfoRecoveryAlgorithm.h.
|
private |
Definition at line 53 of file VertexBasedPfoRecoveryAlgorithm.h.
lar_content::VertexBasedPfoRecoveryAlgorithm::VertexBasedPfoRecoveryAlgorithm | ( | ) |
Default constructor.
Definition at line 22 of file VertexBasedPfoRecoveryAlgorithm.cc.
|
private |
Build particle flow objects from matched clusters.
particleList | the input list of matched clusters |
Definition at line 469 of file VertexBasedPfoRecoveryAlgorithm.cc.
|
private |
Build the map of sliding fit results.
clusterVector | the vector of selected clusters |
halfWindowLayers | the half-window to use for the sliding fits |
slidingFitResultMap | the sliding fit result map |
Definition at line 112 of file VertexBasedPfoRecoveryAlgorithm.cc.
|
private |
Get a vector of available clusters.
inputClusterListName | the input vector of the cluster list names |
clusterVector | the output vector of available clusters |
Definition at line 75 of file VertexBasedPfoRecoveryAlgorithm.cc.
|
private |
Get best-matched pair of clusters from a set of input cluster vectors.
pVertex | the input vertex |
slidingFitResultMap | the mapping between clusters and sliding fit results |
clusters1 | the clusters in the first view |
clusters2 | the clusters in the second view |
pBestCluster1 | the best-matched cluster from the first view |
pBestCluster2 | the best-matched cluster from the second view |
chi2 | the chi-squared metric from the best match |
Definition at line 324 of file VertexBasedPfoRecoveryAlgorithm.cc.
|
private |
Get best-matched triplet of clusters from a set of input cluster vectors.
pVertex | the input vertex |
slidingFitResultMap | the mapping between clusters and sliding fit results |
clusters1 | the clusters in the first view |
clusters2 | the clusters in the second view |
clusters3 | the clusters in the third view |
pBestCluster1 | the best-matched cluster from the first view |
pBestCluster2 | the best-matched cluster from the second view |
pBestCluster3 | the best-matched cluster from the third view |
chi2 | the chi-squared metric from the best match |
Definition at line 264 of file VertexBasedPfoRecoveryAlgorithm.cc.
|
private |
Merge two pointing clusters and return chi-squared metric giving consistency of matching.
pVertex | the input vertex |
pointingCluster1 | the first pointing cluster |
pointingCluster2 | the second pointing cluster |
Definition at line 369 of file VertexBasedPfoRecoveryAlgorithm.cc.
|
private |
Merge three clusters between views and return chi-squared metric giving consistency of matching.
pVertex | the input vertex |
pointingCluster1 | the first pointing cluster |
pointingCluster2 | the second pointing cluster |
pointingCluster3 | the third pointing cluster |
Definition at line 394 of file VertexBasedPfoRecoveryAlgorithm.cc.
|
private |
Find nearest end of pointing cluster to a specified position vector.
vertex | the input position |
cluster | the input cluster |
Definition at line 444 of file VertexBasedPfoRecoveryAlgorithm.cc.
|
inlineinherited |
|
private |
Find furthest end of pointing cluster from a specified position vector.
vertex | the input position |
cluster | the input pointing cluster |
Definition at line 457 of file VertexBasedPfoRecoveryAlgorithm.cc.
|
inlineinherited |
|
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.
|
private |
Match clusters from three views.
pVertex | the input vertex |
slidingFitResultMap | the mapping between clusters and sliding fit results |
selectedClusters | the input vertex clusters |
vetoList | the list of matched clusters |
particleList | the output list of matched clusters |
Definition at line 184 of file VertexBasedPfoRecoveryAlgorithm.cc.
|
private |
Match clusters from two views.
pVertex | the input vertex |
slidingFitResultMap | the mapping between clusters and sliding fit results |
selectedClusters | the input vertex clusters |
vetoList | the list of matched clusters |
particleList | the output list of matched clusters |
Definition at line 226 of file VertexBasedPfoRecoveryAlgorithm.cc.
|
privatevirtual |
Read the algorithm settings.
xmlHandle | the relevant xml handle |
Implements pandora::Process.
Definition at line 538 of file VertexBasedPfoRecoveryAlgorithm.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.
|
privatevirtual |
Run the algorithm.
Implements pandora::Algorithm.
Definition at line 33 of file VertexBasedPfoRecoveryAlgorithm.cc.
|
private |
Select cluster which haven't been vetoed.
vetoList | the list of vetoed clusters |
inputVector | the input vector of clusters |
outputVector | the output vector of clusters |
Definition at line 422 of file VertexBasedPfoRecoveryAlgorithm.cc.
|
private |
Select clusters of a specified hit type.
hitType | the specified hit type |
inputVector | the input vector of clusters |
outputVector | the output vector of clusters |
Definition at line 433 of file VertexBasedPfoRecoveryAlgorithm.cc.
|
private |
Select clusters in proximity to reconstructed vertex.
pVertex | the input vertex |
slidingFitResultMap | the mapping between clusters and sliding fit results |
inputClusters | the input vector of clusters |
outputClusters | the output vector of clusters |
Definition at line 142 of file VertexBasedPfoRecoveryAlgorithm.cc.
|
private |
The list of input cluster list names.
Definition at line 201 of file VertexBasedPfoRecoveryAlgorithm.h.
|
protectedinherited |
|
private |
Definition at line 205 of file VertexBasedPfoRecoveryAlgorithm.h.
|
private |
Definition at line 206 of file VertexBasedPfoRecoveryAlgorithm.h.
|
private |
The name of the output pfo list.
Definition at line 202 of file VertexBasedPfoRecoveryAlgorithm.h.
|
protectedinherited |
|
private |
Definition at line 204 of file VertexBasedPfoRecoveryAlgorithm.h.
|
private |
Definition at line 208 of file VertexBasedPfoRecoveryAlgorithm.h.
|
private |
Definition at line 207 of file VertexBasedPfoRecoveryAlgorithm.h.
|
protectedinherited |