10 fX0(vtx.getParameter<double>(
"X0")),
11 fY0(vtx.getParameter<double>(
"Y0")),
12 fZ0(vtx.getParameter<double>(
"Z0")),
13 fSigmaZ(vtx.getParameter<double>(
"SigmaZ")),
14 alpha_(vtx.getParameter<double>(
"Alpha")),
15 phi_(vtx.getParameter<double>(
"Phi")),
16 fbetastar(vtx.getParameter<double>(
"BetaStar")),
17 femittance(vtx.getParameter<double>(
"Emittance"))
29 this->SetZ(tmp_sigz +
fZ0);
54 if ( fabs(
alpha_) < 1E-12 && fabs(
phi_) < 1E-12 )
return aBoost;
56 TMatrixD tmpboost(4,4);
66 double tphi = sphi/cphi;
67 tmpboost(0,0) = 1./cphi;
68 tmpboost(0,1) = - calpha*sphi;
69 tmpboost(0,2) = - tphi*sphi;
70 tmpboost(0,3) = - salpha*sphi;
71 tmpboost(1,0) = - calpha*tphi;
73 tmpboost(1,2) = calpha*tphi;
76 tmpboost(2,1) = -calpha*sphi;
78 tmpboost(2,3) = - salpha*sphi;
79 tmpboost(3,0) = - salpha*tphi;
81 tmpboost(3,2) = salpha*tphi;
85 aBoost =
new TMatrixD(tmpboost);
Sin< T >::type sin(const T &t)
BetaFuncPrimaryVertexGenerator(const edm::ParameterSet &vtx)
Default constructor.
Cos< T >::type cos(const T &t)
TMatrixD * inverseLorentzBoost()
virtual void generate(RandomEngineAndDistribution const *)
Generation process (to be implemented)
XYZPointD XYZPoint
point in space with cartesian internal representation
double gaussShoot(double mean=0.0, double sigma=1.0) const
void setBoost(TMatrixD *)
double BetaFunction(double z, double z0)