Belle II Software  release-05-01-25
CosmicsTrackMergerFindlet.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Oliver Forst, 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/trackFindingCDC/findlets/minimal/WeightedRelationCreator.h>
14 #include <tracking/modules/cosmicsTrackMerger/PhiRecoTrackRelationFilter.h>
15 
16 #include <tracking/trackFindingCDC/ca/MultipassCellularPathFinder.h>
17 
18 #include <tracking/modules/cosmicsTrackMerger/CellularRecoTrack.h>
19 #include <tracking/dataobjects/RecoTrack.h>
20 #include <framework/datastore/StoreArray.h>
21 
22 #include <vector>
23 #include <string>
24 
25 namespace Belle2 {
30  class CosmicsTrackMergerFindlet : public TrackFindingCDC::Findlet<> {
32  private:
34  using Super = TrackFindingCDC::Findlet<>;
35 
36  public:
39 
41  std::string getDescription() final;
42 
44  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) final;
45 
47  void initialize() final;
48 
50  void apply() final;
51 
52  private:
54  TrackFindingCDC::WeightedRelationCreator<const CellularRecoTrack, PhiRecoTrackRelationFilter> m_trackRelationCreator;
55 
57  TrackFindingCDC::MultipassCellularPathFinder<const CellularRecoTrack> m_cellularPathFinder;
58 
60  std::vector<TrackFindingCDC::WeightedRelation<const CellularRecoTrack> > m_trackRelations;
61 
63  std::vector<TrackFindingCDC::Path<const CellularRecoTrack>> m_trackPaths;
64 
67 
70 
73 
74  // Parameters
76  std::string m_param_inputRecoTracks = "UnmergedRecoTracks";
77 
79  std::string m_param_outputRecoTracks = "RecoTracks";
80  };
82 }
Belle2::PhiRecoTrackRelationFilter
Relation filter that lets only possibilities with small phi distance pass.
Definition: PhiRecoTrackRelationFilter.h:33
Belle2::CosmicsTrackMergerFindlet::CosmicsTrackMergerFindlet
CosmicsTrackMergerFindlet()
Constructor adding the filter as a subordinary processing signal listener.
Definition: CosmicsTrackMergerFindlet.cc:18
Belle2::CosmicsTrackMergerFindlet::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
Definition: CosmicsTrackMergerFindlet.cc:28
Belle2::CosmicsTrackMergerFindlet::getDescription
std::string getDescription() final
Short description of the findlet.
Definition: CosmicsTrackMergerFindlet.cc:23
Belle2::CosmicsTrackMergerFindlet::m_trackRelations
std::vector< TrackFindingCDC::WeightedRelation< const CellularRecoTrack > > m_trackRelations
Memory for the relations between tracks to be followed on linking.
Definition: CosmicsTrackMergerFindlet.h:68
Belle2::TrackFindingCDC::WithAutomatonCell
Mixin class to attach an automaton cell to an object or pointer.
Definition: WithAutomatonCell.h:32
Belle2::CosmicsTrackMergerFindlet::m_trackRelationCreator
TrackFindingCDC::WeightedRelationCreator< const CellularRecoTrack, PhiRecoTrackRelationFilter > m_trackRelationCreator
Creator of the track relations for linking.
Definition: CosmicsTrackMergerFindlet.h:62
Belle2::CosmicsTrackMergerFindlet::m_cellularPathFinder
TrackFindingCDC::MultipassCellularPathFinder< const CellularRecoTrack > m_cellularPathFinder
Instance of the cellular automaton path finder.
Definition: CosmicsTrackMergerFindlet.h:65
Belle2::RecoTrack
This is the Reconstruction Event-Data Model Track.
Definition: RecoTrack.h:78
Belle2::CosmicsTrackMergerFindlet::m_outputTracks
StoreArray< RecoTrack > m_outputTracks
StoreArray for the output tracks.
Definition: CosmicsTrackMergerFindlet.h:77
Belle2::CosmicsTrackMergerFindlet::m_trackPaths
std::vector< TrackFindingCDC::Path< const CellularRecoTrack > > m_trackPaths
Memory for the track paths generated from the graph.
Definition: CosmicsTrackMergerFindlet.h:71
Belle2::CosmicsTrackMergerFindlet::m_inputTracks
StoreArray< RecoTrack > m_inputTracks
StoreArray for the input tracks.
Definition: CosmicsTrackMergerFindlet.h:80
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CosmicsTrackMergerFindlet::Super
TrackFindingCDC::Findlet<> Super
Type of the base class.
Definition: CosmicsTrackMergerFindlet.h:42
Belle2::CosmicsTrackMergerFindlet::m_inputTrackVector
std::vector< CellularRecoTrack > m_inputTrackVector
Storage for the input tracks.
Definition: CosmicsTrackMergerFindlet.h:74
Belle2::CosmicsTrackMergerFindlet::apply
void apply() final
Main algorithm.
Definition: CosmicsTrackMergerFindlet.cc:49
Belle2::Path
Implements a path consisting of Module and/or Path objects.
Definition: Path.h:40
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::ModuleParamList
The Module parameter list class.
Definition: ModuleParamList.h:46
Belle2::CosmicsTrackMergerFindlet::m_param_outputRecoTracks
std::string m_param_outputRecoTracks
Parameter for the output reco tracks.
Definition: CosmicsTrackMergerFindlet.h:87
Belle2::CosmicsTrackMergerFindlet::m_param_inputRecoTracks
std::string m_param_inputRecoTracks
Parameter for the input reco tracks.
Definition: CosmicsTrackMergerFindlet.h:84
Belle2::CosmicsTrackMergerFindlet::initialize
void initialize() final
Init the store arrays.
Definition: CosmicsTrackMergerFindlet.cc:39