20 #include "CLHEP/Random/RandGauss.h"
40 #define init_param(type, varname) varname(ps.getParameter<type>(#varname))
124 auto pOutput = std::make_unique<reco::VertexCollection>();
138 throw cms::Exception(
"FFTJetBadConfig") <<
"ERROR in FFTJetVertexAdder:"
139 " could not find beam spot information"
142 xmean = beamSpotHandle->x0();
143 ymean = beamSpotHandle->y0();
144 zmean = beamSpotHandle->z0();
146 xwidth = beamSpotHandle->BeamWidthX();
147 ywidth = beamSpotHandle->BeamWidthY();
148 zwidth = beamSpotHandle->sigmaZ();
152 for (
unsigned i = 0;
i < 3; ++
i)
153 for (
unsigned j = 0;
j < 3; ++
j)
160 const double x0 = rGauss(xmean, xwidth);
161 const double y0 = rGauss(ymean, ywidth);
162 const double z0 = rGauss(zmean, zwidth);
168 typedef reco::VertexCollection::const_iterator IV;
173 throw cms::Exception(
"FFTJetBadConfig") <<
"ERROR in FFTJetVertexAdder:"
174 " could not find existing collection of vertices"
177 const IV vertend(vertices->end());
178 for (IV
iv = vertices->begin();
iv != vertend; ++
iv)
179 pOutput->push_back(*
iv);
189 throw cms::Exception(
"FFTJetBadConfig") <<
"ERROR in FFTJetVertexAdder:"
190 " failed to initialize the random number generator"
const std::string outputLabel
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
const bool addExistingVertices
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
math::Error< dimension >::type Error
covariance error matrix (3x3)
#define init_param(type, varname)
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
edm::EDGetTokenT< reco::VertexCollection > existingVerticesToken
const unsigned nVerticesToMake
const edm::InputTag beamSpotLabel
FFTJetVertexAdder & operator=(const FFTJetVertexAdder &)=delete
math::XYZPoint Point
point in the space
const edm::InputTag existingVerticesLabel
~FFTJetVertexAdder() override
void produce(edm::Event &, const edm::EventSetup &) override
static int position[264][3]
StreamID streamID() const
FFTJetVertexAdder()=delete
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken