![]() |
LArSoft
v10_06_00
Liquid Argon Software toolkit - https://larsoft.org/
|
TrackClusterCreationAlgorithm class. More...
#include "TrackClusterCreationAlgorithm.h"
Classes | |
| class | HitAssociation |
| HitAssociation class. More... | |
Public Member Functions | |
| TrackClusterCreationAlgorithm () | |
| Default constructor. More... | |
Private Types | |
| typedef std::unordered_map< const pandora::CaloHit *, HitAssociation > | HitAssociationMap |
| typedef std::unordered_map< const pandora::CaloHit *, const pandora::CaloHit * > | HitJoinMap |
| typedef std::unordered_map< const pandora::CaloHit *, const pandora::Cluster * > | HitToClusterMap |
Private Member Functions | |
| pandora::StatusCode | Run () |
| pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
| pandora::StatusCode | FilterCaloHits (const pandora::CaloHitList *const pCaloHitList, pandora::OrderedCaloHitList &selectedCaloHitList, pandora::OrderedCaloHitList &rejectedCaloHitList) const |
| Filter out low pulse height hits in close proximity to high pulse height hits. More... | |
| pandora::StatusCode | AddFilteredCaloHits (const pandora::OrderedCaloHitList &selectedCaloHitList, const pandora::OrderedCaloHitList &rejectedCaloHitList, HitToClusterMap &hitToClusterMap) const |
| Merge previously filtered hits back into their associated clusters. More... | |
| void | MakePrimaryAssociations (const pandora::OrderedCaloHitList &orderedCaloHitList, HitAssociationMap &forwardHitAssociationMap, HitAssociationMap &backwardHitAssociationMap) const |
| Control primary association formation. More... | |
| void | MakeSecondaryAssociations (const pandora::OrderedCaloHitList &orderedCaloHitList, HitAssociationMap &forwardHitAssociationMap, HitAssociationMap &backwardHitAssociationMap) const |
| Control secondary association formation. More... | |
| void | IdentifyJoins (const pandora::OrderedCaloHitList &orderedCaloHitList, const HitAssociationMap &forwardHitAssociationMap, const HitAssociationMap &backwardHitAssociationMap, HitJoinMap &hitJoinMap) const |
| Identify final hit joins for use in cluster formation. More... | |
| void | CreateClusters (const pandora::OrderedCaloHitList &orderedCaloHitList, const HitJoinMap &hitJoinMap, HitToClusterMap &hitToClusterMap) const |
| Final cluster formation. More... | |
| void | CreatePrimaryAssociation (const pandora::CaloHit *const pCaloHitI, const pandora::CaloHit *const pCaloHitJ, HitAssociationMap &forwardHitAssociationMap, HitAssociationMap &backwardHitAssociationMap) const |
| Create primary association if appropriate, hitI<->hitJ. More... | |
| void | CreateSecondaryAssociation (const pandora::CaloHit *const pCaloHitI, const pandora::CaloHit *const pCaloHitJ, HitAssociationMap &forwardHitAssociationMap, HitAssociationMap &backwardHitAssociationMap) const |
| Create secondary association if appropriate, hitI<->hitJ. More... | |
| const pandora::CaloHit * | GetJoinHit (const pandora::CaloHit *const pCaloHit, const HitAssociationMap &hitAssociationMapI, const HitAssociationMap &hitAssociationMapJ) const |
| Get hit to join by tracing associations via map I, checking via map J. More... | |
| const pandora::CaloHit * | TraceHitAssociation (const pandora::CaloHit *const pCaloHit, const HitAssociationMap &hitAssociationMapI, const HitAssociationMap &hitAssociationMapJ, unsigned int &nSteps) const |
| Get last hit obtained by tracing associations via map I, checking via map J. More... | |
Private Attributes | |
| bool | m_mergeBackFilteredHits |
| Merge rejected hits into their associated clusters. More... | |
| unsigned int | m_maxGapLayers |
| Maximum number of layers for a gap. More... | |
| float | m_maxCaloHitSeparationSquared |
| Square of maximum calo hit separation. More... | |
| float | m_minCaloHitSeparationSquared |
| Square of minimum calo hit separation. More... | |
| float | m_closeSeparationSquared |
| Length scale (squared) for close hit separation. More... | |
| float | m_minMipFraction |
| Minimum fraction of a MIP to consider a hit. More... | |
TrackClusterCreationAlgorithm class.
Definition at line 21 of file TrackClusterCreationAlgorithm.h.
|
private |
Definition at line 87 of file TrackClusterCreationAlgorithm.h.
|
private |
Definition at line 88 of file TrackClusterCreationAlgorithm.h.
|
private |
Definition at line 89 of file TrackClusterCreationAlgorithm.h.
| lar_content::TrackClusterCreationAlgorithm::TrackClusterCreationAlgorithm | ( | ) |
Default constructor.
Definition at line 21 of file TrackClusterCreationAlgorithm.cc.
|
private |
Merge previously filtered hits back into their associated clusters.
| selectedCaloHitList | the ordered list of selected hits |
| rejectedCaloHitList | the ordered list of rejected hits |
| hitToClusterMap | the mapping between hits and their clusters |
Definition at line 113 of file TrackClusterCreationAlgorithm.cc.
References lar_content::LArGeometryHelper::GetWirePitchRatio(), m_minCaloHitSeparationSquared, and lar_content::LArClusterHelper::SortHitsByPosition().
Referenced by Run().
|
private |
Final cluster formation.
| orderedCaloHitList | the ordered calo hit list |
| hitJoinMap | the hit join map |
| hitToClusterMap | the mapping between hits and their clusters |
Definition at line 288 of file TrackClusterCreationAlgorithm.cc.
References lar_content::LArClusterHelper::SortHitsByPosition().
Referenced by Run().
|
private |
Create primary association if appropriate, hitI<->hitJ.
| pCaloHitI | address of calo hit I |
| pCaloHitJ | address of calo hit J |
| forwardHitAssociationMap | the forward hit association map |
| backwardHitAssociationMap | the backward hit association map |
Definition at line 330 of file TrackClusterCreationAlgorithm.cc.
References lar_content::LArGeometryHelper::GetWirePitchRatio(), and m_maxCaloHitSeparationSquared.
Referenced by MakePrimaryAssociations().
|
private |
Create secondary association if appropriate, hitI<->hitJ.
| pCaloHitI | address of calo hit I |
| pCaloHitJ | address of calo hit J |
| forwardHitAssociationMap | the forward hit association map |
| backwardHitAssociationMap | the backward hit association map |
Definition at line 367 of file TrackClusterCreationAlgorithm.cc.
References lar_content::TrackClusterCreationAlgorithm::HitAssociation::GetPrimaryDistanceSquared(), lar_content::TrackClusterCreationAlgorithm::HitAssociation::GetPrimaryTarget(), lar_content::TrackClusterCreationAlgorithm::HitAssociation::GetSecondaryDistanceSquared(), lar_content::LArGeometryHelper::GetWirePitchRatio(), m_closeSeparationSquared, and lar_content::TrackClusterCreationAlgorithm::HitAssociation::SetSecondaryTarget().
Referenced by MakeSecondaryAssociations().
|
private |
Filter out low pulse height hits in close proximity to high pulse height hits.
| pCaloHitList | input hit list |
| selectedCaloHitList | the output selected list of selected hits |
| rejectedCaloHitList | the output rejected list of rejected hits |
Definition at line 60 of file TrackClusterCreationAlgorithm.cc.
References lar_content::LArGeometryHelper::GetWirePitchRatio(), m_minCaloHitSeparationSquared, m_minMipFraction, and lar_content::LArClusterHelper::SortHitsByPosition().
Referenced by Run().
|
private |
Get hit to join by tracing associations via map I, checking via map J.
| pCaloHit | the initial calo hit |
| hitAssociationMapI | hit association map I |
| hitAssociationMapJ | hit association map J |
Definition at line 404 of file TrackClusterCreationAlgorithm.cc.
References TraceHitAssociation().
Referenced by IdentifyJoins().
|
private |
Identify final hit joins for use in cluster formation.
| orderedCaloHitList | the ordered calo hit list |
| forwardHitAssociationMap | the forward hit association map |
| backwardHitAssociationMap | the backward hit association map |
| hitJoinMap | to receive the hit join map |
Definition at line 259 of file TrackClusterCreationAlgorithm.cc.
References GetJoinHit(), and lar_content::LArClusterHelper::SortHitsByPosition().
Referenced by Run().
|
private |
Control primary association formation.
| orderedCaloHitList | the ordered calo hit list |
| forwardHitAssociationMap | the forward hit association map |
| backwardHitAssociationMap | the backward hit association map |
Definition at line 196 of file TrackClusterCreationAlgorithm.cc.
References CreatePrimaryAssociation(), m_maxGapLayers, and lar_content::LArClusterHelper::SortHitsByPosition().
Referenced by Run().
|
private |
Control secondary association formation.
| orderedCaloHitList | the ordered calo hit list |
| forwardHitAssociationMap | the forward hit association map |
| backwardHitAssociationMap | the backward hit association map |
Definition at line 226 of file TrackClusterCreationAlgorithm.cc.
References CreateSecondaryAssociation(), and lar_content::LArClusterHelper::SortHitsByPosition().
Referenced by Run().
|
private |
Definition at line 461 of file TrackClusterCreationAlgorithm.cc.
References m_closeSeparationSquared, m_maxCaloHitSeparationSquared, m_maxGapLayers, m_mergeBackFilteredHits, m_minCaloHitSeparationSquared, and m_minMipFraction.
|
private |
Definition at line 33 of file TrackClusterCreationAlgorithm.cc.
References AddFilteredCaloHits(), CreateClusters(), FilterCaloHits(), IdentifyJoins(), m_mergeBackFilteredHits, MakePrimaryAssociations(), and MakeSecondaryAssociations().
|
private |
Get last hit obtained by tracing associations via map I, checking via map J.
| pCaloHit | the initial calo hit |
| hitAssociationMapI | hit association map I |
| hitAssociationMapJ | hit association map J |
| nSteps | to receive the number of association steps |
Definition at line 430 of file TrackClusterCreationAlgorithm.cc.
Referenced by GetJoinHit().
|
private |
Length scale (squared) for close hit separation.
Definition at line 205 of file TrackClusterCreationAlgorithm.h.
Referenced by CreateSecondaryAssociation(), and ReadSettings().
|
private |
Square of maximum calo hit separation.
Definition at line 203 of file TrackClusterCreationAlgorithm.h.
Referenced by CreatePrimaryAssociation(), and ReadSettings().
|
private |
Maximum number of layers for a gap.
Definition at line 202 of file TrackClusterCreationAlgorithm.h.
Referenced by MakePrimaryAssociations(), and ReadSettings().
|
private |
Merge rejected hits into their associated clusters.
Definition at line 201 of file TrackClusterCreationAlgorithm.h.
Referenced by ReadSettings(), and Run().
|
private |
Square of minimum calo hit separation.
Definition at line 204 of file TrackClusterCreationAlgorithm.h.
Referenced by AddFilteredCaloHits(), FilterCaloHits(), and ReadSettings().
|
private |
Minimum fraction of a MIP to consider a hit.
Definition at line 206 of file TrackClusterCreationAlgorithm.h.
Referenced by FilterCaloHits(), and ReadSettings().