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 {
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;
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.
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.
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.