Belle II Software development
EventKinematics.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/datastore/RelationsObject.h>
12
13#include <Math/Vector3D.h>
14
15namespace Belle2 {
29
30 public:
31
36 EventKinematics(bool builtFromMC = false) : m_missingMomentum(0.0, 0.0, 0.0), m_missingMomentumCMS(0.0, 0.0, 0.0),
38
39 // setters
40
46 void addMissingMomentum(const ROOT::Math::XYZVector& missingMomentum);
47
53 void addMissingMomentumCMS(const ROOT::Math::XYZVector& missingMomentumCMS);
54
60 void addMissingEnergyCMS(float missingEnergyCMS);
61
67 void addMissingMass2(float missingMass2);
68
74 void addVisibleEnergyCMS(float visibleEnergyCMS);
75
81 void addTotalPhotonsEnergy(float totalPhotonsEnergy);
82
83
84 // getters
85
91 ROOT::Math::XYZVector getMissingMomentum(void) const
92 {
93 return m_missingMomentum;
94 }
95
101 ROOT::Math::XYZVector getMissingMomentumCMS(void) const
102 {
104 }
105
111 float getMissingEnergyCMS(void) const
112 {
113 return m_missingEnergyCMS;
114 }
115
121 float getMissingMass2(void) const
122 {
123 return m_missingMass2;
124 }
125
131 float getVisibleEnergyCMS(void) const
132 {
133 return m_visibleEnergyCMS;
134 }
135
141 float getTotalPhotonsEnergy(void) const
142 {
143 return m_photonsEnergy;
144 }
145
146
147
148 private:
149
150 // persistent data members
151 ROOT::Math::XYZVector m_missingMomentum;
152 ROOT::Math::XYZVector m_missingMomentumCMS;
164 };
165
166
168} // end namespace Belle2
169
Class for collecting variables related to the global kinematics of the event.
void addMissingMomentum(const ROOT::Math::XYZVector &missingMomentum)
Add the missing momentum vector in lab.
float getTotalPhotonsEnergy(void) const
Get total energy of photons in the event.
float getMissingEnergyCMS(void) const
Get missing energy in CMS.
void addTotalPhotonsEnergy(float totalPhotonsEnergy)
Add total energy of photons in the event.
ROOT::Math::XYZVector m_missingMomentum
Missing momentum of the event in lab.
float m_photonsEnergy
Total energy of photons in lab.
bool m_builtFromMC
Is from MC switch.
void addVisibleEnergyCMS(float visibleEnergyCMS)
Add visible energy of the event in CMS.
void addMissingMomentumCMS(const ROOT::Math::XYZVector &missingMomentumCMS)
Add the missing momentum vector in CMS.
ROOT::Math::XYZVector getMissingMomentum(void) const
Get missing momentum vector in lab.
ROOT::Math::XYZVector m_missingMomentumCMS
Missing momentum of the event in CMS.
float m_missingEnergyCMS
Missing energy of the event in CMS
float getVisibleEnergyCMS(void) const
Get visible energy of the event.
void addMissingMass2(float missingMass2)
Add missing mass squared.
EventKinematics(bool builtFromMC=false)
Default constructor.
float m_missingMass2
Missing mass squared computed from m_missingMomentumCMS and m_missingEnergyCMS.
ROOT::Math::XYZVector getMissingMomentumCMS(void) const
Get missing momentum vector in CMS.
float getMissingMass2(void) const
Get missing mass squared.
void addMissingEnergyCMS(float missingEnergyCMS)
Add missing energy in CMS.
float m_visibleEnergyCMS
Visible energy of the event in CMS
Defines interface for accessing relations of objects in StoreArray.
ClassDef(RelationsInterface, 0)
defines interface for accessing relations of objects in StoreArray.
Abstract base class for different kinds of events.