LArSoft
v09_90_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().