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

OneViewDeltaRayMatchingAlgorithm class. More...

#include "OneViewDeltaRayMatchingAlgorithm.h"

Inheritance diagram for lar_content::OneViewDeltaRayMatchingAlgorithm:
Collaboration diagram for lar_content::OneViewDeltaRayMatchingAlgorithm:

Public Member Functions

 OneViewDeltaRayMatchingAlgorithm ()
 Default constructor.
 
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

pandora::StatusCode Run ()
 Run the algorithm.
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 Read the algorithm settings.
 
const pandora::ClusterList GetInputClusterList (const pandora::HitType hitType)
 Get the input cluster list of a given hit type.
 
const pandora::PfoList GetMuonPfoList ()
 Get the input cosmic ray pfo list.
 
const pandora::PfoList GetDeltaRayPfoList ()
 Get the input delta ray pfo list.
 
void PerformOneViewMatching (const pandora::HitType hitType)
 Use nearby muon pfos to project into other views and attempt to match the remaining delta ray clusters.
 
bool IsMuonPfo (const pandora::Cluster *const pCluster)
 Determine whether an input cluster belongs to a cosmic ray pfo.
 
bool AddIntoExistingDeltaRay (const pandora::Cluster *const pAvailableCluster, const pandora::PfoVector &nearbyMuonPfoVector)
 Use nearby muon pfos to project into other views and attempt to add a remaining delta ray cluster into an existing delta ray pfo.
 
const pandora::ClusterGetBestProjectedCluster (const pandora::ClusterList &deltaRayClusterGroup, const pandora::ParticleFlowObject *const pNearbyMuonPfo, const pandora::HitType hitType, const bool findAvailable)
 Get the best matched available or unavailable cluster of a remaining delta ray cluster group wrt a cosmic ray pfo.
 
bool IsDeltaRayPfo (const pandora::Cluster *const pCluster)
 Determine whether an input cluster belongs to a delta ray pfo.
 
void GetClusterSpanX (const pandora::ClusterList &clusterList, float &spanMinX, float &spanMaxX)
 Determine cluster span (in x) of a group of clusters.
 
void CreateDeltaRay (const pandora::Cluster *const pAvailableCluster, const pandora::PfoVector &nearbyMuonPfoVector, pandora::ClusterSet &modifiedClusters)
 Use nearby muon pfos to project into other views and attempt to match a remaining delta ray cluster to form a delta ray pfo.
 
void GetNearbyAvailableClusters (const pandora::Cluster *const pCluster, pandora::ClusterList &consideredClusters, pandora::ClusterList &foundClusters)
 In the view of the input available cluster, gather nearby available clusters.
 
const pandora::ClusterMergeClusterGroup (const pandora::ClusterList &clusterGroup)
 Merge a collection of available clusters together updating hit containers accordingly.
 
void CreatePfo (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2, const pandora::Cluster *const pCluster3)
 Create a pfo from the input clusters updating the cluster to pfo map accordingly.
 
void PerformRecovery (const pandora::HitType hitType)
 Create a delta ray pfo from any remaining, significant clusters.
 

Private Attributes

std::string m_muonPfoListName
 The list of reconstructed cosmic ray pfos.
 
std::string m_deltaRayPfoListName
 The list of reconstructed delta ray pfos.
 
std::string m_inputClusterListNameU
 The list of reconstructed U clusters.
 
std::string m_inputClusterListNameV
 The list of reconstructed V clusters.
 
std::string m_inputClusterListNameW
 The list of reconstructed W clusters.
 
std::string m_outputPfoListName
 The list to receive the created delta ray pfos.
 
DeltaRayMatchingContainers m_deltaRayMatchingContainers
 The class of hit, cluster and pfo ownership and proximity maps.
 
float m_overlapExtension
 The extension to each side of the x overlap region in which to search for matched clusters.
 
unsigned int m_minClusterHits
 The minimum number of hits for a cluster to be significant.
 

Detailed Description

Constructor & Destructor Documentation

◆ OneViewDeltaRayMatchingAlgorithm()

lar_content::OneViewDeltaRayMatchingAlgorithm::OneViewDeltaRayMatchingAlgorithm ( )

Default constructor.

Definition at line 23 of file OneViewDeltaRayMatchingAlgorithm.cc.

Member Function Documentation

◆ AddIntoExistingDeltaRay()

bool lar_content::OneViewDeltaRayMatchingAlgorithm::AddIntoExistingDeltaRay ( const pandora::Cluster *const  pAvailableCluster,
const pandora::PfoVector nearbyMuonPfoVector 
)
private

Use nearby muon pfos to project into other views and attempt to add a remaining delta ray cluster into an existing delta ray pfo.

Parameters
pAvailableClusterthe address of the delta ray cluster to add
nearbyMuonPfoVectorthe vector of nearby cosmic ray pfos
Returns
whether the input cluster was aded into an existing delta ray pfo

