10 #include <tracking/trackFindingCDC/filters/segmentPairRelation/SegmentPairRelationFilterFactory.h>
12 #include <tracking/trackFindingCDC/filters/segmentPairRelation/BaseSegmentPairRelationFilter.h>
13 #include <tracking/trackFindingCDC/filters/segmentPairRelation/AllSegmentPairRelationFilter.h>
14 #include <tracking/trackFindingCDC/filters/segmentPairRelation/MCSegmentPairRelationFilter.h>
15 #include <tracking/trackFindingCDC/filters/segmentPairRelation/SimpleSegmentPairRelationFilter.h>
16 #include <tracking/trackFindingCDC/filters/segmentPairRelation/UnionRecordingSegmentPairRelationFilter.h>
17 #include <tracking/trackFindingCDC/filters/segmentPairRelation/MVARealisticSegmentPairRelationFilter.h>
19 #include <tracking/trackFindingCDC/filters/base/NoneFilter.icc.h>
21 #include <tracking/trackFindingCDC/filters/base/FilterFactory.icc.h>
25 using namespace TrackFindingCDC;
30 :
Super(defaultFilterName)
36 return "SegmentPairRelation";
41 return "Segment pair relation filter to construct of a segment pair network";
44 std::map<std::string, std::string>
48 {
"none",
"no segment pair relation is valid, stop at segment pair creation"},
49 {
"all",
"all segment pair relations are valid"},
50 {
"truth",
"segment pair relations from monte carlo truth"},
51 {
"simple",
"mc free with simple criteria"},
52 {
"unionrecording",
"record multiple choosable variable set"},
53 {
"realistic",
"mc free using a mva method"},
57 std::unique_ptr<BaseSegmentPairRelationFilter>
60 if (filterName ==
"none") {
61 return std::make_unique<NoneFilter<BaseSegmentPairRelationFilter>>();
62 }
else if (filterName ==
"all") {
63 return std::make_unique<AllSegmentPairRelationFilter>();
64 }
else if (filterName ==
"truth") {
65 return std::make_unique<MCSegmentPairRelationFilter>();
66 }
else if (filterName ==
"simple") {
67 return std::make_unique<SimpleSegmentPairRelationFilter>();
68 }
else if (filterName ==
"unionrecording") {
69 return std::make_unique<UnionRecordingSegmentPairRelationFilter>();
70 }
else if (filterName ==
"realistic") {
71 return std::make_unique<MVARealisticSegmentPairRelationFilter>();