 |
Belle II Software
release-05-02-19
|
13 #include <framework/dataobjects/MCInitialParticles.h>
14 #include <TMatrixDSym.h>
25 class BeamParameters:
public MCInitialParticles {
36 std::copy_n(b.m_covHER, 6,
m_covHER);
37 std::copy_n(b.m_covLER, 6,
m_covLER);
44 std::copy_n(b.m_covHER, 6,
m_covHER);
45 std::copy_n(b.m_covLER, 6,
m_covLER);
54 auto floatcmp = [](
double dbl_a,
double dbl_b) {
return (
float)dbl_a == (float)dbl_b; };
89 void setHER(
double energy,
double angle,
const std::vector<double>& cov);
106 void setLER(
double energy,
double angle,
const std::vector<double>& cov);
122 void setVertex(
const TVector3& vertex,
const std::vector<double>& cov);
148 static TLorentzVector
getFourVector(
double energy,
double angle);
168 static void setCovMatrix(Double32_t* member,
const std::vector<double>& cov,
bool common);
170 static void setCovMatrix(Double32_t* member,
const TMatrixDSym& cov);
172 static TMatrixDSym
getCovMatrix(
const Double32_t* member);
TMatrixDSym getCovLER() const
Get the covariance matrix of LER (E, theta_x, theta_y) where E is the energy, theta_x is the horizont...
TMatrixDSym getCovHER() const
Get the covariance matrix of HER (E, theta_x, theta_y) where E is the energy, theta_x is the horizont...
TMatrixDSym getCovVertex() const
Get the covariance matrix of the vertex position.
void setHER(const TLorentzVector &her)
Set the High Energy Beam 4-momentum.
MCInitialParticles & operator=(const MCInitialParticles &b)
Assignment operator.
void setCovHER(const TMatrixDSym &cov)
Set the covariance matrix for HER (E, theta_x, theta_y) where E is the energy, theta_x is the horizon...
static void setCovMatrix(Double32_t *member, const std::vector< double > &cov, bool common)
Set covariance matrix from vector of entries.
Double32_t m_covLER[6]
Covariance matrix of the low energy beam at the IP.
void setCovVertex(const TMatrixDSym &cov)
Set the covariance matrix of the vertex position.
bool operator==(const BeamParameters &b) const
equality operator
ClassDef(BeamParameters, 2)
nominal beam and primary vertex parameters (including smearing).
BeamParameters & operator=(const BeamParameters &b)
assignment operator
void setVertex(const TVector3 &vertex, const std::vector< double > &cov)
Set the vertex position and error matrix.
Abstract base class for different kinds of events.
void setVertex(const TVector3 &vertex)
Set the vertex position.
void setCovLER(const TMatrixDSym &cov)
Set the covariance matrix for LER (E, theta_x, theta_y) where E is the energy, theta_x is the horizon...
void setHER(double energy, double angle, const std::vector< double > &cov)
Set the HER FourVector and error matrix from beam energy, angle and covariance entries.
void setLER(const TLorentzVector &ler)
Set the Low Energy Beam 4-momentum.
BeamParameters()
default constructor
bool operator==(const MCInitialParticles &b) const
Equality operator.
Double32_t m_covVertex[6]
Covariance matrix of the vertex position.
static TMatrixDSym getCovMatrix(const Double32_t *member)
Obtain covariance matrix from a given float array.
void setLER(double energy, double angle, const std::vector< double > &cov)
Set the LER FourVector and error matrix from beam energy, angle and covariance entries.
MCInitialParticles()
Default constructor.
static TLorentzVector getFourVector(double energy, double angle)
Return energy smearing of LER.
This class contains the nominal beam parameters and the parameters used for smearing of the primary v...
Double32_t m_covHER[6]
Covariance matrix of the high energy beam at the IP.