10 #include <tracking/trackFindingCDC/filters/facet/FacetFilterFactory.h>
12 #include <tracking/trackFindingCDC/filters/facet/BaseFacetFilter.h>
13 #include <tracking/trackFindingCDC/filters/facet/AllFacetFilter.h>
14 #include <tracking/trackFindingCDC/filters/facet/MCFacetFilter.h>
15 #include <tracking/trackFindingCDC/filters/facet/FeasibleRLFacetFilter.h>
16 #include <tracking/trackFindingCDC/filters/facet/SimpleFacetFilter.h>
17 #include <tracking/trackFindingCDC/filters/facet/RealisticFacetFilter.h>
18 #include <tracking/trackFindingCDC/filters/facet/Chi2FacetFilter.h>
19 #include <tracking/trackFindingCDC/filters/facet/UnionRecordingFacetFilter.h>
20 #include <tracking/trackFindingCDC/filters/facet/MVAFacetFilter.h>
22 #include <tracking/trackFindingCDC/filters/base/NoneFilter.icc.h>
24 #include <tracking/trackFindingCDC/filters/base/FilterFactory.icc.h>
28 using namespace TrackFindingCDC;
33 :
Super(defaultFilterName)
44 return "Facet filter to construct of a facet network";
50 {
"none",
"no facet is valid, stop at cluster generation."},
51 {
"all",
"all facets are valid"},
52 {
"truth",
"monte carlo truth"},
53 {
"feasible",
"only checking the feasability of right left passage information"},
54 {
"simple",
"mc free with simple criteria"},
55 {
"realistic",
"mc free with realistic criteria"},
56 {
"realistic_loss",
"mc with realistice criteria but losser cut"},
57 {
"chi2",
"mc free based on chi2 fitting"},
58 {
"chi2_old",
"old based on chi2 fitting with single cut regardless of superlayer"},
59 {
"unionrecording",
"record many multiple choosable variable set"},
60 {
"mva",
"filter facets with a mva method"},
66 if (filterName ==
"none") {
67 return std::make_unique<NoneFilter<BaseFacetFilter>>();
68 }
else if (filterName ==
"all") {
69 return std::make_unique<AllFacetFilter>();
70 }
else if (filterName ==
"truth") {
71 return std::make_unique<MCFacetFilter>();
72 }
else if (filterName ==
"feasible") {
73 return std::make_unique<FeasibleRLFacetFilter>();
74 }
else if (filterName ==
"simple") {
75 return std::make_unique<SimpleFacetFilter>();
76 }
else if (filterName ==
"realistic") {
77 return std::make_unique<RealisticFacetFilter>();
78 }
else if (filterName ==
"realistic_loss") {
79 return std::make_unique<RealisticFacetFilter>(25);
80 }
else if (filterName ==
"chi2") {
81 return std::make_unique<Chi2FacetFilter>();
82 }
else if (filterName ==
"chi2_old") {
83 return std::make_unique<Chi2FacetFilter>(75.0, 120.0);
84 }
else if (filterName ==
"unionrecording") {
85 return std::make_unique<UnionRecordingFacetFilter>();
86 }
else if (filterName ==
"mva") {
87 return std::make_unique<MVAFacetFilter>();