|
|
Go to the documentation of this file.
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();
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"
179 pOutput->push_back(*
iv);
189 throw cms::Exception(
"FFTJetBadConfig") <<
"ERROR in FFTJetVertexAdder:"
190 " failed to initialize the random number generator"
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
const std::string outputLabel
double z0() const
z coordinate
math::Error< dimension >::type Error
covariance error matrix (3x3)
const unsigned nVerticesToMake
double sigmaZ() const
sigma z
#define DEFINE_FWK_MODULE(type)
edm::EDGetTokenT< reco::VertexCollection > existingVerticesToken
const edm::InputTag beamSpotLabel
FFTJetVertexAdder & operator=(const FFTJetVertexAdder &)=delete
void produce(edm::Event &, const edm::EventSetup &) override
static int position[264][3]
const edm::InputTag existingVerticesLabel
#define init_param(type, varname)
~FFTJetVertexAdder() override
double BeamWidthX() const
beam width X
double x0() const
x coordinate
math::XYZPoint Point
point in the space
double y0() const
y coordinate
FFTJetVertexAdder()=delete
const bool addExistingVertices
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken
double BeamWidthY() const
beam width Y