Belle II Software  release-08-01-10
StoreArrayMerger.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 
12 #include <tracking/dataobjects/RecoTrack.h>
13 
14 namespace Belle2 {
19  class ModuleParamList;
20 
27  class StoreArrayMerger : public TrackFindingCDC::Findlet<RecoTrack*, RecoTrack*> {
30  public:
32  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
33 
35  void initialize() override;
36 
38  void apply(std::vector<RecoTrack*>& cdcRecoTrackVector, std::vector<RecoTrack*>& vxdRecoTrackVector) override;
39 
41  void removeCDCRecoTracksWithPartner(std::vector<RecoTrack*>& tracks);
42 
44  void removeVXDRecoTracksWithPartner(std::vector<RecoTrack*>& tracks);
45 
50 
51  private:
52  // Parameters
57 
58  // Store Arrays
63 
65  void removeRecoTracksWithPartner(std::vector<RecoTrack*>& tracks, const std::string& partnerStoreArrayName);
66  };
68 }
The Module parameter list class.
This findlet has helper function to.
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.
std::string m_param_cdcRecoTrackStoreArrayName
StoreArray name of the CDC Track Store Array.
void initialize() override
Require/register the store arrays.
std::string m_param_vxdRecoTrackStoreArrayName
StoreArray name of the VXD Track Store Array.
const std::string & getVXDStoreArrayName()
Get the name of the VXD StoreArray<RecoTrack>
void removeCDCRecoTracksWithPartner(std::vector< RecoTrack * > &tracks)
Helper function to remove all tracks, which have a related VXD track from the vector.
StoreArray< RecoTrack > m_vxdRecoTracks
VXD Reco Tracks Store Array.
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...
void removeVXDRecoTracksWithPartner(std::vector< RecoTrack * > &tracks)
Helper function to remove all tracks, which have a related CDC track from the vector.
const std::string & getCDCStoreArrayName()
Get the name of the CDC StoreArray<RecoTrack>
StoreArray< RecoTrack > m_cdcRecoTracks
CDC Reco Tracks Store Array.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the findlet.
Interface for a minimal algorithm part that wants to expose some parameters to a module.
Definition: Findlet.h:26
Abstract base class for different kinds of events.