Belle II Software  release-05-01-25
UnionRecordingFacetRelationFilter.cc
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Oliver Frost *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #include <tracking/trackFindingCDC/filters/facetRelation/UnionRecordingFacetRelationFilter.h>
11 
12 #include <tracking/trackFindingCDC/filters/facetRelation/MVAFacetRelationFilter.h>
13 
14 #include <tracking/trackFindingCDC/filters/facetRelation/FitFacetRelationVarSet.h>
15 #include <tracking/trackFindingCDC/filters/facetRelation/BendFacetRelationVarSet.h>
16 #include <tracking/trackFindingCDC/filters/facetRelation/BasicFacetRelationVarSet.h>
17 #include <tracking/trackFindingCDC/filters/facetRelation/BaseFacetRelationFilter.h>
18 
19 #include <tracking/trackFindingCDC/filters/facet/FitlessFacetVarSet.h>
20 
21 #include <tracking/trackFindingCDC/filters/base/UnionRecordingFilter.icc.h>
22 
23 #include <tracking/trackFindingCDC/varsets/RelationVarSet.h>
24 
25 using namespace Belle2;
26 using namespace TrackFindingCDC;
27 
29 
30 std::vector<std::string>
32 {
33  std::vector<std::string> varSetNames = Super::getValidVarSetNames();
34  varSetNames.insert(varSetNames.end(), {"basic", "relation", " bend", "fit", "mva"});
35  return varSetNames;
36 }
37 
38 std::unique_ptr<BaseVarSet<Relation<const CDCFacet> > >
40 {
41  if (name == "basic") {
42  return std::make_unique<BasicFacetRelationVarSet>();
43  } else if (name == "relation") {
44  return std::make_unique<RelationVarSet<FitlessFacetVarSet> >();
45  } else if (name == "bend") {
46  return std::make_unique<BendFacetRelationVarSet>();
47  } else if (name == "fit") {
48  return std::make_unique<FitFacetRelationVarSet>();
49  } else if (name == "mva") {
50  MVAFacetRelationFilter mvaFacetRelationFilter;
51  return std::move(mvaFacetRelationFilter).releaseVarSet();
52  } else {
53  return Super::createVarSet(name);
54  }
55 }
Belle2::TrackFindingCDC::UnionRecording< FacetRelationFilterFactory ::CreatedFilter >::getValidVarSetNames
virtual std::vector< std::string > getValidVarSetNames() const
Getter for the list of valid names of concret variable sets.
Definition: UnionRecordingFilter.icc.h:101
Belle2::TrackFindingCDC::UnionRecordingFacetRelationFilter::getValidVarSetNames
std::vector< std::string > getValidVarSetNames() const override
Get the valid names of variable sets for facet relations.
Definition: UnionRecordingFacetRelationFilter.cc:31
Belle2::TrackFindingCDC::UnionRecordingFacetRelationFilter::createVarSet
std::unique_ptr< BaseVarSet< Relation< const CDCFacet > > > createVarSet(const std::string &name) const override
Create a concrete variables set for facet relations from a name.
Definition: UnionRecordingFacetRelationFilter.cc:39
Belle2::TrackFindingCDC::UnionRecordingFilter< FacetRelationFilterFactory >
Belle2::TrackFindingCDC::MVAFacetRelationFilter
Background facetRelation detection based on MVA.
Definition: MVAFacetRelationFilter.h:40
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::OnVarSet::releaseVarSet
std::unique_ptr< AVarSet > releaseVarSet() &&
Steal the set of variables form this filter - filter becomes disfunctional afterwards.
Definition: FilterOnVarSet.icc.h:85
Belle2::TrackFindingCDC::UnionRecording< FacetRelationFilterFactory ::CreatedFilter >::createVarSet
virtual std::unique_ptr< AVarSet > createVarSet(const std::string &name) const
Create a variable set for the given name.
Definition: UnionRecordingFilter.icc.h:131