1 #ifndef CalibratedPhotonProducer_h 2 #define CalibratedPhotonProducer_h 36 conf.getParameter<
bool>(
"isSynchronization"),
37 conf.getParameter<
std::
string>(
"correctionFile")) {
42 produces<std::vector<T> >();
54 const auto &
first = in->front();
55 std::seed_seq seeder = {
int(iEvent.
id().
event()),
57 int(iEvent.
id().
run()),
61 uint32_t
seed = 0, tries = 10;
63 seeder.generate(&seed, &seed + 1);
65 }
while (seed == 0 && tries < 10);
69 std::unique_ptr<std::vector<T> >
out(
new std::vector<T>());
70 out->reserve(in->size());
72 for (
const T &ele : *in) {
T getParameter(std::string const &) const
EventNumber_t event() const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool existsAs(std::string const ¶meterName, bool trackiness=true) const
checks if a parameter exists as a given type
bool getByToken(EDGetToken token, Handle< PROD > &result) const
CalibratedPhotonProducerRun2T(const edm::ParameterSet &)
edm::EDGetTokenT< edm::View< T > > thePhotonToken
LuminosityBlockNumber_t luminosityBlock() const
CalibratedPhotonProducerRun2T< reco::Photon > CalibratedPhotonProducerRun2
#define DEFINE_FWK_MODULE(type)
CalibratedPhotonProducerRun2T< pat::Photon > CalibratedPatPhotonProducerRun2
PhotonEnergyCalibratorRun2 theEnCorrectorRun2
void produce(edm::Event &, const edm::EventSetup &) override
void initPrivateRng(TRandom *rnd)
void calibrate(SimplePhoton &photon, edm::StreamID const &id=edm::StreamID::invalidStreamID()) const
StreamID streamID() const
~CalibratedPhotonProducerRun2T() override
std::unique_ptr< TRandom > theSemiDeterministicRng