Definition at line 191 of file OneViewDeltaRayMatchingAlgorithm.cc.

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

◆ CreateDeltaRay()

void lar_content::OneViewDeltaRayMatchingAlgorithm::CreateDeltaRay ( const pandora::Cluster *const  pAvailableCluster,
const pandora::PfoVector nearbyMuonPfoVector,
pandora::ClusterSet modifiedClusters 
)
private

Use nearby muon pfos to project into other views and attempt to match a remaining delta ray cluster to form a delta ray pfo.

Parameters
pAvailableClusterthe address of the delta ray cluster to add
nearbyMuonPfoVectorthe vector of nearby cosmic ray pfos
modifiedClustersthe output list of any delta ray clusters in the view of pAvailableCluster made unavailable in this process

Definition at line 310 of file OneViewDeltaRayMatchingAlgorithm.cc.

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

◆ CreatePfo()

void lar_content::OneViewDeltaRayMatchingAlgorithm::CreatePfo ( const pandora::Cluster *const  pCluster1,
const pandora::Cluster *const  pCluster2,
const pandora::Cluster *const  pCluster3 
)
private

Create a pfo from the input clusters updating the cluster to pfo map accordingly.

Parameters
pCluster1the address of the first cluster
pCluster2the address of the second cluster
pCluster3the address of the third cluster

Definition at line 416 of file OneViewDeltaRayMatchingAlgorithm.cc.

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

◆ GetBestProjectedCluster()

const Cluster * lar_content::OneViewDeltaRayMatchingAlgorithm::GetBestProjectedCluster ( const pandora::ClusterList deltaRayClusterGroup,
const pandora::ParticleFlowObject *const  pNearbyMuonPfo,
const pandora::HitType  hitType,
const bool  findAvailable 
)
private

Get the best matched available or unavailable cluster of a remaining delta ray cluster group wrt a cosmic ray pfo.

Parameters
deltaRayClusterGroupthe input group of to be merged remaining delta ray clusters
pNearbyMuonPfothe address of the nearby cosmic ray pfo
hitTypethe hit type to project into
findAvailablewhether to search for available or unavailable delta ray clusters
Returns
whether the best matched cluster of the specified view

Definition at line 225 of file OneViewDeltaRayMatchingAlgorithm.cc.

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

◆ GetClusterSpanX()

void lar_content::OneViewDeltaRayMatchingAlgorithm::GetClusterSpanX ( const pandora::ClusterList clusterList,
float &  spanMinX,
float &  spanMaxX 
)
private

Determine cluster span (in x) of a group of clusters.

Parameters
clusterListthe input list of clusters
spanMinXthe output minimum x value
spanMaxXthe output maximum x value

Definition at line 290 of file OneViewDeltaRayMatchingAlgorithm.cc.

Here is the caller graph for this function:

◆ GetDeltaRayPfoList()

const PfoList lar_content::OneViewDeltaRayMatchingAlgorithm::GetDeltaRayPfoList ( )
private

Get the input delta ray pfo list.

Returns
the input delta ray pfo list

Definition at line 85 of file OneViewDeltaRayMatchingAlgorithm.cc.

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

◆ GetInputClusterList()

const ClusterList lar_content::OneViewDeltaRayMatchingAlgorithm::GetInputClusterList ( const pandora::HitType  hitType)
private

Get the input cluster list of a given hit type.

Parameters
hitTypethe hit type of list to retrieve
Returns
the input cluster list of the specified hit type

Definition at line 52 of file OneViewDeltaRayMatchingAlgorithm.cc.

Here is the call graph for this function:
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.

◆ GetMuonPfoList()

const PfoList lar_content::OneViewDeltaRayMatchingAlgorithm::GetMuonPfoList ( )
private

Get the input cosmic ray pfo list.

Returns
the input cosmic ray pfo list

Definition at line 70 of file OneViewDeltaRayMatchingAlgorithm.cc.

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

◆ GetNearbyAvailableClusters()

void lar_content::OneViewDeltaRayMatchingAlgorithm::GetNearbyAvailableClusters ( const pandora::Cluster *const  pCluster,
pandora::ClusterList consideredClusters,
pandora::ClusterList foundClusters 
)
private

In the view of the input available cluster, gather nearby available clusters.

Parameters
pClusterthe input available cluster
consideredClustersthe list of investigated clusters
foundClustersthe output list of nearby available clusters (including the available cluster)

Definition at line 349 of file OneViewDeltaRayMatchingAlgorithm.cc.

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

◆ 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:

◆ IsDeltaRayPfo()

bool lar_content::OneViewDeltaRayMatchingAlgorithm::IsDeltaRayPfo ( const pandora::Cluster *const  pCluster)
private

Determine whether an input cluster belongs to a delta ray pfo.

Parameters
pClusterthe address of the input cluster
Returns
whether the input cluster belongs to a delta ray pfo

