 |
Belle II Software
release-05-01-25
|
10 #include <tracking/trackFindingCDC/findlets/complete/TrackFinder.h>
12 #include <framework/core/ModuleParamList.templateDetails.h>
13 #include <framework/core/ModuleParam.h>
18 using namespace TrackFindingCDC;
39 const std::string prefix =
"";
45 moduleParamList.
getParameter<std::string>(
"flightTimeEstimation").setDefaultValue(
"outwards");
53 std::vector<std::string> corrections({
"B2B"});
54 moduleParamList.
getParameter<std::vector<std::string>>(
"corrections")
55 .setDefaultValue(corrections);
63 std::vector<std::string> corrections({
"LayerBreak",
"OneSuperlayer",
"Small"});
64 moduleParamList.
getParameter<std::vector<std::string>>(
"corrections")
65 .setDefaultValue(corrections);
71 return "Combined track finder using the global legendre finder as well as the cellular automaton "
83 "Also run the segment linking track finder and combine results.",
90 std::vector<CDCWireHit> m_wireHits;
91 std::vector<CDCWireHitCluster> m_clusters;
92 std::vector<CDCWireHitCluster> m_superClusters;
93 std::vector<CDCSegment2D> m_segments;
94 std::vector<CDCTrack> m_axialTracks;
95 std::vector<CDCTrack> m_tracks;
96 m_wireHits.reserve(2000);
97 m_clusters.reserve(200);
98 m_superClusters.reserve(100);
99 m_segments.reserve(200);
100 m_axialTracks.reserve(30);
101 m_tracks.reserve(30);
117 m_tracks.swap(m_axialTracks);
std::string getDescription() override
Short description of the findlet.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
TrackFinder()
Constructor registering the subordinary findlets to the processing signal distribution machinery.
TrackExporter m_trackExporter
Exports the generated CDCTracks as RecoTracks.
ModuleParam< T > & getParameter(const std::string &name) const
Returns a reference to a parameter.
TrackQualityAsserter m_trackQualityAsserter
Improve the quality of the axial tracks.
SegmentTrackCombiner m_segmentTrackCombiner
Join the matching segments into the tracks.
void addProcessingSignalListener(ProcessingSignalListener *psl)
Register a processing signal listener to be notified.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
WireHitPreparer m_wireHitPreparer
Preparation findlet creating the wire hits from the packed CDCHits.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
void apply(const std::vector< CDCSegment2D > &segments, std::vector< CDCTrack > &tracks) final
Main algorithm.
void apply() final
Execute the findlet.
TrackQualityAsserter m_finalTrackQualityAsserter
Final track quality assertions.
TrackFinderSegmentPairAutomaton m_trackFinderSegmentPairAutomaton
Second stage cellular automaton track finder from segments.
void addParameter(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module list.
Abstract base class for different kinds of events.
StereoHitFinder m_stereoHitFinder
Assoziate the stereo hits that best match to the axial tracks.
void apply(std::vector< CDCTrack > &tracks) final
Write give tracks into track store array.
void apply(const std::vector< CDCSegment2D > &inputSegments, std::vector< CDCTrack > &tracks) final
Generates the tracks from segments.
void apply(std::vector< CDCWireHitCluster > &clusters, std::vector< CDCSegment2D > &outputSegments) final
Generates the segment from wire hits.
void apply(std::vector< CDCWireHit > &outputWireHits) final
Main function preparing the wire hits.
bool m_param_withCA
Parameter: Activate the combination of the local segment linking.
void apply(const std::vector< CDCTrack > &inputTracks, const std::vector< CDCTrack > &secondInputTracks, std::vector< CDCTrack > &tracks) final
Main algorithm.
TrackCreatorSingleSegments m_trackCreatorSingleSegments
Add tracks from the first super layer that are contained with in the first super layer.
void apply(std::vector< CDCWireHit > &inputWireHits, std::vector< CDCTrack > &tracks) final
Generates the segment from wire hits.
SegmentFinderFacetAutomaton m_segmentFinderFacetAutomaton
First stage cellular automaton segment finder.
ClusterPreparer m_clusterPreparer
Preparation findlet creating the clusters wire hits forming locally connected groups.
AxialTrackFinderLegendre m_axialTrackFinderLegendre
Axial track finder.
TrackCombiner m_trackCombiner
Combine the tracks from the global search with the tracks from the local search.
void apply(std::vector< CDCSegment2D > &segments, std::vector< CDCTrack > &tracks) override
Try to combine the segments and the tracks.
The Module parameter list class.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
void apply(std::vector< CDCTrack > &tracks) final
Main function to clean up the tracks.
void apply(std::vector< CDCWireHit > &inputWireHits, std::vector< CDCWireHitCluster > &clusters, std::vector< CDCWireHitCluster > &superClusters) final
Generates the segment from wire hits.
void apply(const std::vector< CDCWireHit > &wireHits, std::vector< CDCTrack > &tracks)
Main method to apply the track finding.