Belle II Software development
CosmicsTrackMergerFindlet.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/trackFindingCDC/findlets/minimal/WeightedRelationCreator.h>
12#include <tracking/modules/cosmicsTrackMerger/PhiRecoTrackRelationFilter.h>
13
14#include <tracking/trackFindingCDC/ca/MultipassCellularPathFinder.h>
15
16#include <tracking/modules/cosmicsTrackMerger/CellularRecoTrack.h>
17#include <tracking/dataobjects/RecoTrack.h>
18#include <framework/datastore/StoreArray.h>
19
20#include <vector>
21#include <string>
22
23namespace Belle2 {
30 private:
33
34 public:
37
39 std::string getDescription() final;
40
42 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) final;
43
45 void initialize() final;
46
48 void apply() final;
49
50 private:
52 TrackFindingCDC::WeightedRelationCreator<const CellularRecoTrack, PhiRecoTrackRelationFilter> m_trackRelationCreator;
53
55 TrackFindingCDC::MultipassCellularPathFinder<const CellularRecoTrack> m_cellularPathFinder;
56
58 std::vector<TrackFindingCDC::WeightedRelation<const CellularRecoTrack> > m_trackRelations;
59
61 std::vector<TrackFindingCDC::Path<const CellularRecoTrack>> m_trackPaths;
62
65
68
71
72 // Parameters
74 std::string m_param_inputRecoTracks = "UnmergedRecoTracks";
75
77 std::string m_param_outputRecoTracks = "RecoTracks";
78 };
80}
Links tracks based on a filter criterion. It is based on the TrackLinker in the TF_CDC package.
StoreArray< RecoTrack > m_outputTracks
StoreArray for the output tracks.
void initialize() final
Init the store arrays.
std::vector< TrackFindingCDC::Path< const CellularRecoTrack > > m_trackPaths
Memory for the track paths generated from the graph.
std::string getDescription() final
Short description of the findlet.
TrackFindingCDC::MultipassCellularPathFinder< const CellularRecoTrack > m_cellularPathFinder
Instance of the cellular automaton path finder.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
StoreArray< RecoTrack > m_inputTracks
StoreArray for the input tracks.
std::vector< CellularRecoTrack > m_inputTrackVector
Storage for the input tracks.
std::vector< TrackFindingCDC::WeightedRelation< const CellularRecoTrack > > m_trackRelations
Memory for the relations between tracks to be followed on linking.
TrackFindingCDC::WeightedRelationCreator< const CellularRecoTrack, PhiRecoTrackRelationFilter > m_trackRelationCreator
Creator of the track relations for linking.
std::string m_param_outputRecoTracks
Parameter for the output reco tracks.
std::string m_param_inputRecoTracks
Parameter for the input reco tracks.
CosmicsTrackMergerFindlet()
Constructor adding the filter as a subordinary processing signal listener.
The Module parameter list class.
Implements a path consisting of Module and/or Path objects.
Definition: Path.h:38
Relation filter that lets only possibilities with small phi distance pass.
This is the Reconstruction Event-Data Model Track.
Definition: RecoTrack.h:79
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Interface for a minimal algorithm part that wants to expose some parameters to a module.
Definition: Findlet.h:26
Mixin class to attach an automaton cell to an object or pointer.
Abstract base class for different kinds of events.
STL namespace.