20 #include "CLHEP/Random/RandGauss.h"
40 #define init_param(type, varname) varname(ps.getParameter<type>(#varname))
125 auto pOutput = std::make_unique<reco::VertexCollection>();
139 throw cms::Exception(
"FFTJetBadConfig") <<
"ERROR in FFTJetVertexAdder:"
140 " could not find beam spot information"
143 xmean = beamSpotHandle->
x0();
144 ymean = beamSpotHandle->
y0();
145 zmean = beamSpotHandle->
z0();
149 zwidth = beamSpotHandle->
sigmaZ();
153 for (
unsigned i = 0;
i < 3; ++
i)
154 for (
unsigned j = 0;
j < 3; ++
j)
161 const double x0 = rGauss(xmean, xwidth);
162 const double y0 = rGauss(ymean, ywidth);
163 const double z0 = rGauss(zmean, zwidth);
169 typedef reco::VertexCollection::const_iterator IV;
174 throw cms::Exception(
"FFTJetBadConfig") <<
"ERROR in FFTJetVertexAdder:"
175 " could not find existing collection of vertices"
179 for (IV iv =
vertices->begin(); iv != vertend; ++iv)
180 pOutput->push_back(*iv);
190 throw cms::Exception(
"FFTJetBadConfig") <<
"ERROR in FFTJetVertexAdder:"
191 " failed to initialize the random number generator"