Belle II Software development
SVDHoughTracking.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#pragma once
9
10#include <tracking/trackFindingCDC/findlets/base/Findlet.h>
11#include <tracking/vxdHoughTracking/findlets/SpacePointLoaderAndPreparer.h>
12#include <tracking/vxdHoughTracking/findlets/MultiHoughSpaceFastInterceptFinder.h>
13#include <tracking/vxdHoughTracking/findlets/SingleHoughSpaceFastInterceptFinder.h>
14#include <tracking/vxdHoughTracking/findlets/RawTrackCandCleaner.dcl.h>
15#include <tracking/vxdHoughTracking/findlets/TrackCandidateOverlapResolver.h>
16#include <tracking/vxdHoughTracking/findlets/RecoTrackStorer.h>
17#include <tracking/vxdHoughTracking/findlets/ROIFinder.h>
18
19#include <string>
20#include <vector>
21
22namespace Belle2 {
27 class ModuleParamList;
28 class SpacePoint;
29 class SpacePointTrackCand;
30
31 namespace vxdHoughTracking {
32 class VXDHoughState;
33
40
41 public:
44
47
49 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
50
52 void apply() override;
53
55 void beginEvent() override;
56
57 private:
59
63
68
71
74
77
80
81
83
85 std::vector<const SpacePoint*> m_spacePointVector;
86
88 std::vector<VXDHoughState> m_vxdHoughStates;
89
91 std::vector<std::vector<VXDHoughState*>> m_rawTrackCandidates;
92
95 std::vector<SpacePointTrackCand> m_trackCandidates;
96
100
101 };
102
103 }
105}
The Module parameter list class.
Interface for a minimal algorithm part that wants to expose some parameters to a module.
Definition: Findlet.h:26
Findlet for finding intersections of sinusoidal curves in the 2D Hough space by iteratively calling F...
Findlet for performing the simple SVDHoughTracking ROI calculation.
Definition: ROIFinder.h:33
Findlet for rejecting wrong SpacePointTrackCands and for removing bad hits.
Store RecoTracks into StoreArray.
Main Findlet for the SVDHoughTracking.
SpacePointLoaderAndPreparer m_spacePointLoaderAndPreparer
Findlets:
MultiHoughSpaceFastInterceptFinder m_multiHouthSpaceInterceptFinder
Hough Space intercept finder.
std::vector< VXDHoughState > m_vxdHoughStates
Vector containing the cached hit information.
RawTrackCandCleaner< VXDHoughState > m_rawTCCleaner
Raw track candidate cleaner.
std::vector< const SpacePoint * > m_spacePointVector
Container to share data between findlets.
SingleHoughSpaceFastInterceptFinder m_singleHouthSpaceInterceptFinder
Simple Hough Space intercept finder.
TrackCandidateOverlapResolver m_overlapResolver
Resolve hit overlaps in track candidates.
std::vector< SpacePointTrackCand > m_trackCandidates
A track candidate is a vector of SpacePoint, and in each event multple track candidates will be creat...
SVDHoughTracking()
Constructor for adding the subfindlets.
void beginEvent() override
Clear the object pools.
std::vector< std::vector< VXDHoughState * > > m_rawTrackCandidates
Vector containint raw track candidates.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
RecoTrackStorer m_recoTrackStorer
Store tracks as RecoTracks.
void apply() override
Function to call all the sub-findlets.
bool m_useMultiHoughSpaceInterceptFinding
Use the elaborate FastInterceptFinder2D with multiple Hough spaces (true) or the simple one with just...
ROIFinder m_roiFinder
ROIFinder findlet, calculates PXD intercepts and ROIs.
Findlet for finding intersections of sinusoidal curves in the 2D Hough space by iteratively calling F...
Findlet for loading SVDSpacePoints and prepare them for usage in the FastInterceptFinder2D by creatin...
Findlet for rejecting wrong SpacePointTrackCands and for removing bad hits.
Abstract base class for different kinds of events.