28 #include "CLHEP/Random/RandGaussQ.h"
29 #include "CLHEP/Units/GlobalSystemOfUnits.h"
30 #include "CLHEP/Units/GlobalPhysicalConstants.h"
32 #include "HepMC/SimpleVector.h"
61 <<
"Error in BetafuncEvtVtxGenerator: "
62 <<
"Illegal resolution in Z (SigmaZ is negative)";
91 phi_=beamhandle->fPhi;
114 tmp_sigx /=
sqrt(2.0);
119 tmp_sigy /=
sqrt(2.0);
145 <<
"Error in BetafuncEvtVtxGenerator::sigmaZ: "
146 <<
"Illegal resolution in Z (negative)";
159 TMatrixD tmpboost(4,4);
185 boost_ =
new TMatrixD(tmpboost);
const double Z[kNumberCalorimeter]
T getParameter(std::string const &) const
void sigmaZ(double s=1.0)
set resolution in Z in cm
CLHEP::HepRandomEngine & getEngine()
virtual HepMC::FourVector * newVertex()
return a new event vertex
HepMC::FourVector * fVertex
BetafuncEvtVtxGenerator(const edm::ParameterSet &p)
Sin< T >::type sin(const T &t)
double BetaFunction(double z, double z0)
beta function
virtual void beginRun(const edm::Run &, const edm::EventSetup &) override
virtual TMatrixD * GetInvLorentzBoost()
Cos< T >::type cos(const T &t)
Tan< T >::type tan(const T &t)
void update(const edm::EventSetup &iEventSetup)
CLHEP::RandGaussQ * fRandom
edm::ESWatcher< SimBeamSpotObjectsRcd > parameterWatcher_
bool check(const edm::EventSetup &iSetup)
virtual void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
virtual ~BetafuncEvtVtxGenerator()