Belle II Software light-2406-ragdoll
VariablesToEventExtraInfoModule.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/StoreObjPtr.h>
13
14#include <framework/dataobjects/EventExtraInfo.h>
15#include <analysis/dataobjects/Particle.h>
16#include <analysis/dataobjects/ParticleList.h>
17#include <analysis/VariableManager/Manager.h>
18
19#include <string>
20#include <map>
21#include <vector>
22
23namespace Belle2 {
28 class Particle;
29
38 public:
39
44 virtual ~VariablesToEventExtraInfoModule() override;
45
47 virtual void initialize() override;
49 virtual void event() override;
50
51 private:
53 std::string m_inputListName;
59 std::map<std::string, std::string> m_variables;
61 std::vector<Variable::Manager::FunctionPtr> m_functions;
63 std::vector<std::string> m_extraInfoNames;
64
66 int m_overwrite = 0;
67
72 void addEventExtraInfo(const Particle* source);
73
74 };
75
77} // Belle2 namespace
Base class for Modules.
Definition: Module.h:72
Class to store reconstructed particles.
Definition: Particle.h:75
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
For each particle in the input list the selected variables are saved in an event-extra-info field wit...
void addEventExtraInfo(const Particle *source)
Adds extra info to the event.
virtual void event() override
process event: actually adds the extra info
StoreObjPtr< ParticleList > m_inputList
input particle list
int m_overwrite
-1/0/1/2: Overwrite if lower / don't overwrite / overwrite if higher / always overwrite,...
std::vector< Variable::Manager::FunctionPtr > m_functions
Vector of function pointers corresponding to given variables.
std::map< std::string, std::string > m_variables
Map of variables and extraInfo names to save in the event-extra-info field.
StoreObjPtr< EventExtraInfo > m_eventExtraInfo
event extra info object pointer
std::vector< std::string > m_extraInfoNames
Vector of extra info names.
std::string m_inputListName
name of input particle list.
Abstract base class for different kinds of events.
Definition: ClusterUtils.h:24