Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
lar_content::ClearTrackFragmentsTool Class Reference

ClearTrackFragmentsTool class. More...

#include "ClearTrackFragmentsTool.h"

Inheritance diagram for lar_content::ClearTrackFragmentsTool:
Collaboration diagram for lar_content::ClearTrackFragmentsTool:

Public Types

typedef ThreeViewTrackFragmentsAlgorithm::MatchingType::TensorType TensorType
 
typedef std::vector< TensorType::ElementList::const_iterator > IteratorList
 

Public Member Functions

 ClearTrackFragmentsTool ()
 Default constructor.
 
bool Run (ThreeViewTrackFragmentsAlgorithm *const pAlgorithm, TensorType &overlapTensor)
 Run the algorithm tool.
 
const std::string & GetType () const
 Get the type.
 
const std::string & GetInstanceName () const
 Get the instance name.
 
const PandoraGetPandora () 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 Pandoram_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 Member Functions

bool FindTrackFragments (ThreeViewTrackFragmentsAlgorithm *const pAlgorithm, const TensorType &overlapTensor) const
 Find suitable matching track fragments in the overlap tensor to use for 3D particle creation, return value indicates whether particles are made.
 
bool GetAndCheckElementList (const TensorType &overlapTensor, const pandora::Cluster *const pCluster, TensorType::ElementList &elementList) const
 Get the list of elements connected to a given cluster and check its suitability (no ambiguities)
 
bool CheckOverlapResult (const TensorType::OverlapResult &overlapResult) const
 Check whether the overlap result passes matched sampling point and number of matched hit checks.
 
void SelectClearElements (const TensorType::ElementList &elementList, IteratorList &iteratorList) const
 Select a list of clear track-like elements from a set of connected tensor elements.
 
void ProcessTensorElement (ThreeViewTrackFragmentsAlgorithm *const pAlgorithm, const TensorType &overlapTensor, const TensorType::OverlapResult &overlapResult, const pandora::Cluster *&pFragmentCluster) const
 Process a tensor element, reclustering the fragments as required.
 
void Recluster (ThreeViewTrackFragmentsAlgorithm *const pAlgorithm, const pandora::Cluster *const pCluster, const pandora::CaloHitList &daughterHits, const pandora::CaloHitList &separateHits, pandora::ClusterSet &deletedClusters, pandora::ClusterSet &badClusters, const pandora::Cluster *&pFragmentCluster) const
 Rearrange the hits in a cluster from the fragment list, using the Pandora fragmentation mechanism.
 
void RebuildClusters (ThreeViewTrackFragmentsAlgorithm *const pAlgorithm, const pandora::ClusterList &modifiedClusters, pandora::ClusterList &newClusters) const
 Rebuild clusters after fragmentation.
 
void GetAffectedKeyClusters (const TensorType &overlapTensor, const pandora::ClusterList &clustersToRemoveFromTensor, pandora::ClusterList &affectedKeyClusters) const
 Get a list of the tensor key clusters for which tensor elements have been impacted by fragmentation operations.
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 Read the algorithm settings.
 

Private Attributes

float m_minMatchedSamplingPointFraction
 The minimum fraction of matched sampling points.
 
unsigned int m_minMatchedHits
 The minimum number of matched calo hits.
 

Detailed Description

ClearTrackFragmentsTool class.

Definition at line 19 of file ClearTrackFragmentsTool.h.

Member Typedef Documentation

◆ IteratorList

typedef std::vector<TensorType::ElementList::const_iterator> lar_content::FragmentTensorTool::IteratorList
inherited

Definition at line 167 of file ThreeViewTrackFragmentsAlgorithm.h.

◆ TensorType

typedef ThreeViewTrackFragmentsAlgorithm::MatchingType::TensorType lar_content::FragmentTensorTool::TensorType
inherited

Definition at line 166 of file ThreeViewTrackFragmentsAlgorithm.h.

Constructor & Destructor Documentation

◆ ClearTrackFragmentsTool()

lar_content::ClearTrackFragmentsTool::ClearTrackFragmentsTool ( )

Default constructor.

Definition at line 20 of file ClearTrackFragmentsTool.cc.

Member Function Documentation

◆ CheckOverlapResult()

bool lar_content::ClearTrackFragmentsTool::CheckOverlapResult ( const TensorType::OverlapResult &  overlapResult) const
private

Check whether the overlap result passes matched sampling point and number of matched hit checks.

Parameters
overlapResultthe overlap result
Returns
boolean

Definition at line 136 of file ClearTrackFragmentsTool.cc.

Here is the caller graph for this function:

◆ FindTrackFragments()

bool lar_content::ClearTrackFragmentsTool::FindTrackFragments ( ThreeViewTrackFragmentsAlgorithm *const  pAlgorithm,
const TensorType overlapTensor 
) const
private

Find suitable matching track fragments in the overlap tensor to use for 3D particle creation, return value indicates whether particles are made.

Parameters
pAlgorithmaddress of the calling algorithm
overlapTensorthe overlap tensor
Returns
boolean

Definition at line 36 of file ClearTrackFragmentsTool.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetAffectedKeyClusters()

void lar_content::ClearTrackFragmentsTool::GetAffectedKeyClusters ( const TensorType overlapTensor,
const pandora::ClusterList clustersToRemoveFromTensor,
pandora::ClusterList affectedKeyClusters 
) const
private

Get a list of the tensor key clusters for which tensor elements have been impacted by fragmentation operations.

Parameters
overlapTensorthe overlap tensor
clustersToRemoveFromTensorthe list of clusters removed from the tensor by fragmentation operations
affectedKeyClustersto receive the list of tensor key clusters that have been affected by fragmentation operations

Definition at line 365 of file ClearTrackFragmentsTool.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetAndCheckElementList()

bool lar_content::ClearTrackFragmentsTool::GetAndCheckElementList ( const TensorType overlapTensor,
const pandora::Cluster *const  pCluster,
TensorType::ElementList &  elementList 
) const
private

Get the list of elements connected to a given cluster and check its suitability (no ambiguities)

Parameters
overlapTensorthe overlap tensor
pClusteraddress of the key cluster
elementListto receive the element list
Returns
boolean

Definition at line 109 of file ClearTrackFragmentsTool.cc.

Here is the caller graph for this function:

◆ GetInstanceName()

const std::string & pandora::Process::GetInstanceName ( ) const
inlineinherited

Get the instance name.

Returns
The instance name

Definition at line 109 of file Process.h.

◆ GetPandora()

const Pandora & pandora::Process::GetPandora ( ) const
inlineinherited

Get the associated pandora instance.

Returns
the associated pandora instance

Definition at line 116 of file Process.h.

◆ GetType()

const std::string & pandora::Process::GetType ( ) const
inlineinherited

Get the type.

Returns
The type

Definition at line 102 of file Process.h.

◆ Initialize()

StatusCode pandora::Process::Initialize ( )
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.

Here is the caller graph for this function:

◆ ProcessTensorElement()

void lar_content::ClearTrackFragmentsTool::ProcessTensorElement ( ThreeViewTrackFragmentsAlgorithm *const  pAlgorithm,
const TensorType overlapTensor,
const TensorType::OverlapResult &  overlapResult,
const pandora::Cluster *&  pFragmentCluster 
) const
private

Process a tensor element, reclustering the fragments as required.

Parameters
pAlgorithmaddress of the calling algorithm
overlapTensorthe overlap tensor
overlapResultthe overlap result
pFragmentClusterto receive the address of the new fragment cluster

Definition at line 204 of file ClearTrackFragmentsTool.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadSettings()

StatusCode lar_content::ClearTrackFragmentsTool::ReadSettings ( const pandora::TiXmlHandle  xmlHandle)
privatevirtual

Read the algorithm settings.

Parameters
xmlHandlethe relevant xml handle

Implements pandora::Process.

Definition at line 406 of file ClearTrackFragmentsTool.cc.

Here is the call graph for this function:

