10#include <tracking/trackFindingCDC/filters/base/FilterFactory.fwd.h>
12#include <tracking/trackFindingCDC/filters/base/FilterParamMap.h>
14#include <tracking/trackFindingCDC/numerics/Weight.h>
29 namespace TrackFindingCDC {
31 template <
class AFilter>
40 using Object =
typename AFilter::Object;
43 using Super::operator();
51 const std::string& filterName);
76 virtual std::vector<float>
operator()(
const std::vector <Object*>& objs)
override;
105 template <
class AFilterFactory>
107 :
public Chooseable<typename AFilterFactory::CreatedFilter> {
The Module parameter list class.
ChooseableFilter(const std::string &filterName)
Constructor of the chooseable filter taking the default filter name.
ChooseableFilter()
Constructor of the chooseable filter.
Chooseable< typename PXDResultFilterFactory::CreatedFilter > Super
Chooseable(std::unique_ptr< FilterFactory< AFilter > > filterFactory)
Setup the chooseable filter with available choices from the factory.
void initialize() override
Initialize before event processing.
std::unique_ptr< FilterFactory< typename AFilterFactory::CreatedFilter > > m_filterFactory
bool needsTruthInformation() override
Indicates if the filter requires Monte Carlo information.
Chooseable(std::unique_ptr< FilterFactory< AFilter > > filterFactory, const std::string &filterName)
Setup the chooseable filter with available choices from the factory and a default name.
AFilter Super
Type of the base class.
virtual std::vector< float > operator()(const std::vector< Object * > &objs) override
Evaluate the MVA method over a vector of objects. Returns float weight or NAN (when object is rejecte...
Weight operator()(const Object &object) const
Const version of operator.
std::unique_ptr< typename AFilterFactory::CreatedFilter > m_filter
std::string m_param_filterName
std::string getFilterName() const
Return name of the selected filter.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the set of parameters of the filter to the module parameter list.
typename AFilter::Object Object
Type of the object to be analysed.
Weight operator()(const Object &object) final
Function to evaluate the object.
FilterParamMap m_param_filterParameters
Factory that can create appropriate filter instances from a name.
Variant of types allowed to be forwarded to a filter selected at runtime.
Abstract base class for different kinds of events.