9#include <analysis/modules/RemoveParticlesNotInLists/RemoveParticlesNotInLists.h>
10#include <analysis/dataobjects/ParticleList.h>
12#include <framework/logging/Logger.h>
13#include <framework/datastore/StoreObjPtr.h>
23 setDescription(
"Removes all Particles that are not in one of the given ParticleLists (or daughters of Particles in the lists). All relations from/to Particles, daughter indices, and other ParticleLists are fixed. Note that this does not currently touch any data used to create final state particles, which might make up a large fraction of the total file size.");
54 B2INFO(
getName() <<
": removed " <<
m_nRemoved <<
" Particles (" << perc <<
" % of total amount).");
void setDescription(const std::string &description)
Sets the description of the module.
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
const std::string & getName() const
Returns the name of the module.
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
virtual void initialize() override
Initialize the Module.
virtual void event() override
process event
StoreArray< Particle > m_particles
StoreArray of Particles.
virtual void terminate() override
Terminate the Module.
unsigned long m_nTotal
number of particles before removal.
RemoveParticlesNotInListsModule()
Constructor.
ParticleSubset m_subset
reduces the Particles array.
std::vector< std::string > m_particleLists
keep Particles and daughters in these lists.
unsigned long m_nRemoved
number of particles removed.
bool isRequired(const std::string &name="")
Ensure this array/object has been registered previously.
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.