LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
DeltaRayParentAlgorithm class. More...
#include "DeltaRayParentAlgorithm.h"
Public Types | |
typedef std::map< const pandora::ParticleFlowObject *, float > | PfoLengthMap |
Public Member Functions | |
DeltaRayParentAlgorithm () | |
Default constructor. More... | |
pandora::StatusCode | Run () |
Private Member Functions | |
void | InitialisePfoLengthMap (const pandora::PfoList *const muonPfoList, const pandora::PfoList *const deltaRayPfoList, PfoLengthMap &pfoLengthMap) const |
Initialise the delta ray pfo length map. More... | |
void | FindParentPfo (const PfoLengthMap &pfoLengthMap, const pandora::ParticleFlowObject *const pPfo, const pandora::ParticleFlowObject *&pParentPfo) const |
Identify the parent pfo of a given delta ray pfo (can be either a cosmic ray or delta ray pfo) More... | |
pandora::StatusCode | GetTwoDSeparation (const pandora::ParticleFlowObject *const pPfo1, const pandora::ParticleFlowObject *const pPfo2, float &separation) const |
Get distance between two Pfos using 2D clusters. More... | |
void | AssignToParentPfo (const pandora::PfoList *const muonPfoList, const pandora::PfoList *const deltaRayPfoList, const pandora::ParticleFlowObject *const pPfo, const pandora::ParticleFlowObject *const pParentPfo, PfoLengthMap &pfoLengthMap) const |
Apply parent-child link (if parent is a cosmic ray create parent-child link else merge the delta ray cluster into parent delta ray pfo) More... | |
void | UpdatePfoLengthMap (const pandora::PfoList &pfosToRemove, const pandora::ParticleFlowObject *const pPfoToAdd, PfoLengthMap &pfoLengthMap) const |
Update the pfo length map after a parent-child delta ray merge. More... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Private Attributes | |
std::string | m_muonPfoListName |
The list of reconstructed muon pfos. More... | |
std::string | m_deltaRayPfoListName |
The list of reconstructed delta ray pfos. More... | |
float | m_distanceForMatching |
The maximum separation of a delta ray pfo from its parent. More... | |
DeltaRayParentAlgorithm class.
Definition at line 19 of file DeltaRayParentAlgorithm.h.
typedef std::map<const pandora::ParticleFlowObject *, float> lar_content::DeltaRayParentAlgorithm::PfoLengthMap |
Definition at line 22 of file DeltaRayParentAlgorithm.h.
lar_content::DeltaRayParentAlgorithm::DeltaRayParentAlgorithm | ( | ) |
Default constructor.
Definition at line 21 of file DeltaRayParentAlgorithm.cc.
|
private |
Apply parent-child link (if parent is a cosmic ray create parent-child link else merge the delta ray cluster into parent delta ray pfo)
muonPfoList | the list of all cosmic ray pfos |
deltaRayPfoList | the list of all delta ray pfos |
pPfo | the address of the input delta ray pfo |
pParentPfo | the address of the parent pfo |
pfoLengthMap | the mapping of pfos to their 2D length |
Definition at line 166 of file DeltaRayParentAlgorithm.cc.
References lar_content::LArPfoHelper::GetTwoDClusterList(), m_deltaRayPfoListName, and UpdatePfoLengthMap().
Referenced by Run().
|
private |
Identify the parent pfo of a given delta ray pfo (can be either a cosmic ray or delta ray pfo)
pfoLengthMap | the mapping of pfos to their 2D length |
pPfo | the address of the input delta ray pfo |
pParentPfo | the output address of the parent pfo |
Definition at line 80 of file DeltaRayParentAlgorithm.cc.
References GetTwoDSeparation(), and m_distanceForMatching.
Referenced by Run().
|
private |
Get distance between two Pfos using 2D clusters.
pPfo | the address of the first Pfo |
pPfo | the address of the second Pfo |
to | recieve the output pfo separation |
Definition at line 123 of file DeltaRayParentAlgorithm.cc.
References f, lar_content::LArClusterHelper::GetClosestDistance(), and lar_content::LArPfoHelper::GetClusters().
Referenced by FindParentPfo().
|
private |
Initialise the delta ray pfo length map.
muonPfoList | the list of all cosmic ray pfos |
deltaRayPfoList | the list of all delta ray pfos |
pfoLengthMap | the output mapping of pfos to their 2D length |
Definition at line 69 of file DeltaRayParentAlgorithm.cc.
References lar_content::LArPfoHelper::GetTwoDLengthSquared().
Referenced by Run().
|
private |
Definition at line 205 of file DeltaRayParentAlgorithm.cc.
References m_deltaRayPfoListName, m_distanceForMatching, and m_muonPfoListName.
StatusCode lar_content::DeltaRayParentAlgorithm::Run | ( | ) |
Definition at line 28 of file DeltaRayParentAlgorithm.cc.
References AssignToParentPfo(), FindParentPfo(), InitialisePfoLengthMap(), m_deltaRayPfoListName, m_muonPfoListName, and lar_content::LArPfoHelper::SortByNHits().
|
private |
Update the pfo length map after a parent-child delta ray merge.
pfosToRemove | the list of pfos to remove from the map |
pPfoToAdd | the address of the pfo to add to the map |
pfoLengthMap | the mapping of pfos to their 2D length |
Definition at line 188 of file DeltaRayParentAlgorithm.cc.
References lar_content::LArPfoHelper::GetTwoDLengthSquared().
Referenced by AssignToParentPfo().
|
private |
The list of reconstructed delta ray pfos.
Definition at line 86 of file DeltaRayParentAlgorithm.h.
Referenced by AssignToParentPfo(), ReadSettings(), and Run().
|
private |
The maximum separation of a delta ray pfo from its parent.
Definition at line 87 of file DeltaRayParentAlgorithm.h.
Referenced by FindParentPfo(), and ReadSettings().
|
private |
The list of reconstructed muon pfos.
Definition at line 85 of file DeltaRayParentAlgorithm.h.
Referenced by ReadSettings(), and Run().