Belle II Software  release-05-02-19
StoreArrayMerger.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - 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/Findlet.h>
13 
14 #include <tracking/dataobjects/RecoTrack.h>
15 
16 namespace Belle2 {
21  class ModuleParamList;
22 
29  class StoreArrayMerger : public TrackFindingCDC::Findlet<RecoTrack*, RecoTrack*> {
31  using Super = TrackFindingCDC::Findlet<RecoTrack*, RecoTrack*>;
32  public:
34  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
35 
37  void initialize() override;
38 
40  void apply(std::vector<RecoTrack*>& cdcRecoTrackVector, std::vector<RecoTrack*>& vxdRecoTrackVector) override;
41 
43  void removeCDCRecoTracksWithPartner(std::vector<RecoTrack*>& tracks);
44 
46  void removeVXDRecoTracksWithPartner(std::vector<RecoTrack*>& tracks);
47 
49  const std::string& getVXDStoreArrayName() { return m_param_vxdRecoTrackStoreArrayName; }
51  const std::string& getCDCStoreArrayName() { return m_param_cdcRecoTrackStoreArrayName; }
52 
53  private:
54  // Parameters
59 
60  // Store Arrays
65 
67  void removeRecoTracksWithPartner(std::vector<RecoTrack*>& tracks, const std::string& partnerStoreArrayName);
68  };
70 }
Belle2::StoreArrayMerger::apply
void apply(std::vector< RecoTrack * > &cdcRecoTrackVector, std::vector< RecoTrack * > &vxdRecoTrackVector) override
Fetch the RecoTracks from the two input Store Arrays and fill them into two vectors.
Definition: StoreArrayMerger.cc:42
Belle2::StoreArrayMerger::m_cdcRecoTracks
StoreArray< RecoTrack > m_cdcRecoTracks
CDC Reco Tracks Store Array.
Definition: StoreArrayMerger.h:70
Belle2::StoreArrayMerger::Super
TrackFindingCDC::Findlet< RecoTrack *, RecoTrack * > Super
The parent class.
Definition: StoreArrayMerger.h:39
Belle2::StoreArrayMerger::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the findlet.
Definition: StoreArrayMerger.cc:19
Belle2::StoreArrayMerger::m_vxdRecoTracks
StoreArray< RecoTrack > m_vxdRecoTracks
VXD Reco Tracks Store Array.
Definition: StoreArrayMerger.h:72
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::StoreArrayMerger::getVXDStoreArrayName
const std::string & getVXDStoreArrayName()
Get the name of the VXD StoreArray<RecoTrack>
Definition: StoreArrayMerger.h:57
Belle2::StoreArrayMerger::initialize
void initialize() override
Require/register the store arrays.
Definition: StoreArrayMerger.cc:31
Belle2::StoreArrayMerger::removeCDCRecoTracksWithPartner
void removeCDCRecoTracksWithPartner(std::vector< RecoTrack * > &tracks)
Helper function to remove all tracks, which have a related VXD track from the vector.
Definition: StoreArrayMerger.cc:56
Belle2::StoreArrayMerger::m_param_vxdRecoTrackStoreArrayName
std::string m_param_vxdRecoTrackStoreArrayName
StoreArray name of the VXD Track Store Array.
Definition: StoreArrayMerger.h:64
Belle2::StoreArrayMerger::getCDCStoreArrayName
const std::string & getCDCStoreArrayName()
Get the name of the CDC StoreArray<RecoTrack>
Definition: StoreArrayMerger.h:59
Belle2::StoreArrayMerger::removeVXDRecoTracksWithPartner
void removeVXDRecoTracksWithPartner(std::vector< RecoTrack * > &tracks)
Helper function to remove all tracks, which have a related CDC track from the vector.
Definition: StoreArrayMerger.cc:61
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::StoreArrayMerger::removeRecoTracksWithPartner
void removeRecoTracksWithPartner(std::vector< RecoTrack * > &tracks, const std::string &partnerStoreArrayName)
Helper function to remove all element in a std::vector, which have already a relation to the given st...
Definition: StoreArrayMerger.cc:66
Belle2::StoreArrayMerger::m_param_cdcRecoTrackStoreArrayName
std::string m_param_cdcRecoTrackStoreArrayName
StoreArray name of the CDC Track Store Array.
Definition: StoreArrayMerger.h:66