Belle II Software  release-08-01-10
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 
23 namespace 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.