Belle II Software  release-05-02-19
VariablesToExtraInfoModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2014 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Simon Kohl *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <framework/core/Module.h>
14 
15 #include <framework/datastore/StoreObjPtr.h>
16 
17 #include <analysis/dataobjects/Particle.h>
18 #include <analysis/dataobjects/ParticleList.h>
19 #include <analysis/VariableManager/Manager.h>
20 
21 #include <analysis/DecayDescriptor/DecayDescriptor.h>
22 
23 #include <string>
24 #include <map>
25 #include <vector>
26 
27 namespace Belle2 {
32  class Particle;
33 
46  class VariablesToExtraInfoModule : public Module {
47  public:
48 
53  virtual ~VariablesToExtraInfoModule() override;
54 
56  virtual void initialize() override;
58  virtual void event() override;
59 
60  private:
62  std::string m_inputListName;
66  std::map<std::string, std::string> m_variables;
68  std::vector<Variable::Manager::FunctionPtr> m_functions;
70  std::vector<std::string> m_extraInfoNames;
71 
73  std::string m_decayString;
77  bool m_writeToDaughter = false;
79  int m_overwrite = 0;
80 
85  void addExtraInfo(const Particle* source, Particle* destination);
86 
87  };
88 
90 } // Belle2 namespace
Belle2::VariablesToExtraInfoModule::initialize
virtual void initialize() override
initialise
Definition: VariablesToExtraInfoModule.cc:42
Belle2::VariablesToExtraInfoModule::m_functions
std::vector< Variable::Manager::FunctionPtr > m_functions
Vector of function pointers corresponding to given variables.
Definition: VariablesToExtraInfoModule.h:76
Belle2::VariablesToExtraInfoModule::m_variables
std::map< std::string, std::string > m_variables
Map of variables and extraInfo names to save in the extra-info field.
Definition: VariablesToExtraInfoModule.h:74
Belle2::VariablesToExtraInfoModule::m_inputList
StoreObjPtr< ParticleList > m_inputList
input particle list
Definition: VariablesToExtraInfoModule.h:72
Belle2::VariablesToExtraInfoModule::VariablesToExtraInfoModule
VariablesToExtraInfoModule()
Constructor.
Definition: VariablesToExtraInfoModule.cc:22
Belle2::VariablesToExtraInfoModule::m_extraInfoNames
std::vector< std::string > m_extraInfoNames
Vector of extra info names.
Definition: VariablesToExtraInfoModule.h:78
Belle2::VariablesToExtraInfoModule::m_writeToDaughter
bool m_writeToDaughter
if true the extraInfo is written to daughter specified by the decay string
Definition: VariablesToExtraInfoModule.h:85
Belle2::VariablesToExtraInfoModule::m_decayString
std::string m_decayString
DecayString specifying the daughter Particle to which the extra-info field will be added.
Definition: VariablesToExtraInfoModule.h:81
Belle2::VariablesToExtraInfoModule::m_pDDescriptor
DecayDescriptor m_pDDescriptor
Decay descriptor of the particle being selected.
Definition: VariablesToExtraInfoModule.h:83
Belle2::VariablesToExtraInfoModule::m_inputListName
std::string m_inputListName
name of input particle list.
Definition: VariablesToExtraInfoModule.h:70
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::VariablesToExtraInfoModule::m_overwrite
int m_overwrite
-1/0/1/2: Overwrite if lower / don't overwrite / overwrite if higher / always overwrite,...
Definition: VariablesToExtraInfoModule.h:87
Belle2::VariablesToExtraInfoModule::event
virtual void event() override
process event: actually adds the extra info
Definition: VariablesToExtraInfoModule.cc:67
Belle2::Particle
Class to store reconstructed particles.
Definition: Particle.h:77
Belle2::DecayDescriptor
The DecayDescriptor stores information about a decay tree or parts of a decay tree.
Definition: DecayDescriptor.h:43
Belle2::VariablesToExtraInfoModule::addExtraInfo
void addExtraInfo(const Particle *source, Particle *destination)
Adds extra info to the particle.
Definition: VariablesToExtraInfoModule.cc:93