Belle II Software  release-08-01-10
ContinuumSuppression.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 #include <vector>
15 
16 namespace Belle2 {
43 
44  public:
45 
50  ContinuumSuppression() : m_thrustO(0.0, 0.0, 0.0), m_thrustBm(0.0), m_thrustOm(0.0), m_cosTBTO(0.0), m_cosTBz(0.0), m_R2(0.0) {};
51 
52  // setters
58  void addThrustB(const ROOT::Math::XYZVector& thrustB);
59 
65  void addThrustO(const ROOT::Math::XYZVector& thrustO);
66 
72  void addThrustBm(float thrustBm);
73 
79  void addThrustOm(float thrustOm);
80 
86  void addCosTBTO(float cosTBTO);
87 
93  void addCosTBz(float cosTBz);
94 
100  void addR2(float R2);
101 
107  void addKsfwFS0(const std::vector<float>& ksfwFS0);
108 
114  void addKsfwFS1(const std::vector<float>& ksfwFS1);
115 
121  void addCleoConesALL(const std::vector<float>& cleoConesALL);
122 
128  void addCleoConesROE(const std::vector<float>& cleoConesROE);
129 
130  // getters
136  ROOT::Math::XYZVector getThrustB() const
137  {
138  return m_thrustB;
139  }
140 
146  ROOT::Math::XYZVector getThrustO() const
147  {
148  return m_thrustO;
149  }
150 
156  float getThrustBm() const
157  {
158  return m_thrustBm;
159  }
160 
166  float getThrustOm() const
167  {
168  return m_thrustOm;
169  }
170 
176  float getCosTBTO() const
177  {
178  return m_cosTBTO;
179  }
180 
186  float getCosTBz() const
187  {
188  return m_cosTBz;
189  }
190 
196  float getR2() const
197  {
198  return m_R2;
199  }
200 
206  std::vector<float> getKsfwFS0() const
207  {
208  return m_ksfwFS0;
209  }
210 
216  std::vector<float> getKsfwFS1() const
217  {
218  return m_ksfwFS1;
219  }
220 
226  std::vector<float> getCleoConesALL() const
227  {
228  return m_cleoConesALL;
229  }
230 
236  std::vector<float> getCleoConesROE() const
237  {
238  return m_cleoConesROE;
239  }
240 
241 
242  private:
243 
244  // persistent data members
245  ROOT::Math::XYZVector m_thrustO;
246  ROOT::Math::XYZVector m_thrustB;
248  float m_thrustBm;
249  float m_thrustOm;
250  float m_cosTBTO;
251  float m_cosTBz;
252  float m_R2;
254  std::vector<float> m_ksfwFS0;
255  std::vector<float> m_ksfwFS1;
257  std::vector<float> m_cleoConesALL;
258  std::vector<float> m_cleoConesROE;
262  };
263 
264 
266 } // end namespace Belle2
This is a class for collecting variables used in continuum suppression.
float getThrustOm() const
Get magnitude of ROE thrust axis.
std::vector< float > m_cleoConesROE
vector of Cleo Cones constructed from only ROE particles
std::vector< float > m_cleoConesALL
vector of Cleo Cones constructed from all final state particles
float getR2() const
Get reduced Fox-Wolfram moment R2.
ROOT::Math::XYZVector m_thrustB
B thrust axis.
float getCosTBTO() const
Get cosine of the angle between the thrust axis of the B and the thrust axis of the ROE.
std::vector< float > m_ksfwFS0
vector of KSFW moments, Et, and mm2 for final state = 0
void addR2(float R2)
Add reduced Fox-Wolfram moment R2.
std::vector< float > getKsfwFS1() const
Get vector of KSFW moments, Et, and mm2 for final state = 1.
float m_cosTBz
cosine of the angle between the thrust axis of the B and the z-axis
ROOT::Math::XYZVector getThrustB() const
Get B thrust axis.
void addThrustBm(float thrustBm)
Add magnitude of B thrust axis.
void addCleoConesALL(const std::vector< float > &cleoConesALL)
Add vector of Cleo Cones constructed of all final state particles.
ROOT::Math::XYZVector m_thrustO
ROE thrust axis.
std::vector< float > m_ksfwFS1
vector of KSFW moments, Et, and mm2 for final state = 1
float getThrustBm() const
Get magnitude of B thrust axis.
void addCleoConesROE(const std::vector< float > &cleoConesROE)
Add vector of Cleo Cones constructed of only ROE particles.
float m_cosTBTO
cosine of the angle between the thrust axis of the B and the thrust axis of the ROE
void addThrustB(const ROOT::Math::XYZVector &thrustB)
Add ROE thrust axis.
void addCosTBz(float cosTBz)
Add cosine of the angle between the thrust axis of the B and the z-axis.
void addThrustOm(float thrustOm)
Add magnitude of ROE thrust axis.
float getCosTBz() const
Get cosine of the angle between the thrust axis of the B and the z-axis.
float m_thrustOm
magnitude of ROE thrust axis
void addKsfwFS0(const std::vector< float > &ksfwFS0)
Add vector of KSFW moments, Et, and mm2 for final state = 0.
void addThrustO(const ROOT::Math::XYZVector &thrustO)
Add ROE thrust axis.
void addKsfwFS1(const std::vector< float > &ksfwFS1)
Add vector of KSFW moments, Et, and mm2 for final state = 1.
std::vector< float > getCleoConesALL() const
Get vector of Cleo Cones constructed of all final state particles.
void addCosTBTO(float cosTBTO)
Add cosine of the angle between the thrust axis of the B and the thrust axis of the ROE.
float m_R2
reduced Fox-Wolfram moment R2
float m_thrustBm
magnitude of B thrust axis
ContinuumSuppression()
Default constructor.
std::vector< float > getKsfwFS0() const
Get vector of KSFW moments, Et, and mm2 for final state = 0.
std::vector< float > getCleoConesROE() const
Get vector of Cleo Cones constructed of only ROE particles.
ROOT::Math::XYZVector getThrustO() const
Get ROE thrust axis.
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.