Pandora
Pandora source code navigator
|
DeltaRayMergeTool class. More...
#include "DeltaRayMergeTool.h"
Public Types | |
typedef ThreeViewDeltaRayMatchingAlgorithm::MatchingType::TensorType | TensorType |
typedef std::vector< TensorType::ElementList::const_iterator > | IteratorList |
Public Member Functions | |
DeltaRayMergeTool () | |
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. | |
Public Attributes | |
ThreeViewDeltaRayMatchingAlgorithm * | m_pParentAlgorithm |
Address of the parent matching algorithm. | |
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 Member Functions | |
bool | Run (ThreeViewDeltaRayMatchingAlgorithm *const pAlgorithm, TensorType &overlapTensor) |
Run the algorithm tool. | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Read the algorithm settings. | |
bool | ExamineConnectedElements (TensorType &overlapTensor) const |
Identify ambiguous matches (e.g. 3:2:1) and attempt to merge clusters together. | |
bool | MakeTwoCommonViewMerges (const TensorType::ElementList &elementList) const |
Search for two matches with two common clusters and attempt to merge the clusters in the third view together. | |
void | CombineCommonMuonPfoLists (const pandora::PfoList &commonMuonPfoList1, const pandora::PfoList &commonMuonPfoList2, pandora::PfoList &commonMuonPfoList) const |
Create a list of the shared common muon pfos of two elements. | |
bool | AreAssociated (const TensorType::Element &element1, const TensorType::Element &element2, const pandora::HitType &mergeHitType) const |
Determine, from a topological point of view, whether two delta ray clusters should be merged together. | |
void | GetConnectedMuons (const pandora::Cluster *const pDeltaRayCluster, const pandora::PfoList &commonMuonPfoList, pandora::PfoList &connectedMuonPfoList) const |
Return the list of muon pfos that a specified delta ray cluster is directly connected to. | |
bool | IsConnected (const pandora::Cluster *const pCluster, const pandora::Pfo *const pCommonMuonPfo) const |
Determine whether a given cluster is connected to a cosmic ray pfo. | |
bool | IsBrokenCluster (const pandora::Cluster *const pClusterToEnlarge, const pandora::Cluster *const pClusterToDelete) const |
Determine whether two delta ray clusters have been split. | |
bool | IsHiddenByTrack (const pandora::ParticleFlowObject *const pMuonPfo, const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2) const |
Determine whether two delta ray clusters are actually a single cluster that is hidden behind a cosmic ray track. | |
void | FindVertices (const pandora::Pfo *const pCommonMuonPfo, const pandora::Cluster *const pCluster, pandora::CaloHitList &vertexList) const |
Find all connection points of a delta ray cluster and a cosmic ray pfo. | |
bool | MakeOneCommonViewMerges (const TensorType::ElementList &elementList) const |
Search for two matches with a single common cluster and attempt to merge the clusters in the other two views together. | |
Private Attributes | |
float | m_maxDRSeparationFromTrack |
The maximum distance of a connected delta ray from a cosmic ray track. | |
float | m_maxClusterSeparation |
The maximum separation of two broken clusters that should be merged. | |
float | m_maxVertexSeparation |
The maximum separation of the connection points of two delta ray clusters that are hidden by a CR track and should be merged. | |
float | m_maxGoodMatchReducedChiSquared |
The threshold reduced chi squared value for a potential two view merge to go ahead. | |
DeltaRayMergeTool class.
Definition at line 18 of file DeltaRayMergeTool.h.
|
inherited |
Definition at line 102 of file ThreeViewDeltaRayMatchingAlgorithm.h.
|
inherited |
Definition at line 101 of file ThreeViewDeltaRayMatchingAlgorithm.h.
lar_content::DeltaRayMergeTool::DeltaRayMergeTool | ( | ) |
Default constructor.
Definition at line 22 of file DeltaRayMergeTool.cc.
|
private |
Determine, from a topological point of view, whether two delta ray clusters should be merged together.
element1 | the first tensor element |
element2 | the second tensor element |
mergeHitType | the hit type of the view in which to assess the merge |
Definition at line 145 of file DeltaRayMergeTool.cc.
|
private |
Create a list of the shared common muon pfos of two elements.
commonMuonPfoList1 | the common muon pfo list of the first element |
commonMuonPfoList2 | the common muon pfo list of the second element |
commonMuonPfoList | the output common muon pfo list |
Definition at line 180 of file DeltaRayMergeTool.cc.
|
private |
Identify ambiguous matches (e.g. 3:2:1) and attempt to merge clusters together.
overlapTensor | the overlap tensor |
Definition at line 44 of file DeltaRayMergeTool.cc.
|
private |
Find all connection points of a delta ray cluster and a cosmic ray pfo.
pCommonMuonPfo | the address of the cosmic ray pfo |
pCluster | the address of the delta ray cluster |
vertexList | the output list of connection points |
Definition at line 253 of file DeltaRayMergeTool.cc.
|
private |
Return the list of muon pfos that a specified delta ray cluster is directly connected to.
pDeltaRayCluster | the address of the input delta ray cluster |
commonMuonPfoList | the common muon pfo list of the element to which the DR cluster belongs |
connectedMuonPfoList | the output list of connected muon pfos |
Definition at line 194 of file DeltaRayMergeTool.cc.
|
inlineinherited |
|
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 |
Determine whether two delta ray clusters have been split.
pClusterToEnlarge | the address of one delta ray cluster |
pClusterToDelete | the address of the other delta ray cluster |
Definition at line 222 of file DeltaRayMergeTool.cc.
|
private |
Determine whether a given cluster is connected to a cosmic ray pfo.
pCluster | the address of the input cluster |
pCommonMuonPfo | the address of the cosmic ray pfo |
Definition at line 205 of file DeltaRayMergeTool.cc.
|
private |
Determine whether two delta ray clusters are actually a single cluster that is hidden behind a cosmic ray track.
pMuonPfo | the address of the cosmic ray pfo |
pCluster1 | the address of one delta ray cluster |
pCluster2 | the address of the other delta ray cluster |
Definition at line 231 of file DeltaRayMergeTool.cc.
|
private |
Search for two matches with a single common cluster and attempt to merge the clusters in the other two views together.
elementList | the tensor element list |
Definition at line 275 of file DeltaRayMergeTool.cc.
|
private |
Search for two matches with two common clusters and attempt to merge the clusters in the third view together.
elementList | the tensor element list |
Definition at line 93 of file DeltaRayMergeTool.cc.
|
privatevirtual |
Read the algorithm settings.
xmlHandle | the relevant xml handle |
Implements pandora::Process.
Definition at line 353 of file DeltaRayMergeTool.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 tool.
pAlgorithm | address of the calling algorithm |
overlapTensor | the overlap tensor |
Implements lar_content::DeltaRayTensorTool.
Definition at line 32 of file DeltaRayMergeTool.cc.
|
protectedinherited |
|
private |
The maximum separation of two broken clusters that should be merged.
Definition at line 130 of file DeltaRayMergeTool.h.
|
private |
The maximum distance of a connected delta ray from a cosmic ray track.
Definition at line 129 of file DeltaRayMergeTool.h.
|
private |
The threshold reduced chi squared value for a potential two view merge to go ahead.
Definition at line 132 of file DeltaRayMergeTool.h.
|
private |
The maximum separation of the connection points of two delta ray clusters that are hidden by a CR track and should be merged.
Definition at line 131 of file DeltaRayMergeTool.h.
|
protectedinherited |
|
inherited |
Address of the parent matching algorithm.
Definition at line 114 of file ThreeViewDeltaRayMatchingAlgorithm.h.
|
protectedinherited |