Belle II Software  release-08-01-10
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 
15 namespace 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  {
103  return m_missingMomentumCMS;
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.