8 #ifndef APRIL_TRACK_RECOVERY_HELIX_ALGORITHM_H
9 #define APRIL_TRACK_RECOVERY_HELIX_ALGORITHM_H 1
11 #include "Pandora/Algorithm.h"
13 namespace april_content
22 class Factory :
public pandora::AlgorithmFactory
25 pandora::Algorithm *CreateAlgorithm()
const;
41 AssociationInfo(
const pandora::Cluster *
const pCluster,
const float closestApproach);
69 typedef std::set<AssociationInfo> AssociationInfoSet;
70 typedef std::map<const pandora::Track *, AssociationInfoSet> TrackAssociationInfoMap;
72 pandora::StatusCode Run();
73 pandora::StatusCode ReadSettings(
const pandora::TiXmlHandle xmlHandle);
108 m_pCluster(pCluster),
109 m_closestApproach(closestApproach)
124 return m_closestApproach;
127 inline pandora::Algorithm *TrackRecoveryHelixAlgorithm::Factory::CreateAlgorithm()
const
const pandora::Cluster * m_pCluster
The cluster to which an association would be made.
Definition: TrackRecoveryHelixAlgorithm.h:65
float m_maxTrackClusterDistance
Max track-cluster separation to allow association.
Definition: TrackRecoveryHelixAlgorithm.h:100
Definition: TrackRecoveryHelixAlgorithm.h:22
TrackRecoveryHelixAlgorithm class.
Definition: TrackRecoveryHelixAlgorithm.h:19
const pandora::Cluster * GetCluster() const
Get the address of the cluster to which association could be made.
Definition: TrackRecoveryHelixAlgorithm.h:115
float m_maxClosestHelixClusterDistance
Max helix-cluster closest approach to allow association.
Definition: TrackRecoveryHelixAlgorithm.h:101
bool operator<(const AssociationInfo &rhs) const
Operator< to order by address of associated cluster.
Definition: TrackRecoveryHelixAlgorithm.cc:197
float m_closestApproach
The distance of closest approach.
Definition: TrackRecoveryHelixAlgorithm.h:66
AssociationInfo class.
Definition: TrackRecoveryHelixAlgorithm.h:32
unsigned int m_helixComparisonNLayers
Number of cluster layers used in cluster-helix comparison.
Definition: TrackRecoveryHelixAlgorithm.h:97
float m_maxAbsoluteTrackClusterChi
Max absolute track-cluster consistency chi value to allow association.
Definition: TrackRecoveryHelixAlgorithm.h:90
AssociationInfo(const pandora::Cluster *const pCluster, const float closestApproach)
Constructor.
Definition: TrackRecoveryHelixAlgorithm.h:107
float m_maxMeanHelixClusterDistance
Max helix-cluster mean approach to allow association.
Definition: TrackRecoveryHelixAlgorithm.h:102
float GetClosestApproach() const
Get the distance of closest approach between the cluster and the track under consideration.
Definition: TrackRecoveryHelixAlgorithm.h:122
float m_maxTrackClusterDeltaZ
Max z separation between track calorimeter projection and cluster to allow association.
Definition: TrackRecoveryHelixAlgorithm.h:89
float m_parallelDistanceCut
Max allowed projection of track-hit separation along track direction.
Definition: TrackRecoveryHelixAlgorithm.h:94
pandora::StatusCode GetTrackAssociationInfoMap(TrackAssociationInfoMap &trackAssociationInfoMap) const
Get a map specifying cluster association information for every possible matching cluster.
Definition: TrackRecoveryHelixAlgorithm.cc:32
unsigned int m_maxSearchLayer
Max pseudo layer to examine when calculating track-cluster distance.
Definition: TrackRecoveryHelixAlgorithm.h:93
unsigned int m_maxLayersCrossed
Max number of layers crossed by track helix between calorimeter projection and cluster.
Definition: TrackRecoveryHelixAlgorithm.h:91
float m_minTrackClusterCosAngle
Min cos(angle) between track and cluster initial direction.
Definition: TrackRecoveryHelixAlgorithm.h:95
unsigned int m_helixComparisonMaxOccupiedLayers
Max number of occupied cluster layers used in cluster-helix comparison.
Definition: TrackRecoveryHelixAlgorithm.h:98
pandora::StatusCode MakeTrackClusterAssociations(TrackAssociationInfoMap &trackAssociationInfoMap) const
Use information in the track association info map to create track to cluster associations.
Definition: TrackRecoveryHelixAlgorithm.cc:127