10#include <tracking/trackFindingCDC/filters/base/RecordingFilter.dcl.h>
12#include <tracking/trackFindingCDC/filters/base/FilterFactory.fwd.h>
14#include <tracking/trackFindingCDC/varsets/BaseVarSet.h>
25 class ModuleParamList;
26 namespace TrackFindingCDC {
32 template <
class AFilter>
44 using Object =
typename AFilter::Object;
53 const std::string& defaultRootFileName =
"records.root",
54 const std::string& defaultTreeName =
"records");
72 virtual std::unique_ptr<AVarSet>
createVarSet(
const std::string& name)
const;
89 template <
class AFilterFactory>
99 const std::string& defaultTreeName =
"records");
The Module parameter list class.
Factory that can create apropriate filter instances from a name.
Filter adapter to make a filter work on a set of variables and record the observed instances on invok...
Convience template to create a recording filter for a filter factory.
~UnionRecordingFilter()
Default destructor.
A filter that records variables form given objects.
virtual std::vector< std::string > getValidFilterNames() const
Getter for the names of valid filters.
void initialize() override
Initialize the recorder before event processing.
std::vector< std::string > m_param_varSetNames
List of varsets that should be recorded.
std::string m_param_skim
Name of the filter to selected to objects to be record.
~UnionRecording()
Default destructor.
std::unique_ptr< AFilterFactory > m_filterFactory
FilterFactory.
const std::vector< std::string > & getVarSetNames() const
Splits the comma separated variable names list into a vector of names.
typename AFilter::Object Object
Type of the object to be analysed.
virtual std::unique_ptr< AVarSet > createVarSet(const std::string &name) const
Create a variable set for the given name.
virtual std::vector< std::string > getValidVarSetNames() const
Getter for the list of valid names of concret variable sets.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the set of parameters of the filter to the module parameter list.
Abstract base class for different kinds of events.