Definition at line 272 of file OneViewDeltaRayMatchingAlgorithm.cc.

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

◆ IsMuonPfo()

bool lar_content::OneViewDeltaRayMatchingAlgorithm::IsMuonPfo ( const pandora::Cluster *const  pCluster)
private

Determine whether an input cluster belongs to a cosmic ray pfo.

Parameters
pClusterthe address of the input cluster
Returns
whether the input cluster belongs to a cosmic ray pfo

Definition at line 174 of file OneViewDeltaRayMatchingAlgorithm.cc.

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

◆ MergeClusterGroup()

const Cluster * lar_content::OneViewDeltaRayMatchingAlgorithm::MergeClusterGroup ( const pandora::ClusterList clusterGroup)
private

Merge a collection of available clusters together updating hit containers accordingly.

Parameters
clusterGroupthe input group of clusters to merge
themerged cluster

Definition at line 384 of file OneViewDeltaRayMatchingAlgorithm.cc.

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

◆ PerformOneViewMatching()

void lar_content::OneViewDeltaRayMatchingAlgorithm::PerformOneViewMatching ( const pandora::HitType  hitType)
private

Use nearby muon pfos to project into other views and attempt to match the remaining delta ray clusters.

Parameters
hitTypethe hit type of the input cluster and of the map to add to

Definition at line 100 of file OneViewDeltaRayMatchingAlgorithm.cc.

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

◆ PerformRecovery()

void lar_content::OneViewDeltaRayMatchingAlgorithm::PerformRecovery ( const pandora::HitType  hitType)
private

Create a delta ray pfo from any remaining, significant clusters.

Parameters
hitTypethe view to run in

Definition at line 452 of file OneViewDeltaRayMatchingAlgorithm.cc.

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

◆ ReadSettings()

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

Read the algorithm settings.

Parameters
xmlHandlethe relevant xml handle

Implements pandora::Process.

Definition at line 470 of file OneViewDeltaRayMatchingAlgorithm.cc.

Here is the call 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()

StatusCode lar_content::OneViewDeltaRayMatchingAlgorithm::Run ( )
privatevirtual

Run the algorithm.

Implements pandora::Algorithm.

Definition at line 29 of file OneViewDeltaRayMatchingAlgorithm.cc.

Here is the call graph for this function:

Member Data Documentation

◆ m_deltaRayMatchingContainers

DeltaRayMatchingContainers lar_content::OneViewDeltaRayMatchingAlgorithm::m_deltaRayMatchingContainers
private

The class of hit, cluster and pfo ownership and proximity maps.

Definition at line 164 of file OneViewDeltaRayMatchingAlgorithm.h.

◆ m_deltaRayPfoListName

std::string lar_content::OneViewDeltaRayMatchingAlgorithm::m_deltaRayPfoListName
private

The list of reconstructed delta ray pfos.

Definition at line 159 of file OneViewDeltaRayMatchingAlgorithm.h.

◆ m_inputClusterListNameU

std::string lar_content::OneViewDeltaRayMatchingAlgorithm::m_inputClusterListNameU
private

The list of reconstructed U clusters.

Definition at line 160 of file OneViewDeltaRayMatchingAlgorithm.h.

◆ m_inputClusterListNameV

std::string lar_content::OneViewDeltaRayMatchingAlgorithm::m_inputClusterListNameV
private

The list of reconstructed V clusters.

Definition at line 161 of file OneViewDeltaRayMatchingAlgorithm.h.

◆ m_inputClusterListNameW

std::string lar_content::OneViewDeltaRayMatchingAlgorithm::m_inputClusterListNameW
private

The list of reconstructed W clusters.

Definition at line 162 of file OneViewDeltaRayMatchingAlgorithm.h.

◆ m_instanceName

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

The process instance name.

Definition at line 89 of file Process.h.

◆ m_minClusterHits

unsigned int lar_content::OneViewDeltaRayMatchingAlgorithm::m_minClusterHits
private

The minimum number of hits for a cluster to be significant.

Definition at line 166 of file OneViewDeltaRayMatchingAlgorithm.h.

◆ m_muonPfoListName

std::string lar_content::OneViewDeltaRayMatchingAlgorithm::m_muonPfoListName
private

The list of reconstructed cosmic ray pfos.

Definition at line 158 of file OneViewDeltaRayMatchingAlgorithm.h.

◆ m_outputPfoListName

std::string lar_content::OneViewDeltaRayMatchingAlgorithm::m_outputPfoListName
private

The list to receive the created delta ray pfos.

Definition at line 163 of file OneViewDeltaRayMatchingAlgorithm.h.

◆ m_overlapExtension

float lar_content::OneViewDeltaRayMatchingAlgorithm::m_overlapExtension
private

The extension to each side of the x overlap region in which to search for matched clusters.

Definition at line 165 of file OneViewDeltaRayMatchingAlgorithm.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: