DeltaRayMergeTool class. More...
#include <DeltaRayMergeTool.h>
Public Member Functions | |
DeltaRayMergeTool () | |
Default constructor. More... | |
Private Member Functions | |
bool | Run (ThreeViewDeltaRayMatchingAlgorithm *const pAlgorithm, TensorType &overlapTensor) |
Run the algorithm tool. More... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
bool | ExamineConnectedElements (TensorType &overlapTensor) const |
Identify ambiguous matches (e.g. 3:2:1) and attempt to merge clusters together. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
bool | IsBrokenCluster (const pandora::Cluster *const pClusterToEnlarge, const pandora::Cluster *const pClusterToDelete) const |
Determine whether two delta ray clusters have been split. More... | |
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. More... | |
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. More... | |
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. More... | |
Private Attributes | |
float | m_maxDRSeparationFromTrack |
The maximum distance of a connected delta ray from a cosmic ray track. More... | |
float | m_maxClusterSeparation |
The maximum separation of two broken clusters that should be merged. More... | |
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. More... | |
float | m_maxGoodMatchReducedChiSquared |
The threshold reduced chi squared value for a potential two view merge to go ahead. More... | |
Additional Inherited Members | |
Public Types inherited from lar_content::DeltaRayTensorTool | |
typedef ThreeViewDeltaRayMatchingAlgorithm::MatchingType::TensorType | TensorType |
typedef std::vector< TensorType::ElementList::const_iterator > | IteratorList |
Public Attributes inherited from lar_content::DeltaRayTensorTool | |
ThreeViewDeltaRayMatchingAlgorithm * | m_pParentAlgorithm |
Address of the parent matching algorithm. More... | |
DeltaRayMergeTool class.
Definition at line 18 of file DeltaRayMergeTool.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.
|
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.
|
private |
Definition at line 353 of file DeltaRayMergeTool.cc.
|
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.
|
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.