Belle II Software  release-05-01-25
CKFToPXDFindlet.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 
14 #include <tracking/ckf/svd/findlets/SpacePointLoader.h>
15 #include <tracking/ckf/general/findlets/TrackLoader.h>
16 #include <tracking/ckf/general/findlets/StateCreator.dcl.h>
17 #include <tracking/ckf/general/findlets/StateCreatorWithReversal.dcl.h>
18 #include <tracking/ckf/general/findlets/CKFRelationCreator.dcl.h>
19 #include <tracking/ckf/general/findlets/TreeSearcher.dcl.h>
20 #include <tracking/ckf/general/findlets/OverlapResolver.dcl.h>
21 #include <tracking/ckf/pxd/findlets/PXDStateRejecter.h>
22 #include <tracking/ckf/general/findlets/SpacePointTagger.dcl.h>
23 #include <tracking/ckf/general/findlets/ResultStorer.dcl.h>
24 
25 #include <tracking/ckf/pxd/filters/relations/ChooseablePXDRelationFilter.h>
26 #include <tracking/ckf/pxd/filters/results/ChooseablePXDResultFilter.h>
27 
28 #include <tracking/trackFindingCDC/utilities/WeightedRelation.h>
29 
30 #include <string>
31 #include <vector>
32 
33 namespace Belle2 {
38  class RecoTrack;
39  class SpacePoint;
40  class PXDCluster;
41  class CKFToPXDResult;
42  class CKFToPXDState;
43 
44  class ModuleParamList;
45 
59  class CKFToPXDFindlet : public TrackFindingCDC::Findlet<> {
61  using Super = TrackFindingCDC::Findlet<>;
62 
63  public:
66 
69 
71  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
72 
74  void apply() override;
75 
77  void beginEvent() override;
78 
79  private:
80  // Parameters
82  unsigned int m_param_minimalHitRequirement = 1;
84  bool m_param_onlyUseTracksWithSVD = true;
86  bool m_param_reverseSeed = false;
87 
88  // Findlets
107 
108  // Object pools
110  std::vector<RecoTrack*> m_recoTracksVector;
112  std::vector<const SpacePoint*> m_spacePointVector;
114  std::vector<CKFToPXDState> m_seedStates;
116  std::vector<CKFToPXDState> m_states;
118  std::vector<TrackFindingCDC::WeightedRelation<CKFToPXDState>> m_relations;
120  std::vector<CKFToPXDResult> m_results;
122  std::vector<CKFToPXDResult> m_filteredResults;
123  };
125 }
Belle2::CKFToPXDFindlet::m_overlapResolver
OverlapResolver< ChooseablePXDResultFilter > m_overlapResolver
Findlet for resolving overlaps.
Definition: CKFToPXDFindlet.h:110
Belle2::CKFToPXDFindlet::m_param_reverseSeed
bool m_param_reverseSeed
Reverse the seed.
Definition: CKFToPXDFindlet.h:94
Belle2::CKFToPXDFindlet::m_resultStorer
ResultStorer< CKFToPXDResult > m_resultStorer
Findlet for storing the results.
Definition: CKFToPXDFindlet.h:114
Belle2::CKFToPXDFindlet::m_hitsLoader
SpacePointLoader m_hitsLoader
Findlet for loading the space points.
Definition: CKFToPXDFindlet.h:100
Belle2::CKFToPXDFindlet::CKFToPXDFindlet
CKFToPXDFindlet()
Constructor, for setting module description and parameters.
Definition: CKFToPXDFindlet.cc:35
Belle2::CKFToPXDFindlet::m_relationCreator
CKFRelationCreator< CKFToPXDState, ChooseablePXDRelationFilter > m_relationCreator
Findlet for creating relations between states.
Definition: CKFToPXDFindlet.h:106
Belle2::ResultStorer
This findlet does also handle the storing of the results.
Definition: ResultStorer.dcl.h:38
Belle2::CKFToPXDFindlet::m_param_onlyUseTracksWithSVD
bool m_param_onlyUseTracksWithSVD
Cut away tracks without SVD hits or not.
Definition: CKFToPXDFindlet.h:92
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::CKFToPXDFindlet::m_states
std::vector< CKFToPXDState > m_states
States for the hits.
Definition: CKFToPXDFindlet.h:124
Belle2::CKFToPXDFindlet::m_recoTracksVector
std::vector< RecoTrack * > m_recoTracksVector
Pointers to the Reco tracks as a vector.
Definition: CKFToPXDFindlet.h:118
Belle2::CKFToPXDFindlet::m_relations
std::vector< TrackFindingCDC::WeightedRelation< CKFToPXDState > > m_relations
Relations between states.
Definition: CKFToPXDFindlet.h:126
Belle2::CKFToPXDFindlet::m_spacePointTagger
SpacePointTagger< CKFToPXDResult, PXDCluster > m_spacePointTagger
Findlet for tagging the used space points.
Definition: CKFToPXDFindlet.h:112
Belle2::CKFToPXDFindlet::m_filteredResults
std::vector< CKFToPXDResult > m_filteredResults
Vector for storing the filtered results.
Definition: CKFToPXDFindlet.h:130
Belle2::CKFToPXDFindlet::m_results
std::vector< CKFToPXDResult > m_results
Vector for storing the results.
Definition: CKFToPXDFindlet.h:128
Belle2::CKFToPXDFindlet::apply
void apply() override
Do the tree search.
Definition: CKFToPXDFindlet.cc:105
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CKFToPXDFindlet::Super
TrackFindingCDC::Findlet<> Super
Parent class.
Definition: CKFToPXDFindlet.h:69
Belle2::CKFToPXDFindlet::beginEvent
void beginEvent() override
Clear the object pools.
Definition: CKFToPXDFindlet.cc:90
Belle2::OverlapResolver
Simple findlet for searching the best candidate for a given seed aplying the given filter.
Definition: OverlapResolver.dcl.h:35
Belle2::CKFRelationCreator
Findlet for applying filters for creating hit-hit and hit-seed relations.
Definition: CKFRelationCreator.dcl.h:35
Belle2::CKFToPXDFindlet::m_spacePointVector
std::vector< const SpacePoint * > m_spacePointVector
Pointers to the (const) SpacePoints as a vector.
Definition: CKFToPXDFindlet.h:120
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::CKFToPXDFindlet::m_stateCreatorFromHits
StateCreator< const SpacePoint, CKFToPXDState > m_stateCreatorFromHits
Findlet for creating states out of hits.
Definition: CKFToPXDFindlet.h:104
Belle2::StateCreator
Create new states and add them to a vector from a given object vector.
Definition: StateCreator.dcl.h:30
Belle2::CKFToPXDFindlet::m_dataHandler
TrackLoader m_dataHandler
Findlet for retrieving the cdc tracks and writing the result out.
Definition: CKFToPXDFindlet.h:98
Belle2::SpacePointTagger
Findlet for tagging all space points in the results vector as used.
Definition: SpacePointTagger.dcl.h:36
Belle2::CKFToPXDFindlet::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
Definition: CKFToPXDFindlet.cc:48
Belle2::ModuleParamList
The Module parameter list class.
Definition: ModuleParamList.h:46
Belle2::CKFToPXDFindlet::m_treeSearchFindlet
TreeSearcher< CKFToPXDState, PXDStateRejecter, CKFToPXDResult > m_treeSearchFindlet
Findlet doing the main work: the tree finding.
Definition: CKFToPXDFindlet.h:108
Belle2::CKFToPXDFindlet::m_param_minimalHitRequirement
unsigned int m_param_minimalHitRequirement
Minimal hit requirement for the results (counted in number of space points)
Definition: CKFToPXDFindlet.h:90
Belle2::CKFToPXDFindlet::~CKFToPXDFindlet
~CKFToPXDFindlet()
Default desctructor.
Belle2::CKFToPXDFindlet::m_seedStates
std::vector< CKFToPXDState > m_seedStates
States for the tracks.
Definition: CKFToPXDFindlet.h:122
Belle2::CKFToPXDFindlet::m_stateCreatorFromTracks
StateCreatorWithReversal< CKFToPXDState > m_stateCreatorFromTracks
Findlet for creating states out of tracks.
Definition: CKFToPXDFindlet.h:102