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
38 virtual ~EventKinematicsModule() override;
39
41 virtual void initialize() override;
42
44 virtual void event() override;
45
46 private:
47
49
50 bool m_usingMC;
51
52 std::vector<std::string> m_particleLists;
53
55 std::vector<ROOT::Math::PxPyPzEVector> m_particleMomentumList;
57 std::vector<ROOT::Math::PxPyPzEVector> m_particleMomentumListCMS;
59 std::vector<ROOT::Math::PxPyPzEVector> m_photonsMomentumList;
61 void getParticleMomentumLists(const std::vector<std::string>& particleLists);
62
64 ROOT::Math::XYZVector getMissingMomentum();
66 ROOT::Math::XYZVector getMissingMomentumCMS();
68 float getMissingEnergyCMS();
70 float getVisibleEnergyCMS();
73 };
74
75}
76
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.
virtual void event() override
Define event parameters.
float getTotalPhotonsEnergy()
Calculate the energy for the photons in this event.
StoreObjPtr< EventKinematics > m_eventKinematics
event kinematics object pointer
void getParticleMomentumLists(const std::vector< std::string > &particleLists)
Fill the lists of particles' momenta.
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.
virtual ~EventKinematicsModule() override
free memory
Module()
Constructor.
Definition Module.cc:30
Type-safe access to single objects in the data store.
Definition StoreObjPtr.h:96
Abstract base class for different kinds of events.