◆ RebuildClusters()

void lar_content::ClearTrackFragmentsTool::RebuildClusters ( ThreeViewTrackFragmentsAlgorithm *const  pAlgorithm,
const pandora::ClusterList modifiedClusters,
pandora::ClusterList newClusters 
) const
private

Rebuild clusters after fragmentation.

Parameters
pAlgorithmaddress of the calling algorithm
modifiedClustersthe list of clusters to rebuild
newClustersthe list of new clusters

Definition at line 348 of file ClearTrackFragmentsTool.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Recluster()

void lar_content::ClearTrackFragmentsTool::Recluster ( ThreeViewTrackFragmentsAlgorithm *const  pAlgorithm,
const pandora::Cluster *const  pCluster,
const pandora::CaloHitList daughterHits,
const pandora::CaloHitList separateHits,
pandora::ClusterSet deletedClusters,
pandora::ClusterSet badClusters,
const pandora::Cluster *&  pFragmentCluster 
) const
private

Rearrange the hits in a cluster from the fragment list, using the Pandora fragmentation mechanism.

Parameters
pAlgorithmaddress of the calling algorithm
pClusteraddress of the input cluster
daughterHitsthe full list of hits to place in the new fragment cluster
separateHitsthe full list of hits that are not to be placed in the new fragment cluster
deletedClustersto receive the set of deleted clusters
badClustersthe set of clusters that should not be dereferenced
pFragmentClusterto receive the address of the new fragment cluster

Definition at line 299 of file ClearTrackFragmentsTool.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RegisterDetails()

StatusCode pandora::Process::RegisterDetails ( const Pandora *const  pPandora,
const std::string &  type,
const std::string &  instanceName 
)
inlineprotectedinherited

Register i) the pandora instance that will run the process and ii) the process type.

Parameters
pPandoraaddress of the pandora object that will run the process
typethe process type
instanceNamethe process instance name

Definition at line 146 of file Process.h.

Here is the caller graph for this function:

◆ Reset()

StatusCode pandora::Process::Reset ( )
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.

Here is the caller graph for this function:

◆ Run()

bool lar_content::ClearTrackFragmentsTool::Run ( ThreeViewTrackFragmentsAlgorithm *const  pAlgorithm,
TensorType overlapTensor 
)
virtual

Run the algorithm tool.

Parameters
pAlgorithmaddress of the calling algorithm
overlapTensorthe overlap tensor
Returns
whether changes have been made by the tool

Implements lar_content::FragmentTensorTool.

Definition at line 26 of file ClearTrackFragmentsTool.cc.

Here is the call graph for this function:

◆ SelectClearElements()

void lar_content::ClearTrackFragmentsTool::SelectClearElements ( const TensorType::ElementList &  elementList,
IteratorList iteratorList 
) const
private

Select a list of clear track-like elements from a set of connected tensor elements.

Parameters
elementListthe full list of connected tensor elements
iteratorListto receive a list of iterators to long track-like elements

Definition at line 150 of file ClearTrackFragmentsTool.cc.

Here is the caller graph for this function:

Member Data Documentation

◆ m_instanceName

std::string pandora::Process::m_instanceName
protectedinherited

The process instance name.

Definition at line 89 of file Process.h.

◆ m_minMatchedHits

unsigned int lar_content::ClearTrackFragmentsTool::m_minMatchedHits
private

The minimum number of matched calo hits.

Definition at line 118 of file ClearTrackFragmentsTool.h.

◆ m_minMatchedSamplingPointFraction

float lar_content::ClearTrackFragmentsTool::m_minMatchedSamplingPointFraction
private

The minimum fraction of matched sampling points.

Definition at line 117 of file ClearTrackFragmentsTool.h.

◆ m_pPandora

const Pandora* pandora::Process::m_pPandora
protectedinherited

The pandora object that will run the process.

Definition at line 87 of file Process.h.

◆ m_type

std::string pandora::Process::m_type
protectedinherited

The process type.

Definition at line 88 of file Process.h.


The documentation for this class was generated from the following files: