Belle II Software prerelease-11-00-00a
CKFToCDCFindlet.cc
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
9#include <tracking/ckf/cdc/findlets/CKFToCDCFindlet.h>
10
11#include <tracking/trackingUtilities/utilities/Algorithms.h>
12
13#include <framework/database/DBObjPtr.h>
14#include <framework/core/ModuleParamList.h>
15
16#include <tracking/dbobjects/SVDToCDCCKFParameters.h>
17
18using namespace Belle2;
19
21
30
31void CKFToCDCFindlet::exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix)
32{
33 Super::exposeParameters(moduleParamList, prefix);
34
35 m_trackHandler.exposeParameters(moduleParamList, prefix);
36 m_seedCreator.exposeParameters(moduleParamList, prefix);
37 m_treeSearcher.exposeParameters(moduleParamList, prefix);
38 m_resultFinalizer.exposeParameters(moduleParamList, prefix);
39 m_resultStorer.exposeParameters(moduleParamList, prefix);
40
41 moduleParamList->getParameter<std::string>("statePreFilter").setDefaultValue("all");
42 moduleParamList->getParameter<std::string>("stateBasicFilter").setDefaultValue("rough");
43 moduleParamList->getParameter<std::string>("stateExtrapolationFilter").setDefaultValue("extrapolate_and_update");
44 moduleParamList->getParameter<std::string>("stateFinalFilter").setDefaultValue("distance");
45}
46
48{
50
52
53 if (!payload.isValid()) {
54 B2FATAL("CKFToCDCFindlet: DB payload 'SVDToCDCCKFParameters' not found or not valid for current run.");
55 }
56
57 // Payload parameters (INTs, FLOATs)
58 m_trackHandler.setMinimalPtRequirement(payload->getMinimalPtRequirement());
59
60 m_treeSearcher.setMaximalDeltaPhi(payload->getMaximalDeltaPhi());
61 m_treeSearcher.setMaximalLayerJump(payload->getMaximalLayerJump());
62 m_treeSearcher.setMaximalLayerJumpBackwardSeed(payload->getMaximalLayerJumpBackwardSeed());
63 m_treeSearcher.setPathMaximalCandidatesInFlight(payload->getPathMaximalCandidatesInFlight());
64 m_treeSearcher.setStateMaximalHitCandidates(payload->getStateMaximalHitCandidates());
65
66 B2DEBUG(20, "CKFToCDCFindlet: Loaded and applied parameters from DB payload 'SVDToCDCCKFParameters'.");
67}
68
70{
72
74 m_paths.clear();
75 m_seeds.clear();
76 m_results.clear();
77}
78
79void CKFToCDCFindlet::apply(const std::vector<TrackingUtilities::CDCWireHit>& wireHits)
80{
83
84 const auto& wireHitPtrs = TrackingUtilities::as_pointers<const TrackingUtilities::CDCWireHit>(wireHits);
85
86 for (const auto& seed : m_seeds) {
87 B2DEBUG(29, "Starting new seed");
88 m_paths.clear();
89 m_paths.push_back(seed);
90 m_treeSearcher.apply(m_paths, wireHitPtrs);
92 }
93
95}
std::vector< CDCCKFResult > m_results
Current list of results.
std::vector< CDCCKFPath > m_seeds
Current list of seeds.
CDCCKFResultStorer m_resultStorer
Result Storer.
CDCCKFSeedCreator m_seedCreator
Seed Creator.
void apply(const std::vector< TrackingUtilities::CDCWireHit > &wireHits) override
Do the track/hit finding/merging.
~CKFToCDCFindlet() override
Default destructor.
void beginRun() override
Receive signal for the beginning of a new run.
StackTreeSearcher m_treeSearcher
Tree Searcher.
CDCCKFResultFinalizer m_resultFinalizer
Result Finalizer.
void beginEvent() override
Clear the object pools.
TrackLoader m_trackHandler
Findlet for retrieving the vxd tracks and writing the result out.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
std::vector< RecoTrack * > m_vxdRecoTrackVector
Pointers to the CDC Reco tracks as a vector.
CKFToCDCFindlet()
Constructor, for setting module description and parameters.
std::vector< CDCCKFPath > m_paths
Current list of paths.
Class for accessing objects in the database.
Definition DBObjPtr.h:21
The Module parameter list class.
virtual void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix)
ModuleParam< T > & getParameter(const std::string &name) const
Returns a reference to a parameter.
Abstract base class for different kinds of events.