29 #ifndef TRACKDRIVENSEEDINGTOOL_H
30 #define TRACKDRIVENSEEDINGTOOL_H
34 namespace april_content
40 typedef std::map<const pandora::Track* const, pandora::CaloHitVector> TrackCaloHitVector;
51 class Factory :
public pandora::AlgorithmToolFactory
54 pandora::AlgorithmTool *CreateAlgorithmTool()
const;
68 pandora::StatusCode
Process(
const pandora::Algorithm &algorithm,
const pandora::CaloHitList *
const pCaloHitList =
nullptr);
75 pandora::StatusCode
ReadSettings(
const pandora::TiXmlHandle xmlHandle);
77 static inline TrackCaloHitVector& GetTrackAndInitCaloHits() {
return m_trackHitVector; }
89 pandora::StatusCode
FindInitialCaloHits(
const pandora::Algorithm &algorithm,
const pandora::Track *pTrack,
const pandora::OrderedCaloHitList& orderedCaloHitList,
90 pandora::CaloHitVector &caloHitVector);
102 pandora::StatusCode
ConnectCaloHits(
const pandora::Algorithm &algorithm,
const pandora::Track *pTrack,
103 pandora::CaloHitVector &caloHitVector);
105 void CheckInitialTrackHit()
const;
107 void CleanTrackInitHitsAssociation(
const pandora::Algorithm &algorithm)
const;
109 bool IsSiblingTrack(
const pandora::Track *
const trackA,
const pandora::Track *
const trackB)
const;
113 float m_initialHitSearchRange;
114 float m_hitSearchRangeFine;
115 float m_hitSearchRangeCoarse;
116 float m_hitSearchRangeAtBoundary;
117 unsigned int m_maxInitialPseudoLayer;
118 float m_maxInitialTrackDistance;
119 float m_maxInitialTrackAngle;
121 float m_maxConnectionPseudoLayer;
122 float m_maxTransverseDistanceFine;
123 float m_maxTransverseDistanceCoarse;
124 float m_maxDistanceToTrackFine;
125 float m_maxDistanceToTrackCoarse;
127 bool m_shouldUseIsolatedHits;
128 unsigned int m_connectorCreationStage;
130 static TrackCaloHitVector m_trackHitVector;
135 inline pandora::AlgorithmTool *TrackDrivenSeedingTool::Factory::CreateAlgorithmTool()
const
137 return new TrackDrivenSeedingTool();
142 #endif // TRACKDRIVENSEEDINGTOOL_H
pandora::StatusCode Process(const pandora::Algorithm &algorithm, const pandora::CaloHitList *const pCaloHitList=nullptr)
Seed connectors from the calo hit list.
Definition: TrackDrivenSeedingTool.cc:50
TrackDrivenSeedingTool class.
Definition: TrackDrivenSeedingTool.h:45
CaloHit class.
Definition: CaloHit.h:52
~TrackDrivenSeedingTool()
Destructor.
Definition: TrackDrivenSeedingTool.h:60
Factory class for instantiating algorithm tool.
Definition: TrackDrivenSeedingTool.h:51
pandora::StatusCode ConnectCaloHits(const pandora::Algorithm &algorithm, const pandora::Track *pTrack, pandora::CaloHitVector &caloHitVector)
Find and connect calo hits from the ones found close to the track extrapolation.
Definition: TrackDrivenSeedingTool.cc:402
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Read settings from the xml handle.
Definition: TrackDrivenSeedingTool.cc:583
pandora::StatusCode FindInitialCaloHits(const pandora::Algorithm &algorithm, const pandora::Track *pTrack, const pandora::OrderedCaloHitList &orderedCaloHitList, pandora::CaloHitVector &caloHitVector)
Find the initial calo hits close to track extrapolation.
Definition: TrackDrivenSeedingTool.cc:324
ConnectorAlgorithmTool class.
Definition: ConnectorAlgorithmTool.h:41