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...
bool isOptional(const std::string &name="")
Tell the DataStore about an optional input.
bool isValid() const
Check wether the array was registered.
int getEntries() const
Get the number of objects in the array.
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.