Belle II Software  release-05-01-25
CKFToSVDSeedFindlet.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Nils Braun *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <tracking/trackFindingCDC/findlets/base/Findlet.h>
13 #include <tracking/ckf/svd/entities/CKFToSVDResult.h>
14 #include <tracking/ckf/svd/entities/CKFToSVDState.h>
15 #include <tracking/trackFindingCDC/utilities/WeightedRelation.h>
16 
17 #include <tracking/ckf/general/findlets/TrackLoader.h>
18 #include <tracking/ckf/general/findlets/StateCreatorWithReversal.dcl.h>
19 #include <tracking/ckf/general/findlets/TreeSearcher.dcl.h>
20 #include <tracking/trackFindingCDC/collectors/selectors/BestMatchSelector.h>
21 #include <tracking/ckf/svd/findlets/SVDStateRejecter.h>
22 #include <tracking/ckf/svd/findlets/SpacePointLoader.h>
23 #include <tracking/ckf/svd/findlets/RelationFromSVDTracksCreator.h>
24 #include <tracking/ckf/svd/findlets/RecoTrackRelator.h>
25 #include <tracking/ckf/svd/findlets/RelationApplier.h>
26 
27 namespace Belle2 {
32  class RecoTrack;
33  class SpacePoint;
34 
35  class ModuleParamList;
36 
49  class CKFToSVDSeedFindlet : public TrackFindingCDC::Findlet<> {
51  using Super = TrackFindingCDC::Findlet<>;
52 
53  public:
56 
59 
61  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
62 
64  void apply() override;
65 
67  void beginEvent() override;
68 
69  private:
70  // Parameters
72  unsigned int m_param_minimalHitRequirement = 2;
73 
74  // Findlets
93 
94  // Object pools
96  std::vector<RecoTrack*> m_cdcRecoTrackVector;
98  std::vector<const SpacePoint*> m_spacePointVector;
100  std::vector<CKFToSVDState> m_seedStates;
102  std::vector<CKFToSVDState> m_states;
104  std::vector<TrackFindingCDC::WeightedRelation<CKFToSVDState>> m_relations;
106  std::vector<CKFToSVDResult> m_results;
108  std::vector<TrackFindingCDC::WeightedRelation<const RecoTrack, const RecoTrack>> m_relationsCDCToSVD;
109  };
111 }
Belle2::CKFToSVDSeedFindlet::m_dataHandler
TrackLoader m_dataHandler
Findlet for retrieving the cdc tracks and writing the result out.
Definition: CKFToSVDSeedFindlet.h:84
Belle2::CKFToSVDSeedFindlet::m_stateCreatorFromTracks
StateCreatorWithReversal< CKFToSVDState > m_stateCreatorFromTracks
Findlet for creating states out of tracks.
Definition: CKFToSVDSeedFindlet.h:88
Belle2::RecoTrackRelator
The results of the CKF ar in the form (seed -> vector of hits).
Definition: RecoTrackRelator.h:40
Belle2::CKFToSVDSeedFindlet::Super
TrackFindingCDC::Findlet<> Super
Parent class.
Definition: CKFToSVDSeedFindlet.h:59
Belle2::CKFToSVDSeedFindlet::m_relationCreator
RelationFromSVDTracksCreator m_relationCreator
Relation Creator.
Definition: CKFToSVDSeedFindlet.h:92
Belle2::CKFToSVDSeedFindlet::m_hitsLoader
SpacePointLoader m_hitsLoader
Findlet for loading the space points.
Definition: CKFToSVDSeedFindlet.h:86
Belle2::CKFToSVDSeedFindlet::m_relationsCDCToSVD
std::vector< TrackFindingCDC::WeightedRelation< const RecoTrack, const RecoTrack > > m_relationsCDCToSVD
Relations between CDC tracks and SVD tracks.
Definition: CKFToSVDSeedFindlet.h:116
Belle2::RelationFromSVDTracksCreator
Simplified relation creator only creating relations between states of CDC Reco Track seeds and states...
Definition: RelationFromSVDTracksCreator.h:42
Belle2::CKFToSVDSeedFindlet::m_relations
std::vector< TrackFindingCDC::WeightedRelation< CKFToSVDState > > m_relations
Relations between states.
Definition: CKFToSVDSeedFindlet.h:112
Belle2::CKFToSVDSeedFindlet::m_cdcRecoTrackVector
std::vector< RecoTrack * > m_cdcRecoTrackVector
Pointers to the CDC Reco tracks as a vector.
Definition: CKFToSVDSeedFindlet.h:104
Belle2::SpacePointLoader
Load the space points from the store array to the given vector.
Definition: SpacePointLoader.h:37
Belle2::StateCreatorWithReversal
An adaption of the normal state creator introducing another parameter to reverse the seed.
Definition: StateCreatorWithReversal.dcl.h:35
Belle2::TrackLoader
Findlet for loading the seeds from the data store.
Definition: TrackLoader.h:46
Belle2::TrackFindingCDC::BestMatchSelector
Selector to remove all relations in the list, which share the same collection item - except the one w...
Definition: BestMatchSelector.h:53
Belle2::CKFToSVDSeedFindlet::~CKFToSVDSeedFindlet
~CKFToSVDSeedFindlet()
Default desctructor.
Belle2::CKFToSVDSeedFindlet::m_results
std::vector< CKFToSVDResult > m_results
Vector for storing the results.
Definition: CKFToSVDSeedFindlet.h:114
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CKFToSVDSeedFindlet::CKFToSVDSeedFindlet
CKFToSVDSeedFindlet()
Constructor, for setting module description and parameters.
Definition: CKFToSVDSeedFindlet.cc:27
Belle2::RelationApplier
Relate the SVD and CDC tracks in the given relations also in the store array.
Definition: RelationApplier.h:33
Belle2::CKFToSVDSeedFindlet::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters (also of the sub findlets).
Definition: CKFToSVDSeedFindlet.cc:40
Belle2::CKFToSVDSeedFindlet::beginEvent
void beginEvent() override
Clear the object pools.
Definition: CKFToSVDSeedFindlet.cc:69
Belle2::CKFToSVDSeedFindlet::m_bestMatchSelector
TrackFindingCDC::BestMatchSelector< const RecoTrack, const RecoTrack > m_bestMatchSelector
Greedy filter for the relations between SVD and CDC Reco Tracks.
Definition: CKFToSVDSeedFindlet.h:98
Belle2::TreeSearcher
Findlet for constructing result paths out of a list of states, which are connected with weighted rela...
Definition: TreeSearcher.dcl.h:47
Belle2::CKFToSVDSeedFindlet::m_treeSearchFindlet
TreeSearcher< CKFToSVDState, SVDStateRejecter, CKFToSVDResult > m_treeSearchFindlet
Findlet doing the main work: the tree finding.
Definition: CKFToSVDSeedFindlet.h:94
Belle2::CKFToSVDSeedFindlet::m_seedStates
std::vector< CKFToSVDState > m_seedStates
States for the tracks.
Definition: CKFToSVDSeedFindlet.h:108
Belle2::CKFToSVDSeedFindlet::m_states
std::vector< CKFToSVDState > m_states
States for the hits.
Definition: CKFToSVDSeedFindlet.h:110
Belle2::CKFToSVDSeedFindlet::m_param_minimalHitRequirement
unsigned int m_param_minimalHitRequirement
Minimal hit requirement for the results (counted in number of space points)
Definition: CKFToSVDSeedFindlet.h:80
Belle2::CKFToSVDSeedFindlet::m_relationApplier
RelationApplier m_relationApplier
Copy the result relations to the store array.
Definition: CKFToSVDSeedFindlet.h:100
Belle2::StateCreator
Create new states and add them to a vector from a given object vector.
Definition: StateCreator.dcl.h:30
Belle2::ModuleParamList
The Module parameter list class.
Definition: ModuleParamList.h:46
Belle2::CKFToSVDSeedFindlet::m_spacePointVector
std::vector< const SpacePoint * > m_spacePointVector
Pointers to the (const) SpacePoints as a vector.
Definition: CKFToSVDSeedFindlet.h:106
Belle2::CKFToSVDSeedFindlet::m_recoTrackRelator
RecoTrackRelator m_recoTrackRelator
Findlet transforming the hit results to track relations.
Definition: CKFToSVDSeedFindlet.h:96
Belle2::CKFToSVDSeedFindlet::m_stateCreatorFromHits
StateCreator< const SpacePoint, CKFToSVDState > m_stateCreatorFromHits
Findlet for creating states out of hits.
Definition: CKFToSVDSeedFindlet.h:90
Belle2::CKFToSVDSeedFindlet::apply
void apply() override
Do the track merging.
Definition: CKFToSVDSeedFindlet.cc:85