Belle II Software development
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
16namespace Belle2 {
21
22
41
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;
247
250 float m_cosTBTO;
251 float m_cosTBz;
252 float m_R2;
253
254 std::vector<float> m_ksfwFS0;
255 std::vector<float> m_ksfwFS1;
256
257 std::vector<float> m_cleoConesALL;
258 std::vector<float> m_cleoConesROE;
259
261
262 };
263
264
266} // end namespace Belle2
std::vector< float > getKsfwFS1() const
Get vector of KSFW moments, Et, and mm2 for final state = 1.
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 > getCleoConesROE() const
Get vector of Cleo Cones constructed of 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 > getCleoConesALL() const
Get vector of Cleo Cones constructed of all final state particles.
std::vector< float > getKsfwFS0() const
Get vector of KSFW moments, Et, and mm2 for final state = 0.
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.
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.
ROOT::Math::XYZVector getThrustO() const
Get ROE thrust axis.
RelationsInterface< TObject > RelationsObject
Provides interface for getting/adding relations to objects in StoreArrays.
Abstract base class for different kinds of events.