10#include <framework/datastore/StoreObjPtr.h>
11#include <framework/datastore/StoreArray.h>
12#include <analysis/dataobjects/Particle.h>
13#include <analysis/dataobjects/ParticleList.h>
24 class DecayDescriptor;
66 void registerList(
const std::string& listname,
bool save =
true);
98 m_list->addParticle(index, particle->getPDGCode(), particle->getFlavorType());
The DecayDescriptor stores information about a decay tree or parts of a decay tree.
Class to help managing creation and adding to ParticleLists.
int getPDGCode() const
Return the pdg code of the main list.
bool isSelfConjugated() const
Return whether or not this list is self conjugated.
Particle & add(Args &&... args)
Add a particle to the list by forwarding all arguments to the constructor of the Particle object: Any...
ParticleListHelper(const std::string &listname, bool save=true)
Construct and initialize right away.
StoreObjPtr< ParticleList > m_list
Store object for the list.
StoreArray< Particle > m_particles
Store array for the particles.
int m_pdg
PDG code of the list.
ParticleListHelper()=default
Default constructor, does nothing.
Particle & addParticle(const Particle &particle)
Non-templated convenience function to add a particle from an existing particle object.
Particle & addParticle(const ROOT::Math::PxPyPzEVector &momentum, bool conjugated=false)
Non-templated convenience function to add a particle from simple four momentum and an indicator wheth...
std::optional< StoreObjPtr< ParticleList > > m_antiList
Optional store object for the conjugated list if that exists.
Class to store reconstructed particles.
Accessor to arrays stored in the data store.
T * appendNew()
Construct a new T object at the end of the array.
int getEntries() const
Get the number of objects in the array.
Type-safe access to single objects in the data store.
void registerList(const std::string &listname, bool save=true)
Register a list by name.
void create()
Create the list objects.
Abstract base class for different kinds of events.