Belle II Software  release-05-01-25
WireHitFilterFactory.cc
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Oliver Frost, Cyrille Praz *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #include <tracking/trackFindingCDC/filters/wireHit/WireHitFilterFactory.h>
11 
12 #include <tracking/trackFindingCDC/filters/wireHit/BaseWireHitFilter.h>
13 #include <tracking/trackFindingCDC/filters/wireHit/AllWireHitFilter.h>
14 #include <tracking/trackFindingCDC/filters/wireHit/CutsFromDBWireHitFilter.h>
15 #include <tracking/trackFindingCDC/filters/base/FilterFactory.icc.h>
16 
17 
18 using namespace Belle2;
19 using namespace TrackFindingCDC;
20 
22 
23 WireHitFilterFactory::WireHitFilterFactory(const std::string& defaultFilterName)
24  : Super(defaultFilterName)
25 {
26 }
27 
29 
31 {
32  return "WireHit";
33 }
34 
36 {
37  return "WireHit filter to reject background. ";
38 }
39 
40 std::map<std::string, std::string> WireHitFilterFactory::getValidFilterNamesAndDescriptions() const
41 {
42  return {
43  {"all", "all wireHits are valid."},
44  {"cuts_from_DB", "wireHits filtered by cuts from DB."}
45  };
46 }
47 
48 std::unique_ptr<Filter<CDCWireHit> >
49 WireHitFilterFactory::create(const std::string& filterName) const
50 {
51  if (filterName == "all") {
52  return std::make_unique<AllWireHitFilter>();
53  } else if (filterName == "cuts_from_DB") {
54  return std::make_unique<CutsFromDBWireHitFilter>();
55  } else {
56  return Super::create(filterName);
57  }
58 }
Belle2::TrackFindingCDC::FilterFactory< BaseWireHitFilter >
Belle2::TrackFindingCDC::WireHitFilterFactory::~WireHitFilterFactory
~WireHitFilterFactory()
Default destructor.
Belle2::TrackFindingCDC::FilterFactory< BaseWireHitFilter >::create
virtual std::unique_ptr< BaseWireHitFilter > create(const std::string &filterName) const
Create a filter with the given name, does not set filter specific parameters.
Definition: FilterFactory.icc.h:54
Belle2::TrackFindingCDC::WireHitFilterFactory::create
std::unique_ptr< BaseWireHitFilter > create(const std::string &filterName) const override
Create a filter with the given name.
Definition: WireHitFilterFactory.cc:49
Belle2::TrackFindingCDC::WireHitFilterFactory::getIdentifier
std::string getIdentifier() const override
Getter for a short identifier for the factory.
Definition: WireHitFilterFactory.cc:30
Belle2::TrackFindingCDC::WireHitFilterFactory::WireHitFilterFactory
WireHitFilterFactory(const std::string &defaultFilterName="all")
Constructor forwarding the default filter name.
Definition: WireHitFilterFactory.cc:23
Belle2::TrackFindingCDC::WireHitFilterFactory::getValidFilterNamesAndDescriptions
std::map< std::string, std::string > getValidFilterNamesAndDescriptions() const override
Getter for valid filter names and a description for each.
Definition: WireHitFilterFactory.cc:40
Belle2::TrackFindingCDC::WireHitFilterFactory::getFilterPurpose
std::string getFilterPurpose() const override
Getter for a descriptive purpose of the constructed filters.
Definition: WireHitFilterFactory.cc:35
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19