Belle II Software  release-05-02-19
VariablesToEventExtraInfoModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Yo Sato *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <framework/core/Module.h>
14 #include <framework/datastore/StoreObjPtr.h>
15 
16 #include <analysis/dataobjects/Particle.h>
17 #include <analysis/dataobjects/ParticleList.h>
18 #include <analysis/VariableManager/Manager.h>
19 
20 #include <string>
21 #include <map>
22 #include <vector>
23 
24 namespace Belle2 {
29  class Particle;
30 
38  class VariablesToEventExtraInfoModule : public Module {
39  public:
40 
45  virtual ~VariablesToEventExtraInfoModule() override;
46 
48  virtual void initialize() override;
50  virtual void event() override;
51 
52  private:
54  std::string m_inputListName;
58  std::map<std::string, std::string> m_variables;
60  std::vector<Variable::Manager::FunctionPtr> m_functions;
62  std::vector<std::string> m_extraInfoNames;
63 
65  int m_overwrite = 0;
66 
71  void addEventExtraInfo(const Particle* source);
72 
73  };
74 
76 } // Belle2 namespace
Belle2::VariablesToEventExtraInfoModule::m_extraInfoNames
std::vector< std::string > m_extraInfoNames
Vector of extra info names.
Definition: VariablesToEventExtraInfoModule.h:70
Belle2::VariablesToEventExtraInfoModule::m_functions
std::vector< Variable::Manager::FunctionPtr > m_functions
Vector of function pointers corresponding to given variables.
Definition: VariablesToEventExtraInfoModule.h:68
Belle2::VariablesToEventExtraInfoModule::m_inputListName
std::string m_inputListName
name of input particle list.
Definition: VariablesToEventExtraInfoModule.h:62
Belle2::VariablesToEventExtraInfoModule::m_inputList
StoreObjPtr< ParticleList > m_inputList
input particle list
Definition: VariablesToEventExtraInfoModule.h:64
Belle2::VariablesToEventExtraInfoModule::initialize
virtual void initialize() override
initialise
Definition: VariablesToEventExtraInfoModule.cc:42
Belle2::VariablesToEventExtraInfoModule::VariablesToEventExtraInfoModule
VariablesToEventExtraInfoModule()
Constructor.
Definition: VariablesToEventExtraInfoModule.cc:24
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::VariablesToEventExtraInfoModule::m_variables
std::map< std::string, std::string > m_variables
Map of variables and extraInfo names to save in the event-extra-info field.
Definition: VariablesToEventExtraInfoModule.h:66
Belle2::Particle
Class to store reconstructed particles.
Definition: Particle.h:77
Belle2::VariablesToEventExtraInfoModule::m_overwrite
int m_overwrite
-1/0/1/2: Overwrite if lower / don't overwrite / overwrite if higher / always overwrite,...
Definition: VariablesToEventExtraInfoModule.h:73
Belle2::VariablesToEventExtraInfoModule::event
virtual void event() override
process event: actually adds the extra info
Definition: VariablesToEventExtraInfoModule.cc:60
Belle2::VariablesToEventExtraInfoModule::addEventExtraInfo
void addEventExtraInfo(const Particle *source)
Adds extra info to the event.
Definition: VariablesToEventExtraInfoModule.cc:77