LArSoft
v07_13_02
Liquid Argon Software toolkit - http://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... | |
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 20 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 106 of file TrackClusterCreationAlgorithm.cc.
References 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 274 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 315 of file TrackClusterCreationAlgorithm.cc.
References 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 348 of file TrackClusterCreationAlgorithm.cc.
References lar_content::TrackClusterCreationAlgorithm::HitAssociation::GetPrimaryDistanceSquared(), lar_content::TrackClusterCreationAlgorithm::HitAssociation::GetPrimaryTarget(), lar_content::TrackClusterCreationAlgorithm::HitAssociation::GetSecondaryDistanceSquared(), 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 58 of file TrackClusterCreationAlgorithm.cc.
References m_minCaloHitSeparationSquared, 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 381 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 245 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 183 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 212 of file TrackClusterCreationAlgorithm.cc.
References CreateSecondaryAssociation(), and lar_content::LArClusterHelper::SortHitsByPosition().
Referenced by Run().
|
private |
Definition at line 438 of file TrackClusterCreationAlgorithm.cc.
References m_closeSeparationSquared, m_maxCaloHitSeparationSquared, m_maxGapLayers, m_mergeBackFilteredHits, and m_minCaloHitSeparationSquared.
|
private |
Definition at line 31 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 407 of file TrackClusterCreationAlgorithm.cc.
Referenced by GetJoinHit().
|
private |
Length scale (squared) for close hit separation.
Definition at line 202 of file TrackClusterCreationAlgorithm.h.
Referenced by CreateSecondaryAssociation(), and ReadSettings().
|
private |
Square of maximum calo hit separation.
Definition at line 200 of file TrackClusterCreationAlgorithm.h.
Referenced by CreatePrimaryAssociation(), and ReadSettings().
|
private |
Maximum number of layers for a gap.
Definition at line 199 of file TrackClusterCreationAlgorithm.h.
Referenced by MakePrimaryAssociations(), and ReadSettings().
|
private |
Merge rejected hits into their associated clusters.
Definition at line 198 of file TrackClusterCreationAlgorithm.h.
Referenced by ReadSettings(), and Run().
|
private |
Square of minimum calo hit separation.
Definition at line 201 of file TrackClusterCreationAlgorithm.h.
Referenced by AddFilteredCaloHits(), FilterCaloHits(), and ReadSettings().