Pandora
Pandora source code navigator
|
TrackClusterCreationAlgorithm class. More...
#include "TrackClusterCreationAlgorithm.h"
Classes | |
class | HitAssociation |
HitAssociation class. More... | |
Public Member Functions | |
TrackClusterCreationAlgorithm () | |
Default constructor. | |
const std::string & | GetType () const |
Get the type. | |
const std::string & | GetInstanceName () const |
Get the instance name. | |
const Pandora & | GetPandora () const |
Get the associated pandora instance. | |
Protected Member Functions | |
virtual StatusCode | Initialize () |
Perform any operations that must occur after reading settings, but before running the process. | |
virtual StatusCode | Reset () |
Perform any operations when pandora is reset, typically at the end of each event. | |
StatusCode | RegisterDetails (const Pandora *const pPandora, const std::string &type, const std::string &instanceName) |
Register i) the pandora instance that will run the process and ii) the process type. | |
Protected Attributes | |
const Pandora * | m_pPandora |
The pandora object that will run the process. | |
std::string | m_type |
The process type. | |
std::string | m_instanceName |
The process instance name. | |
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 () |
Run the algorithm. | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Read the algorithm settings. | |
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. | |
pandora::StatusCode | AddFilteredCaloHits (const pandora::OrderedCaloHitList &selectedCaloHitList, const pandora::OrderedCaloHitList &rejectedCaloHitList, HitToClusterMap &hitToClusterMap) const |
Merge previously filtered hits back into their associated clusters. | |
void | MakePrimaryAssociations (const pandora::OrderedCaloHitList &orderedCaloHitList, HitAssociationMap &forwardHitAssociationMap, HitAssociationMap &backwardHitAssociationMap) const |
Control primary association formation. | |
void | MakeSecondaryAssociations (const pandora::OrderedCaloHitList &orderedCaloHitList, HitAssociationMap &forwardHitAssociationMap, HitAssociationMap &backwardHitAssociationMap) const |
Control secondary association formation. | |
void | IdentifyJoins (const pandora::OrderedCaloHitList &orderedCaloHitList, const HitAssociationMap &forwardHitAssociationMap, const HitAssociationMap &backwardHitAssociationMap, HitJoinMap &hitJoinMap) const |
Identify final hit joins for use in cluster formation. | |
void | CreateClusters (const pandora::OrderedCaloHitList &orderedCaloHitList, const HitJoinMap &hitJoinMap, HitToClusterMap &hitToClusterMap) const |
Final cluster formation. | |
void | CreatePrimaryAssociation (const pandora::CaloHit *const pCaloHitI, const pandora::CaloHit *const pCaloHitJ, HitAssociationMap &forwardHitAssociationMap, HitAssociationMap &backwardHitAssociationMap) const |
Create primary association if appropriate, hitI<->hitJ. | |
void | CreateSecondaryAssociation (const pandora::CaloHit *const pCaloHitI, const pandora::CaloHit *const pCaloHitJ, HitAssociationMap &forwardHitAssociationMap, HitAssociationMap &backwardHitAssociationMap) const |
Create secondary association if appropriate, hitI<->hitJ. | |
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. | |
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. | |
Private Attributes | |
bool | m_mergeBackFilteredHits |
Merge rejected hits into their associated clusters. | |
unsigned int | m_maxGapLayers |
Maximum number of layers for a gap. | |
float | m_maxCaloHitSeparationSquared |
Square of maximum calo hit separation. | |
float | m_minCaloHitSeparationSquared |
Square of minimum calo hit separation. | |
float | m_closeSeparationSquared |
Length scale (squared) for close hit separation. | |
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 107 of file TrackClusterCreationAlgorithm.cc.
|
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 276 of file TrackClusterCreationAlgorithm.cc.
|
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 318 of file TrackClusterCreationAlgorithm.cc.
|
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 351 of file TrackClusterCreationAlgorithm.cc.
|
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.
|
inlineinherited |
|
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 384 of file TrackClusterCreationAlgorithm.cc.
|
inlineinherited |
|
inlineinherited |
|
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 247 of file TrackClusterCreationAlgorithm.cc.
|
inlineprotectedvirtualinherited |
Perform any operations that must occur after reading settings, but before running the process.
Reimplemented in lar_content::BdtBeamParticleIdTool, lar_content::BeamParticleIdTool, lar_content::CosmicRayTaggingTool, lar_content::EventReadingAlgorithm, lar_content::EventWritingAlgorithm, lar_content::LArPseudoLayerPlugin, lar_content::LArRotationalTransformationPlugin, EventReadingAlgorithm, and EventWritingAlgorithm.
Definition at line 126 of file Process.h.
|
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 184 of file TrackClusterCreationAlgorithm.cc.
|
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 214 of file TrackClusterCreationAlgorithm.cc.
|
privatevirtual |
Read the algorithm settings.
xmlHandle | the relevant xml handle |
Implements pandora::Process.
Definition at line 441 of file TrackClusterCreationAlgorithm.cc.
|
inlineprotectedinherited |
Register i) the pandora instance that will run the process and ii) the process type.
pPandora | address of the pandora object that will run the process |
type | the process type |
instanceName | the process instance name |
Definition at line 146 of file Process.h.
|
inlineprotectedvirtualinherited |
Perform any operations when pandora is reset, typically at the end of each event.
Reimplemented in lar_content::MasterAlgorithm, lar_content::PostProcessingAlgorithm, and lar_content::PreProcessingAlgorithm.
Definition at line 133 of file Process.h.
|
privatevirtual |
Run the algorithm.
Implements pandora::Algorithm.
Definition at line 31 of file TrackClusterCreationAlgorithm.cc.
|
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 410 of file TrackClusterCreationAlgorithm.cc.
|
private |
Length scale (squared) for close hit separation.
Definition at line 205 of file TrackClusterCreationAlgorithm.h.
|
protectedinherited |
|
private |
Square of maximum calo hit separation.
Definition at line 203 of file TrackClusterCreationAlgorithm.h.
|
private |
Maximum number of layers for a gap.
Definition at line 202 of file TrackClusterCreationAlgorithm.h.
|
private |
Merge rejected hits into their associated clusters.
Definition at line 201 of file TrackClusterCreationAlgorithm.h.
|
private |
Square of minimum calo hit separation.
Definition at line 204 of file TrackClusterCreationAlgorithm.h.
|
protectedinherited |
|
protectedinherited |