1 |
dgele |
1.1 |
#include "PhysicsTools/PatUtils/interface/SimpleJetTrackAssociator.h"
|
2 |
|
|
#include "DataFormats/TrackReco/interface/Track.h"
|
3 |
|
|
#include "DataFormats/Math/interface/deltaR.h"
|
4 |
|
|
|
5 |
|
|
void
|
6 |
|
|
helper::SimpleJetTrackAssociator::associateTransient(const math::XYZVector &dir,
|
7 |
|
|
const reco::TrackCollection &in, reco::TrackRefVector &out) {
|
8 |
|
|
for (size_t i = 0, n = in.size(); i < n; i++) {
|
9 |
|
|
const reco::Track & t = in[i];
|
10 |
|
|
if ((t.numberOfValidHits() < nHits_) || (t.normalizedChi2() > chi2nMax_)) continue;
|
11 |
|
|
if (deltaR2(dir, t) < deltaR2_) {
|
12 |
|
|
reco::TrackRef tr(&in, i); // note: transient ref
|
13 |
|
|
out.push_back(tr);
|
14 |
|
|
}
|
15 |
|
|
}
|
16 |
|
|
}
|
17 |
|
|
|
18 |
|
|
void
|
19 |
|
|
helper::SimpleJetTrackAssociator::associate(const math::XYZVector &dir,
|
20 |
|
|
const edm::View<reco::Track> &in, reco::TrackRefVector &out) {
|
21 |
|
|
for (size_t i = 0, n = in.size(); i < n; i++) {
|
22 |
|
|
const reco::Track & t = in[i];
|
23 |
|
|
if ((t.numberOfValidHits() < nHits_) || (t.normalizedChi2() > chi2nMax_)) continue;
|
24 |
|
|
if (deltaR2(dir, t) < deltaR2_) {
|
25 |
|
|
reco::TrackRef tr = in.refAt(i).castTo<reco::TrackRef>();
|
26 |
|
|
out.push_back(tr);
|
27 |
|
|
}
|
28 |
|
|
}
|
29 |
|
|
}
|