LArSoft
v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
|
ThreeDRemnantsAlgorithm class. More...
#include "ThreeDRemnantsAlgorithm.h"
Public Types | |
typedef OverlapTensor< float > | TensorType |
Public Member Functions | |
ThreeDRemnantsAlgorithm () | |
Default constructor. 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 | SetPfoParameters (const ProtoParticle &protoParticle, PandoraContentApi::ParticleFlowObject::Parameters &pfoParameters) const |
Calculate Pfo properties from proto particle. More... | |
virtual bool | CreateThreeDParticles (const ProtoParticleVector &protoParticleVector) |
Create particles using findings from recent algorithm processing. More... | |
virtual bool | MakeClusterMerges (const ClusterMergeMap &clusterMergeMap) |
Merge clusters together. More... | |
virtual void | UpdateForNewCluster (const pandora::Cluster *const pNewCluster) |
Update to reflect addition of a new cluster to the problem space. More... | |
virtual void | UpdateUponDeletion (const pandora::Cluster *const pDeletedCluster) |
Update to reflect cluster deletion. More... | |
virtual void | RemoveUnavailableTensorElements () |
Update tensor to remove all elements that have been added to pfos and so are unavailable. More... | |
const pandora::ClusterList & | GetInputClusterListU () const |
Get the input u cluster list. More... | |
const pandora::ClusterList & | GetInputClusterListV () const |
Get the input v cluster list. More... | |
const pandora::ClusterList & | GetInputClusterListW () const |
Get the input w cluster list. More... | |
const pandora::ClusterList & | GetSelectedClusterListU () const |
Get the selected u cluster list. More... | |
const pandora::ClusterList & | GetSelectedClusterListV () const |
Get the selected v cluster list. More... | |
const pandora::ClusterList & | GetSelectedClusterListW () const |
Get the selected w cluster list. More... | |
const std::string & | GetClusterListNameU () const |
Get the name of the u cluster list. More... | |
const std::string & | GetClusterListNameV () const |
Get the name of the v cluster list. More... | |
const std::string & | GetClusterListNameW () const |
Get the name of the w cluster list. More... | |
Protected Member Functions | |
virtual void | SelectAllInputClusters () |
Select a subset of input clusters for processing in this algorithm. More... | |
virtual void | PreparationStep () |
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 tensor. Responsible for calling CalculateOverlapResult. More... | |
virtual void | TidyUp () |
Tidy member variables in derived class. More... | |
Protected Attributes | |
const pandora::ClusterList * | m_pInputClusterListU |
Address of the input cluster list U. More... | |
const pandora::ClusterList * | m_pInputClusterListV |
Address of the input cluster list V. More... | |
const pandora::ClusterList * | m_pInputClusterListW |
Address of the input cluster list W. More... | |
pandora::ClusterList | m_clusterListU |
The selected modified cluster list U. More... | |
pandora::ClusterList | m_clusterListV |
The selected modified cluster list V. More... | |
pandora::ClusterList | m_clusterListW |
The selected modified cluster list W. More... | |
TensorType | m_overlapTensor |
The overlap tensor. More... | |
Private Types | |
typedef std::vector< RemnantTensorTool * > | RemnantTensorToolVector |
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 tensor. More... | |
void | ExamineTensor () |
Examine contents of tensor, collect together best-matching 2D particles and modify clusters as required. More... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Private Attributes | |
RemnantTensorToolVector | m_algorithmToolVector |
The algorithm tool list. More... | |
unsigned int | m_nMaxTensorToolRepeats |
The maximum number of repeat loops over tensor tools. More... | |
unsigned int | m_minClusterCaloHits |
The selection cut on the number of cluster calo hits. More... | |
float | m_xOverlapWindow |
The sampling pitch in the x coordinate. More... | |
float | m_pseudoChi2Cut |
The selection cut on the matched chi2. More... | |
ThreeDRemnantsAlgorithm class.
Definition at line 28 of file ThreeDRemnantsAlgorithm.h.
|
private |
Definition at line 45 of file ThreeDRemnantsAlgorithm.h.
|
inherited |
Definition at line 45 of file ThreeDBaseAlgorithm.h.
lar_content::ThreeDRemnantsAlgorithm::ThreeDRemnantsAlgorithm | ( | ) |
Default constructor.
Definition at line 21 of file ThreeDRemnantsAlgorithm.cc.
|
privatevirtual |
Calculate cluster overlap result and store in tensor.
pClusterU | address of U view cluster |
pClusterV | address of V view cluster |
pClusterW | address of W view cluster |
Implements lar_content::ThreeDBaseAlgorithm< float >.
Definition at line 64 of file ThreeDRemnantsAlgorithm.cc.
References f, lar_content::LArClusterHelper::GetAverageZ(), lar_content::LArClusterHelper::GetClusterSpanX(), lar_content::ThreeDBaseAlgorithm< float >::m_overlapTensor, m_pseudoChi2Cut, m_xOverlapWindow, max, lar_content::LArGeometryHelper::MergeTwoPositions(), min, lar_content::OverlapTensor< T >::SetOverlapResult(), and w.
|
virtualinherited |
Create particles using findings from recent algorithm processing.
protoParticleVector | the proto particle vector |
whether | particles were created |
|
privatevirtual |
Examine contents of tensor, collect together best-matching 2D particles and modify clusters as required.
Implements lar_content::ThreeDBaseAlgorithm< float >.
Definition at line 105 of file ThreeDRemnantsAlgorithm.cc.
References m_algorithmToolVector, m_nMaxTensorToolRepeats, and lar_content::ThreeDBaseAlgorithm< float >::m_overlapTensor.
|
inherited |
Get the name of the u cluster list.
|
inherited |
Get the name of the v cluster list.
|
inherited |
Get the name of the w cluster list.
|
inherited |
Get the input u cluster list.
|
inherited |
Get the input v cluster list.
|
inherited |
Get the input w cluster list.
|
inherited |
Get the selected u cluster list.
|
inherited |
Get the selected v cluster list.
|
inherited |
Get the selected w cluster list.
|
virtualinherited |
Merge clusters together.
clusterMergeMap | the cluster merge map |
|
protectedvirtualinherited |
Main loop over cluster combinations in order to populate the tensor. Responsible for calling CalculateOverlapResult.
|
protectedvirtualinherited |
Perform any preparatory steps required, e.g. caching expensive fit results for clusters.
|
privatevirtual |
Reimplemented from lar_content::ThreeDBaseAlgorithm< float >.
Definition at line 127 of file ThreeDRemnantsAlgorithm.cc.
References m_algorithmToolVector, m_minClusterCaloHits, m_nMaxTensorToolRepeats, m_pseudoChi2Cut, m_xOverlapWindow, and lar_content::ThreeDBaseAlgorithm< T >::ReadSettings().
|
virtualinherited |
Update tensor to remove all elements that have been added to pfos and so are unavailable.
|
protectedvirtualinherited |
Select a subset of input clusters for processing in this algorithm.
|
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 |
Implements lar_content::ThreeDBaseAlgorithm< float >.
Definition at line 31 of file ThreeDRemnantsAlgorithm.cc.
References m_minClusterCaloHits.
|
virtual |
Calculate Pfo properties from proto particle.
protoParticle | the input proto particle |
pfoParameters | the output pfo parameters |
Implements lar_content::ThreeDBaseAlgorithm< float >.
Definition at line 49 of file ThreeDRemnantsAlgorithm.cc.
References f, lar_content::ProtoParticle::m_clusterListU, lar_content::ProtoParticle::m_clusterListV, and lar_content::ProtoParticle::m_clusterListW.
|
protectedvirtualinherited |
Tidy member variables in derived class.
|
virtualinherited |
Update to reflect addition of a new cluster to the problem space.
pNewCluster | address of the new cluster |
|
virtualinherited |
Update to reflect cluster deletion.
pDeletedCluster | address of the deleted cluster |
|
private |
The algorithm tool list.
Definition at line 46 of file ThreeDRemnantsAlgorithm.h.
Referenced by ExamineTensor(), and ReadSettings().
|
protectedinherited |
The selected modified cluster list U.
Definition at line 196 of file ThreeDBaseAlgorithm.h.
|
protectedinherited |
The selected modified cluster list V.
Definition at line 197 of file ThreeDBaseAlgorithm.h.
|
protectedinherited |
The selected modified cluster list W.
Definition at line 198 of file ThreeDBaseAlgorithm.h.
|
private |
The selection cut on the number of cluster calo hits.
Definition at line 49 of file ThreeDRemnantsAlgorithm.h.
Referenced by ReadSettings(), and SelectInputClusters().
|
private |
The maximum number of repeat loops over tensor tools.
Definition at line 48 of file ThreeDRemnantsAlgorithm.h.
Referenced by ExamineTensor(), and ReadSettings().
|
protectedinherited |
The overlap tensor.
Definition at line 200 of file ThreeDBaseAlgorithm.h.
Referenced by CalculateOverlapResult(), and ExamineTensor().
|
protectedinherited |
Address of the input cluster list U.
Definition at line 192 of file ThreeDBaseAlgorithm.h.
|
protectedinherited |
Address of the input cluster list V.
Definition at line 193 of file ThreeDBaseAlgorithm.h.
|
protectedinherited |
Address of the input cluster list W.
Definition at line 194 of file ThreeDBaseAlgorithm.h.
|
private |
The selection cut on the matched chi2.
Definition at line 51 of file ThreeDRemnantsAlgorithm.h.
Referenced by CalculateOverlapResult(), and ReadSettings().
|
private |
The sampling pitch in the x coordinate.
Definition at line 50 of file ThreeDRemnantsAlgorithm.h.
Referenced by CalculateOverlapResult(), and ReadSettings().