Belle II Software development
InclusiveParticleCheckerModule.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10
11#include <framework/core/Module.h>
12#include <framework/datastore/StoreArray.h>
13#include <mdst/dataobjects/MCParticle.h>
14#include <boost/variant.hpp>
15#include <set>
16
17namespace Belle2 {
31
32 public:
33
39
41 virtual void initialize() override;
43 virtual void event() override;
44 private:
46 std::vector<boost::variant<std::string, int>> m_particles;
52 std::set<int> m_particleCodes;
53 };
55}
Check for the existence of an inclusive particle in the list of generated particles.
InclusiveParticleCheckerModule()
Constructor: Sets the description, the properties and the parameters of the module.
virtual void initialize() override
Register input and output data.
virtual void event() override
Look for the particle and set the return type.
bool m_includeConjugates
If true require either the particle or its charge conjugate.
std::vector< boost::variant< std::string, int > > m_particles
Name or PDG string of the particle to look for.
StoreArray< MCParticle > m_mcParticles
List of generated particles.
std::set< int > m_particleCodes
Set of PDG codes to look for.
Base class for Modules.
Definition: Module.h:72
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Abstract base class for different kinds of events.