Belle II Software  release-05-02-19
MCVXDCDCTrackMergerModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2018 - 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/FindletModule.h>
13 #include <tracking/trackFindingCDC/findlets/base/Findlet.h>
14 #include <tracking/trackFindingCDC/collectors/selectors/BestMatchSelector.h>
15 #include <tracking/trackFindingCDC/collectors/adders/RelationAdder.h>
16 
17 #include <tracking/modules/vxdCDCTrackMerger/StoreArrayMerger.h>
18 
19 #include <framework/core/ModuleParamList.h>
20 
21 namespace Belle2 {
26  class RecoTrack;
27 
29  class MCVXDCDCTrackMergerFindlet : public TrackFindingCDC::Findlet<> {
30  public:
33 
35  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
36 
38  void apply() override;
39 
40  private:
41  // Findlets
43  StoreArrayMerger m_storeArrayMerger;
45  TrackFindingCDC::BestMatchSelector<RecoTrack*, RecoTrack*> m_bestMatchSelector;
47  TrackFindingCDC::RelationAdder<RecoTrack*, RecoTrack*> m_relationAdder;
48 
49  // Parameters
52  };
53 
55 
58  class MCVXDCDCTrackMergerModule : public TrackFindingCDC::FindletModule<MCVXDCDCTrackMergerFindlet> {
59  public:
61  {
63  "This module merges tracks which are reconstructed, separately, in the silicon (PXD+VXD) and in the CDC using MC");
64  }
65  };
67 }
Belle2::Module::setDescription
void setDescription(const std::string &description)
Sets the description of the module.
Definition: Module.cc:216
Belle2::MCVXDCDCTrackMergerFindlet::m_relationAdder
TrackFindingCDC::RelationAdder< RecoTrack *, RecoTrack * > m_relationAdder
Use the weighted relations to turn them into real DataStore relations.
Definition: MCVXDCDCTrackMergerModule.h:55
Belle2::MCVXDCDCTrackMergerFindlet::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
Definition: MCVXDCDCTrackMergerModule.cc:28
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::MCVXDCDCTrackMergerFindlet::apply
void apply() override
Do the track merging.
Definition: MCVXDCDCTrackMergerModule.cc:39
Belle2::MCVXDCDCTrackMergerFindlet::m_bestMatchSelector
TrackFindingCDC::BestMatchSelector< RecoTrack *, RecoTrack * > m_bestMatchSelector
Make a best candidate selection.
Definition: MCVXDCDCTrackMergerModule.h:53
Belle2::MCVXDCDCTrackMergerFindlet::m_param_onlyFittedCDCTracks
bool m_param_onlyFittedCDCTracks
Only use fitted CDC tracks, as otherwise the comparison with the CKF is unfair.
Definition: MCVXDCDCTrackMergerModule.h:59
Belle2::MCVXDCDCTrackMergerModule
This module merges tracks which are reconstructed, separately, in the silicon (PXD+VXD) and in the CD...
Definition: MCVXDCDCTrackMergerModule.h:66
Belle2::MCVXDCDCTrackMergerFindlet::m_storeArrayMerger
StoreArrayMerger m_storeArrayMerger
Get and write back the relations to the store array.
Definition: MCVXDCDCTrackMergerModule.h:51
Belle2::MCVXDCDCTrackMergerFindlet::MCVXDCDCTrackMergerFindlet
MCVXDCDCTrackMergerFindlet()
Constructor, for setting module description and parameters.
Definition: MCVXDCDCTrackMergerModule.cc:21
Belle2::TrackFindingCDC::FindletModule
Adapter of a findlet to a module that exposes the parameters of the findlet and manages the IO with t...
Definition: FindletModule.h:40