Belle II Software development
EventKinematicsModule.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 <Math/Vector3D.h>
12#include <Math/Vector4D.h>
13
14#include <framework/core/Module.h>
15
16#include <analysis/dataobjects/EventKinematics.h>
17
18#include <framework/datastore/StoreObjPtr.h>
19
20namespace Belle2 {
29
30 public:
31
36
39
41 virtual void initialize() override;
42
44 virtual void event() override;
45
47 virtual void terminate() override;
48
49
50 private:
51
54 bool m_usingMC;
56 std::vector<std::string> m_particleLists;
59 std::vector<ROOT::Math::PxPyPzEVector> m_particleMomentumList;
61 std::vector<ROOT::Math::PxPyPzEVector> m_particleMomentumListCMS;
63 std::vector<ROOT::Math::PxPyPzEVector> m_photonsMomentumList;
65 void getParticleMomentumLists(std::vector<std::string> particleLists);
66
68 ROOT::Math::XYZVector getMissingMomentum();
70 ROOT::Math::XYZVector getMissingMomentumCMS();
72 float getMissingEnergyCMS();
74 float getVisibleEnergyCMS();
77 };
79}
80
Module to compute global quantities related to the event kinematics, like total missing energy and ma...
ROOT::Math::XYZVector getMissingMomentum()
Calculate the missing momentum in the lab system for this event.
float getMissingEnergyCMS()
Calculate the missing energy in the CMS for this event.
EventKinematicsModule()
Constructor: Sets the description, the properties and the parameters of the module.
float getVisibleEnergyCMS()
Calculate the visible energy in the CMS for this event.
std::vector< ROOT::Math::PxPyPzEVector > m_particleMomentumListCMS
A vector of the particles' 4-momenta in the CMS.
virtual void initialize() override
Define the physical parameters.
void getParticleMomentumLists(std::vector< std::string > particleLists)
Fill the lists of particles' momenta.
virtual void event() override
Define event parameters.
virtual void terminate() override
finish the execution
float getTotalPhotonsEnergy()
Calculate the energy for the photons in this event.
StoreObjPtr< EventKinematics > m_eventKinematics
event kinematics object pointer
virtual ~EventKinematicsModule()
free memory
std::vector< std::string > m_particleLists
Name of the ParticleList.
std::vector< ROOT::Math::PxPyPzEVector > m_photonsMomentumList
A vector of the photons' 4-momenta in the lab.
std::vector< ROOT::Math::PxPyPzEVector > m_particleMomentumList
A vector of the particles' 4-momenta in lab.
ROOT::Math::XYZVector getMissingMomentumCMS()
Calculate the missing momentum in the CMS for this event.
Base class for Modules.
Definition: Module.h:72
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
Abstract base class for different kinds of events.