File indexing completed on 2024-04-06 12:25:28
0001
0002
0003
0004 #include "RecoJets/JetAssociationAlgorithms/interface/JetTracksAssociationExplicit.h"
0005
0006 #include "DataFormats/JetReco/interface/PFJet.h"
0007 #include "DataFormats/TrackReco/interface/Track.h"
0008
0009 JetTracksAssociationExplicit::JetTracksAssociationExplicit() {}
0010
0011 void JetTracksAssociationExplicit::produce(reco::JetTracksAssociation::Container* fAssociation,
0012 const std::vector<edm::RefToBase<reco::Jet> >& fJets,
0013 const std::vector<reco::TrackRef>& fTracks) const {
0014 for (unsigned j = 0; j < fJets.size(); ++j) {
0015 reco::PFJet const* pfJet = dynamic_cast<reco::PFJet const*>(&*(fJets[j]));
0016 if (pfJet != nullptr) {
0017 reco::TrackRefVector assoTracks = pfJet->getTrackRefs();
0018 reco::JetTracksAssociation::setValue(fAssociation, fJets[j], assoTracks);
0019 } else {
0020 throw cms::Exception("InvalidConfiguration")
0021 << "From JetTracksAssociationExplicit::produce: Only PFJets are currently supported for this module"
0022 << std::endl;
0023 }
0024 }
0025 }