9 #ifndef L6SLBCorrectorImpl_h
10 #define L6SLBCorrectorImpl_h
24 class ConsumesCollector;
49 edm::RefProd<std::vector<reco::SoftLeptonTagInfo>>
const& bTagInfoMuon,
50 edm::RefProd<std::vector<reco::SoftLeptonTagInfo>>
const& bTagInfoElec,
73 const std::vector<reco::SoftLeptonTagInfo>&
tags)
const;
82 std::shared_ptr<FactorizedJetCorrectorCalculator const>
corrector_;
L6SLBCorrectorImplMaker Maker
Base class for all types of Jets.
std::shared_ptr< FactorizedJetCorrectorCalculator const > corrector_
reco::Particle::LorentzVector LorentzVector
L6SLBCorrectorImplMaker(edm::ParameterSet const &, edm::ConsumesCollector)
L6SLBCorrectorImpl(std::shared_ptr< FactorizedJetCorrectorCalculator const > corrector, edm::RefProd< std::vector< reco::SoftLeptonTagInfo >> const &bTagInfoMuon, edm::RefProd< std::vector< reco::SoftLeptonTagInfo >> const &bTagInfoElec, bool addMuonToJet)
edm::EDGetTokenT< std::vector< reco::SoftLeptonTagInfo > > muonToken_
int getBTagInfoIndex(const edm::RefToBase< reco::Jet > &refToRawJet, const std::vector< reco::SoftLeptonTagInfo > &tags) const
virtual double correction(const LorentzVector &fJet) const override
apply correction using Jet information only
edm::RefProd< std::vector< reco::SoftLeptonTagInfo > > bTagInfoMuon_
static void fillDescriptions(edm::ConfigurationDescriptions &iDescriptions)
edm::RefProd< std::vector< reco::SoftLeptonTagInfo > > bTagInfoElec_
virtual bool refRequired() const override
if correction needs the jet reference
edm::EDGetTokenT< std::vector< reco::SoftLeptonTagInfo > > elecToken_
std::unique_ptr< reco::JetCorrectorImpl > make(edm::Event const &, edm::EventSetup const &)