Belle II Software development
CKFToSVDSeedFindlet.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/ckf/svd/entities/CKFToSVDResult.h>
12#include <tracking/ckf/svd/entities/CKFToSVDState.h>
13#include <tracking/trackFindingCDC/utilities/WeightedRelation.h>
14
15#include <tracking/ckf/general/findlets/TrackLoader.h>
16#include <tracking/ckf/general/findlets/StateCreatorWithReversal.dcl.h>
17#include <tracking/ckf/general/findlets/TreeSearcher.dcl.h>
18#include <tracking/trackFindingCDC/collectors/selectors/BestMatchSelector.h>
19#include <tracking/ckf/svd/findlets/SVDStateRejecter.h>
20#include <tracking/ckf/svd/findlets/SpacePointLoader.h>
21#include <tracking/ckf/svd/findlets/RelationFromSVDTracksCreator.h>
22#include <tracking/ckf/svd/findlets/RecoTrackRelator.h>
23#include <tracking/ckf/svd/findlets/RelationApplier.h>
24
25namespace Belle2 {
30 class RecoTrack;
31 class SpacePoint;
32
33 class ModuleParamList;
34
50
51 public:
54
57
59 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
60
62 void apply() override;
63
65 void beginEvent() override;
66
67 private:
68 // Parameters
71
72 // Findlets
91
92 // Object pools
94 std::vector<RecoTrack*> m_cdcRecoTrackVector;
96 std::vector<const SpacePoint*> m_spacePointVector;
98 std::vector<CKFToSVDState> m_seedStates;
100 std::vector<CKFToSVDState> m_states;
102 std::vector<TrackFindingCDC::WeightedRelation<CKFToSVDState>> m_relations;
104 std::vector<CKFToSVDResult> m_results;
106 std::vector<TrackFindingCDC::WeightedRelation<const RecoTrack, const RecoTrack>> m_relationsCDCToSVD;
107 };
109}
Findlet for combining CDC tracks with SVD tracks.
RecoTrackRelator m_recoTrackRelator
Findlet transforming the hit results to track relations.
std::vector< TrackFindingCDC::WeightedRelation< const RecoTrack, const RecoTrack > > m_relationsCDCToSVD
Relations between CDC tracks and SVD tracks.
~CKFToSVDSeedFindlet()
Default destructor.
unsigned int m_param_minimalHitRequirement
Minimal hit requirement for the results (counted in number of space points)
std::vector< CKFToSVDState > m_states
States for the hits.
TrackLoader m_dataHandler
Findlet for retrieving the cdc tracks and writing the result out.
RelationFromSVDTracksCreator m_relationCreator
Relation Creator.
std::vector< const SpacePoint * > m_spacePointVector
Pointers to the (const) SpacePoints as a vector.
TreeSearcher< CKFToSVDState, SVDStateRejecter, CKFToSVDResult > m_treeSearchFindlet
Findlet doing the main work: the tree finding.
StateCreatorWithReversal< CKFToSVDState > m_stateCreatorFromTracks
Findlet for creating states out of tracks.
SpacePointLoader m_hitsLoader
Findlet for loading the space points.
CKFToSVDSeedFindlet()
Constructor, for setting module description and parameters.
std::vector< RecoTrack * > m_cdcRecoTrackVector
Pointers to the CDC Reco tracks as a vector.
RelationApplier m_relationApplier
Copy the result relations to the store array.
std::vector< CKFToSVDResult > m_results
Vector for storing the results.
TrackFindingCDC::BestMatchSelector< const RecoTrack, const RecoTrack > m_bestMatchSelector
Greedy filter for the relations between SVD and CDC Reco Tracks.
void beginEvent() override
Clear the object pools.
std::vector< CKFToSVDState > m_seedStates
States for the tracks.
StateCreator< const SpacePoint, CKFToSVDState > m_stateCreatorFromHits
Findlet for creating states out of hits.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters (also of the sub findlets).
void apply() override
Do the track merging.
std::vector< TrackFindingCDC::WeightedRelation< CKFToSVDState > > m_relations
Relations between states.
The Module parameter list class.
The results of the CKF ar in the form (seed -> vector of hits).
Relate the SVD and CDC tracks in the given relations also in the store array.
Simplified relation creator only creating relations between states of CDC Reco Track seeds and states...
Load the space points from the store array to the given vector.
An adaption of the normal state creator introducing another parameter to reverse the seed.
Create new states and add them to a vector from a given object vector.
Selector to remove all relations in the list, which share the same collection item - except the one w...
Interface for a minimal algorithm part that wants to expose some parameters to a module.
Definition: Findlet.h:26
Findlet for loading the seeds from the data store.
Definition: TrackLoader.h:36
Findlet for constructing result paths out of a list of states, which are connected with weighted rela...
Abstract base class for different kinds of events.