13 #include "Math/SMatrix.h"
14 #include "Math/SVector.h"
15 #include "CLHEP/Random/RandGauss.h"
16 #include "CLHEP/Random/Random.h"
22 CLHEP::HepRandom::setTheSeed(seed);
50 std::ostringstream oss;
55 <<
sigma_y <<
" " << rotate <<
" # MC-truth:"
56 <<
" a0-a3: " << a0 <<
" " << a1 <<
" " << a2 <<
" " << a3 <<
" S: " << scale <<
" phi: " << phi
57 <<
" x0: " << fidpointvec[0].
x() <<
" " << fidpointvec[0].y() <<
" x1: " << fidpointvec[1].x() <<
" "
58 << fidpointvec[1].y() <<
" x2: " << fidpointvec[2].x() <<
" " << fidpointvec[2].y()
59 <<
" x3: " << fidpointvec[3].x() <<
" " << fidpointvec[3].y() << std::endl;
67 outfile <<
doDice(fidpointvec,
id, rotate);
72 return coord_t(a0 + a2 * x.
x() + a3 * x.
y(), a1 - a3 * x.
x() + a2 * x.
y());
77 const std::vector<edm::ParameterSet> &pars) {
78 std::vector<edm::ParameterSet>::const_iterator it;
80 if (it == pars.end()) {
81 throw std::runtime_error(
"Parameter not found in SurveyPxbDicer::getParByName");
83 return (*it).getParameter<
value_t>(par);
Function object for searching for a parameter in the VPSet.
const edm::EventSetup & c
Sin< T >::type sin(const T &t)
coord_t transform(const coord_t &x, const value_t &a0, const value_t &a1, const value_t &a2, const value_t &a3)
U second(std::pair< T, U > const &p)
std::string doDice(const fidpoint_t &fidpointvec, const idPair_t &id, const bool rotate=false)
std::pair< id_t, id_t > idPair_t
Cos< T >::type cos(const T &t)
value_t ranGauss(value_t mean, value_t sigma)
uint16_t const *__restrict__ x
static constexpr float a0
std::vector< coord_t > fidpoint_t
SurveyPxbImage::coord_t coord_t
value_t getParByName(const std::string &name, const std::string &par, const std::vector< edm::ParameterSet > &pars)