Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:25:28

0001 // Associate jets with tracks by simple "dR" criteria

0002 // Fedor Ratnikov (UMd), Aug. 28, 2007

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 }