10#include <framework/datastore/SelectSubset.h>
11#include <analysis/dataobjects/Particle.h>
50 void fixParticles(
const std::map<int, int>& oldToNewMap);
56 static void fixVector(std::vector<int>& vec,
const std::map<int, int>& oldToNewMap);
Specialised SelectSubset<Particle> that also fixes daughter indices and all ParticleLists.
void removeParticlesNotInLists(const std::vector< std::string > &listNames)
Removes all Particles that are not in one of the given ParticleLists (or daughters of Particles in th...
void select(std::function< bool(const Particle *)> f)
select Particles for which f returns true, discard others
static void fixVector(std::vector< int > &vec, const std::map< int, int > &oldToNewMap)
replace entries in vec via oldToNewMap, removing those not found.
void fixParticles(const std::map< int, int > &oldToNewMap)
fix daughter indices, reset m_arrayPointer
void fixParticleLists(const std::map< int, int > &oldToNewMap)
fix contents of particlelists by updating indices or removing entries.
Class to store reconstructed particles.
bool m_inheritToSelf
If true, relations from set objects to set objects are copied.
bool m_reduceExistingSet
If true, non-selected candidates are removed from m_set, m_subset only exists temporarily.
void swapSetsAndDestroyOriginal()
Swap set and subset (+relations), and keep only the reduced set.
Class to create a subset of a given StoreArray together with the relations with other StoreArrays.
std::map< int, int > copySetWithRelations(std::function< bool(const Particle *)> f)
Selects the elements, fill the subset and copies all the relations in which the set is involved.
void copyRelationsToSelf()
Copy any set -> set relations between selected objects.
Abstract base class for different kinds of events.