9#include <mdst/modules/EventMerging/FixMergedObjectsModule.h>
11#include <analysis/dataobjects/Particle.h>
12#include <analysis/dataobjects/ParticleList.h>
13#include <framework/gearbox/Const.h>
14#include <framework/logging/Logger.h>
16#include <boost/algorithm/string.hpp>
32 setDescription(
"Fix indices of mdst objects (Tracks, V0s, MCParticles) after DataStores were merged using an independent path.");
46 if (particleArrays.size() > 0)
47 B2WARNING(
"Some Particle arrays are found in the DataStore: they are likely invalid/broken after having used the event embedding!"
48 <<
LogVar(
"Particle array names", boost::algorithm::join(particleArrays,
" ")));
50 if (particleListObjects.size() > 0)
51 B2WARNING(
"Some ParticleList objects are found in the DataStore: they are likely invalid/broken after having used the event embedding!"
52 <<
LogVar(
"ParticleList object names", boost::algorithm::join(particleListObjects,
" ")));
63 if (
m_tracks[t_idx]->m_trackFitIndices[i] == -1) {
static const unsigned int c_SetSize
Number of elements (for use in array bounds etc.)
std::vector< std::string > getListOfArrays(const TClass *arrayClass, EDurability durability) const
Returns a list of names of arrays which are of type (or inherit from) arrayClass.
std::vector< std::string > getListOfObjects(const TClass *objClass, EDurability durability) const
Returns a list of names of StoreObjPtr-objects whose class is (or inherits from) objClass.
@ c_Event
Different object in each event, all objects/arrays are invalidated after event() function has been ca...
static DataStore & Instance()
Instance of singleton Store.
virtual void initialize() override
Initialize the Module.
StoreArray< V0 > m_v0s
v0s
virtual void event() override
Event processor.
StoreArray< Track > m_tracks
tracks
FixMergedObjectsModule()
Constructor.
StoreObjPtr< EventExtraInfo > m_mergedArrayIndices
indices where the StoreArrays were merged
StoreArray< MCParticle > m_mcParticles
mcparticles
void setDescription(const std::string &description)
Sets the description of the module.
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
Class to store variables with their name which were sent to the logging service.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Abstract base class for different kinds of events.