Belle II Software light-2406-ragdoll
RestOfEventBuilderModule.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
13#include <analysis/dataobjects/Particle.h>
14#include <analysis/dataobjects/ParticleList.h>
15#include <analysis/dataobjects/RestOfEvent.h>
16
17#include <mdst/dataobjects/Track.h>
18#include <mdst/dataobjects/ECLCluster.h>
19#include <mdst/dataobjects/KLMCluster.h>
20
21#include <framework/datastore/StoreArray.h>
22#include <framework/datastore/StoreObjPtr.h>
23
24namespace Belle2 {
43
44 public:
45
50
52 virtual void initialize() override;
53
55 virtual void event() override;
57 void createROE();
59 void createNestedROE();
60 private:
61
70 std::string m_particleListName;
71 std::string m_nestedMask;
72 std::vector<std::string> m_particleListsInput;
75 bool m_fromMC;
84 void addRemainingParticles(const Particle* particle, RestOfEvent* roe);
85
86 // cppcheck-suppress unusedPrivateFunction
88 void printEvent();
89
90 // cppcheck-suppress unusedPrivateFunction
92 void printParticle(const Particle* particle);
93 };
95}
Base class for Modules.
Definition: Module.h:72
Class to store reconstructed particles.
Definition: Particle.h:75
Creates for each Particle in given ParticleList an RestOfEvent (ROE) dataobject and makes basf2 relat...
StoreArray< RestOfEvent > m_roeArray
StoreArray of ROEs.
void addRemainingParticles(const Particle *particle, RestOfEvent *roe)
Adds all particles from input particle lists that are not used in reconstruction of given particle.
void createROE()
create usual (host) ROE
std::string m_particleListName
Name of the ParticleList.
StoreArray< KLMCluster > m_klmClusters
StoreArray of KLMCluster.
virtual void initialize() override
Overridden initialize method.
bool m_createNestedROE
Should we create nested ROE?
RestOfEventBuilderModule()
Constructor: Sets the description, the properties and the parameters of the module.
virtual void event() override
Overridden event method.
bool m_builtWithMostLikely
Is the ROE built with most-likely particle lists?
StoreArray< Particle > m_particles
StoreArray of Particles.
bool m_fromMC
Should we create MC ROE?
std::string m_nestedROEArrayName
Name of the nested ROE.
void printEvent()
for debugging purposes
StoreArray< Track > m_tracks
StoreArray of Tracks.
std::vector< std::string > m_particleListsInput
Name of the input particle lists of pi+ gamma and Klongs.
void printParticle(const Particle *particle)
for debugging purposes
StoreArray< ECLCluster > m_eclClusters
StoreArray of ECLCluster.
bool m_useKLMEnergy
Should we use KLM energy in ROE?
StoreObjPtr< ParticleList > m_particleList
input particle list
StoreArray< RestOfEvent > m_nestedROEArray
StoreArray of nested ROEs.
std::string m_nestedMask
Name of the ParticleList.
This is a general purpose class for collecting reconstructed MDST data objects that are not used in r...
Definition: RestOfEvent.h:57
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
Abstract base class for different kinds of events.
Definition: ClusterUtils.h:24