LArSoft
v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
|
DeltaRayIdentificationAlgorithm class. More...
#include "DeltaRayIdentificationAlgorithm.h"
Public Member Functions | |
DeltaRayIdentificationAlgorithm () | |
Default constructor. More... | |
Private Types | |
typedef std::unordered_map< const pandora::ParticleFlowObject *, const pandora::ParticleFlowObject * > | PfoAssociationMap |
Private Member Functions | |
pandora::StatusCode | Run () |
void | GetPfos (const std::string &inputPfoListName, pandora::PfoVector &outputPfoVector) const |
Get the vector of Pfos, given the input list name. More... | |
void | BuildAssociationMap (const pandora::PfoVector &inputPfos, const pandora::PfoVector &outputPfos, PfoAssociationMap &pfoAssociationMap) const |
Build parent/daughter associations between PFOs. More... | |
bool | IsAssociated (const pandora::ParticleFlowObject *const pDaughterPfo, const pandora::ParticleFlowObject *const pParentPfo, float &displacement) const |
Determine if a given pair of Pfos have a parent/daughter association. More... | |
float | GetTwoDSeparation (const pandora::ParticleFlowObject *const pDaughterPfo, const pandora::ParticleFlowObject *const pParentPfo) const |
Calculate 2D separation between two Pfos. More... | |
void | GetTwoDVertices (const pandora::ParticleFlowObject *const pPfo, const pandora::HitType &hitType, pandora::CartesianPointVector &vertexVector) const |
Calculate 2D separation between two Pfos. More... | |
float | GetClosestDistance (const pandora::CartesianPointVector &vertexVector, const pandora::ClusterList &clusterList) const |
Calculate closest 2D separation between a set of vertices and a set of clusters. More... | |
void | BuildParentDaughterLinks (const PfoAssociationMap &pfoAssociationMap, pandora::PfoList &outputPfoList) const |
Build the parent/daughter links from the map of parent/daughter associations. More... | |
const pandora::ParticleFlowObject * | GetParent (const PfoAssociationMap &pfoAssociationMap, const pandora::ParticleFlowObject *const pPfo) const |
For a given daughter, follow the parent/daughter links to find the overall parent. More... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Private Attributes | |
std::string | m_parentPfoListName |
The parent pfo list name. More... | |
std::string | m_daughterPfoListName |
The daughter pfo list name. More... | |
float | m_distanceForMatching |
Maximum allowed distance of delta ray from parent cosmic ray. More... | |
float | m_minParentLengthSquared |
Minimum allowed length of parent cosmic ray. More... | |
float | m_maxDaughterLengthSquared |
Maximum allowed length of daughter delta ray. More... | |
DeltaRayIdentificationAlgorithm class.
Definition at line 21 of file DeltaRayIdentificationAlgorithm.h.
|
private |
Definition at line 32 of file DeltaRayIdentificationAlgorithm.h.
lar_content::DeltaRayIdentificationAlgorithm::DeltaRayIdentificationAlgorithm | ( | ) |
Default constructor.
Definition at line 21 of file DeltaRayIdentificationAlgorithm.cc.
|
private |
Build parent/daughter associations between PFOs.
inputPfos | the input vector of current parent Pfos |
outputPfos | the input vector of current daughter Pfos |
pfoAssociationMap | the output map of parent/daughter associations |
Definition at line 77 of file DeltaRayIdentificationAlgorithm.cc.
References IsAssociated(), and max.
Referenced by Run().
|
private |
Build the parent/daughter links from the map of parent/daughter associations.
pfoAssociationMap | the map of parent/daughter associations |
outputPfoList | the output list of daughter Pfos |
Definition at line 277 of file DeltaRayIdentificationAlgorithm.cc.
References GetParent(), lar_content::LArPfoHelper::IsTrack(), and lar_content::LArPfoHelper::SortByNHits().
Referenced by Run().
|
private |
Calculate closest 2D separation between a set of vertices and a set of clusters.
vertexVector | the vector of possible vertex positions |
clusterList | the list of clusters |
Definition at line 251 of file DeltaRayIdentificationAlgorithm.cc.
References lar_content::LArClusterHelper::GetClosestDistance(), and max.
Referenced by GetTwoDSeparation().
|
private |
For a given daughter, follow the parent/daughter links to find the overall parent.
pfoAssociationMap | the map of parent/daughter associations |
pPfo | the daughter Pfo |
Definition at line 305 of file DeltaRayIdentificationAlgorithm.cc.
Referenced by BuildParentDaughterLinks().
|
private |
Get the vector of Pfos, given the input list name.
inputPfoListName | the input Pfo list name |
outputPfoVector | the output vector of Pfos |
Definition at line 62 of file DeltaRayIdentificationAlgorithm.cc.
References lar_content::LArPfoHelper::SortByNHits().
Referenced by Run().
|
private |
Calculate 2D separation between two Pfos.
pDaughterPfo | the input daughter Pfo |
pParentPfo | the input parent Pfo |
Definition at line 188 of file DeltaRayIdentificationAlgorithm.cc.
References f, GetClosestDistance(), lar_content::LArPfoHelper::GetClusters(), and GetTwoDVertices().
Referenced by IsAssociated().
|
private |
Calculate 2D separation between two Pfos.
pPfo | the input daughter Pfo |
hitType | the hit type |
vertexVector | the vector of possible vertex positions |
Definition at line 232 of file DeltaRayIdentificationAlgorithm.cc.
References f, lar_content::LArPfoHelper::GetClusters(), and lar_content::LArClusterHelper::GetExtremalCoordinates().
Referenced by GetTwoDSeparation().
|
private |
Determine if a given pair of Pfos have a parent/daughter association.
pDaughterPfo | the input daughter Pfo |
pParentPfo | the input parent Pfo |
displacement | the average displacement between parent and daughter |
Definition at line 151 of file DeltaRayIdentificationAlgorithm.cc.
References f, lar_content::LArPfoHelper::GetTwoDLengthSquared(), GetTwoDSeparation(), m_distanceForMatching, m_maxDaughterLengthSquared, m_minParentLengthSquared, and max.
Referenced by BuildAssociationMap().
|
private |
Definition at line 326 of file DeltaRayIdentificationAlgorithm.cc.
References m_daughterPfoListName, m_distanceForMatching, m_maxDaughterLengthSquared, m_minParentLengthSquared, and m_parentPfoListName.
|
private |
Definition at line 30 of file DeltaRayIdentificationAlgorithm.cc.
References BuildAssociationMap(), BuildParentDaughterLinks(), GetPfos(), m_daughterPfoListName, and m_parentPfoListName.
|
private |
The daughter pfo list name.
Definition at line 113 of file DeltaRayIdentificationAlgorithm.h.
Referenced by ReadSettings(), and Run().
|
private |
Maximum allowed distance of delta ray from parent cosmic ray.
Definition at line 115 of file DeltaRayIdentificationAlgorithm.h.
Referenced by IsAssociated(), and ReadSettings().
|
private |
Maximum allowed length of daughter delta ray.
Definition at line 117 of file DeltaRayIdentificationAlgorithm.h.
Referenced by IsAssociated(), and ReadSettings().
|
private |
Minimum allowed length of parent cosmic ray.
Definition at line 116 of file DeltaRayIdentificationAlgorithm.h.
Referenced by IsAssociated(), and ReadSettings().
|
private |
The parent pfo list name.
Definition at line 112 of file DeltaRayIdentificationAlgorithm.h.
Referenced by ReadSettings(), and Run().