9#include <analysis/modules/SkimFilter/SkimFilterModule.h>
10#include <analysis/dataobjects/ParticleList.h>
11#include <framework/core/Environment.h>
12#include <framework/datastore/StoreObjPtr.h>
13#include <boost/algorithm/string/split.hpp>
14#include <boost/algorithm/string/replace.hpp>
15#include <boost/algorithm/string/classification.hpp>
20using namespace boost::algorithm;
28 setDescription(
"Filter based on ParticleLists, by setting return value to true if at least one of the given lists is not empty.");
41 B2INFO(
"Number of ParticleLists studied " << nParticleLists <<
" ");
54 for (
int iList = 0; iList < nParticleLists; ++iList) {
61 if (particlelist->getListSize() == 0)
continue;
75 B2INFO(
"SkimFilter Summary: \n");
76 std::ostringstream stream;
77 stream <<
"\n=======================================================\n";
79 stream <<
"\n=======================================================\n";
static Environment & Instance()
Static method to get a reference to the Environment instance.
void setDescription(const std::string &description)
Sets the description of the module.
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
void setReturnValue(int value)
Sets the return value for this module as integer.
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
SkimFilterModule()
Constructor.
virtual void initialize() override
Initialises the module.
virtual void event() override
Method called for each event.
virtual void terminate() override
Write TTree to file, and close file if necessary.
std::vector< std::string > m_strParticleLists
Name of the lists.
int m_nPass
Number of events with Particle candidates.
Type-safe access to single objects in the data store.
void addParam(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Abstract base class for different kinds of events.