Belle II Software  release-05-01-25
UnionRecordingSegmentPairFilter.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/segmentPair/UnionRecordingSegmentPairFilter.h>
11 
12 #include <tracking/trackFindingCDC/filters/segmentPair/BasicSegmentPairVarSet.h>
13 
14 #include <tracking/trackFindingCDC/filters/segmentPair/HitGapSegmentPairVarSet.h>
15 #include <tracking/trackFindingCDC/filters/segmentPair/SkimmedHitGapSegmentPairVarSet.h>
16 #include <tracking/trackFindingCDC/filters/segmentPair/FitlessSegmentPairVarSet.h>
17 #include <tracking/trackFindingCDC/filters/segmentPair/FitSegmentPairVarSet.h>
18 #include <tracking/trackFindingCDC/filters/segmentPair/TruthSegmentPairVarSet.h>
19 #include <tracking/trackFindingCDC/filters/segmentPair/TrailSegmentPairVarSet.h>
20 
21 #include <tracking/trackFindingCDC/filters/segmentPair/MVAFeasibleSegmentPairFilter.h>
22 #include <tracking/trackFindingCDC/filters/segmentPair/MVARealisticSegmentPairFilter.h>
23 
24 #include <tracking/trackFindingCDC/filters/base/UnionRecordingFilter.icc.h>
25 
26 using namespace Belle2;
27 using namespace TrackFindingCDC;
28 
30 
31 std::vector<std::string>
33 {
34  std::vector<std::string> varSetNames = Super::getValidVarSetNames();
35  varSetNames.insert(varSetNames.end(), {
36  "basic",
37  "hit_gap",
38  "skimmed_hit_gap",
39  "fitless",
40  "feasible",
41  "pre_fit",
42  "fit",
43  "releastic",
44  "truth",
45  "trail"
46  });
47 
48  return varSetNames;
49 }
50 
51 std::unique_ptr<BaseVarSet<CDCSegmentPair> >
52 UnionRecordingSegmentPairFilter::createVarSet(const std::string& name) const
53 {
54  if (name == "basic") {
55  return std::make_unique<BasicSegmentPairVarSet>();
56  } else if (name == "hit_gap") {
57  return std::make_unique<HitGapSegmentPairVarSet>();
58  } else if (name == "skimmed_hit_gap") {
59  return std::make_unique<SkimmedHitGapSegmentPairVarSet>();
60  } else if (name == "fitless") {
61  return std::make_unique<FitlessSegmentPairVarSet>();
62  } else if (name == "feasible") {
64  return std::move(filter).releaseVarSet();
65  } else if (name == "pre_fit") {
66  const bool preliminaryFit = true;
67  return std::make_unique<FitSegmentPairVarSet>(preliminaryFit);
68  } else if (name == "fit") {
69  return std::make_unique<FitSegmentPairVarSet>(false);
70  } else if (name == "realistic") {
72  return std::move(filter).releaseVarSet();
73  } else if (name == "truth") {
74  return std::make_unique<TruthSegmentPairVarSet>();
75  } else if (name == "trail") {
76  return std::make_unique<TrailSegmentPairVarSet>();
77  } else {
78  return Super::createVarSet(name);
79  }
80 }
Belle2::TrackFindingCDC::UnionRecordingSegmentPairFilter::createVarSet
std::unique_ptr< BaseVarSet< CDCSegmentPair > > createVarSet(const std::string &name) const final
Create a concrete variables set for segment pairs from a name.
Definition: UnionRecordingSegmentPairFilter.cc:52
Belle2::TrackFindingCDC::UnionRecording< SegmentPairFilterFactory ::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::MVAFeasibleSegmentPairFilter
Filter for the constuction of segment pairs based on simple criteria without the common fit.
Definition: MVAFeasibleSegmentPairFilter.h:38
Belle2::TrackFindingCDC::UnionRecordingFilter< SegmentPairFilterFactory >
Belle2::filter
std::map< ExpRun, std::pair< double, double > > filter(const std::map< ExpRun, std::pair< double, double >> &runs, double cut, std::map< ExpRun, std::pair< double, double >> &runsRemoved)
filter events to remove runs shorter than cut, it stores removed runs in runsRemoved
Definition: Splitter.cc:43
Belle2::TrackFindingCDC::MVARealisticSegmentPairFilter
Final filter for the constuction of segment pairs.
Definition: MVARealisticSegmentPairFilter.h:43
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::UnionRecordingSegmentPairFilter::getValidVarSetNames
std::vector< std::string > getValidVarSetNames() const final
Get the valid names of variable sets for segment pairs.
Definition: UnionRecordingSegmentPairFilter.cc:32
Belle2::TrackFindingCDC::UnionRecording< SegmentPairFilterFactory ::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