1 #ifndef CommonTools_BaseParticlePropagator_RawParticle_h
2 #define CommonTools_BaseParticlePropagator_RawParticle_h
7 #include "Math/GenVector/RotationX.h"
8 #include "Math/GenVector/RotationY.h"
9 #include "Math/GenVector/RotationZ.h"
10 #include "Math/GenVector/Rotation3D.h"
11 #include "Math/GenVector/AxisAngle.h"
12 #include "Math/GenVector/Boost.h"
30 namespace rawparticle {
49 typedef ROOT::Math::Boost
Boost;
90 void setT(
const double t);
94 void setVertex(
double xv,
double yv,
double zv,
double tv);
111 void boost(
double bx,
double by,
double bz);
213 double Perp2()
const;
217 double theta()
const;
367 myVertex.SetXYZT(
X() + tr.X(),
Y() + tr.Y(),
Z() + tr.Z(),
T());
void setMomentum(const XYZTLorentzVector &vtx)
set the momentum
double pz() const
z of the momentum
void setCharge(float q)
set the MEASURED charge
void translate(const XYZVector &t)
void boost(double bx, double by, double bz)
void rotateZ(double rphi)
XYZVector Vect() const
the momentum threevector
static std::vector< std::string > checklist log
const edm::EventSetup & c
XYZTLorentzVector myVertex
the four vector of the vertex
double pt() const
transverse momentum
int status() const
get the particle status
void rotateY(double rphi)
double y() const
y of vertex
int myId
the particle id number HEP-PID
ROOT::Math::Rotation3D Rotation3D
friend RawParticle unchecked_makeParticle(int id, const math::XYZTLorentzVector &p, double mass, double charge)
double Perp2() const
perpendicular momentum squared
double z() const
z of vertex
double myMass
the RECONSTRUCTED mass
XYZTLorentzVector myMomentum
the four vector of the momentum
int pid() const
get the HEP particle ID number
void setT(const double t)
set the time of creation
RawParticle makeMuon(bool isParticle, const math::XYZTLorentzVector &p, const math::XYZTLorentzVector &xStart)
std::ostream & operator<<(std::ostream &out, const ALILine &li)
double mass() const
get the MEASURED mass
double x() const
x of vertex
ROOT::Math::RotationZ RotationZ
void setMass(float m)
set the RECONSTRUCTED mass
int myStatus
the status code according to PYTHIA
double R() const
vertex radius
double R2() const
vertex radius**2
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
ROOT::Math::RotationX RotationX
double phi() const
phi of momentum vector
const XYZTLorentzVector & momentum() const
the momentum fourvector
double t() const
vertex time
double e() const
energy of the momentum
double r2() const
vertex radius**2
double myCharge
the MEASURED charge
double cos2ThetaV() const
double Y() const
y of vertex
double Py() const
y of the momentum
double Pt() const
transverse momentum
double Z() const
z of vertex
ROOT::Math::RotationY RotationY
Tan< T >::type tan(const T &t)
void rotate(double rphi, const XYZVector &raxis)
RawParticle & operator=(const RawParticle &rhs)=default
double Pz() const
z of the momentum
double charge() const
get the MEASURED charge
int myUsed
status of the locking
double mag() const
the magnitude of the momentum
double M2() const
mass squared
const XYZTLorentzVector & vertex() const
the vertex fourvector
void setStatus(int istat)
XYZVectorD XYZVector
spatial vector with cartesian internal representation
void rotateX(double rphi)
double r() const
vertex radius
double X() const
x of vertex
double theta() const
theta of momentum vector
double Px() const
x of the momentum
ROOT::Math::AxisAngle Rotation
double E() const
energy of the momentum
double px() const
x of the momentum
double T() const
vertex time
double py() const
y of the momentum
math::XYZVector XYZVector
void setVertex(const XYZTLorentzVector &vtx)
set the vertex
double cos2Theta() const
Cos**2(theta) is faster to determine than eta.
double et() const
get the transverse energy
math::XYZTLorentzVector XYZTLorentzVector