69 constexpr
double dR2Match = 0.01 * 0.01;
88 jecUncertainty_ = std::make_unique<JetCorrectionUncertainty>(*jetCorrParameters_);
102 produces<reco::PFCandidateCollection>();
113 for (reco::PFJetCollection::const_iterator
jet =
jets->begin();
jet !=
jets->end(); ++
jet) {
121 jecUncertainty_ = std::make_unique<JetCorrectionUncertainty>(jetCorrParameters);
124 auto shiftedPFCandidates = std::make_unique<reco::PFCandidateCollection>();
126 for (reco::PFCandidateCollection::const_iterator originalPFCandidate = originalPFCandidates->begin();
127 originalPFCandidate != originalPFCandidates->end();
128 ++originalPFCandidate) {
131 for (
const auto& jetc :
jet->getPFConstituents()) {
132 if (
deltaR2(originalPFCandidate->p4(), jetc->p4()) < dR2Match) {
142 if (jet_matched !=
nullptr) {
154 shiftedPFCandidateP4 *= (1. +
shift);
157 shiftedPFCandidate.
setP4(shiftedPFCandidateP4);
159 shiftedPFCandidates->push_back(shiftedPFCandidate);
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
double pt() const final
transverse momentum
std::string fullPath() const
edm::EDGetTokenT< reco::PFCandidateCollection > srcPFCandidatesToken_
std::vector< l1t::PFCandidate > PFCandidateCollection
ShiftedPFCandidateProducerForPFNoPUMEt(const edm::ParameterSet &)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< reco::PFJetCollection > srcJetsToken_
Jets made from PFObjects.
LocationCode location() const
Where was the file found?
edm::ESGetToken< JetCorrectorParametersCollection, JetCorrectionsRecord > jetCorrPayloadToken_
#define DEFINE_FWK_MODULE(type)
std::unique_ptr< JetCorrectorParameters > jetCorrParameters_
std::string jetCorrPayloadName_
Log< level::Info, false > LogInfo
std::string jetCorrUncertaintyTag_
math::XYZTLorentzVector LorentzVector
Lorentz vector.
std::unique_ptr< JetCorrectionUncertainty > jecUncertainty_
std::vector< PFJet > PFJetCollection
collection of PFJet objects
Particle reconstructed by the particle flow algorithm.
void produce(edm::Event &, const edm::EventSetup &) override
edm::FileInPath jetCorrInputFileName_
static unsigned int const shift
double unclEnUncertainty_
void setP4(const LorentzVector &p4) final
set 4-momentum
double eta() const final
momentum pseudorapidity