1 |
antoniov |
1.1 |
#include "ForwardAnalysis/Utilities/interface/TrackOutsideJetsSelector.h"
|
2 |
|
|
|
3 |
|
|
#include "DataFormats/Common/interface/Handle.h"
|
4 |
|
|
#include "FWCore/Framework/interface/Event.h"
|
5 |
|
|
#include "FWCore/ParameterSet/interface/ParameterSet.h"
|
6 |
|
|
|
7 |
|
|
#include "DataFormats/Candidate/interface/Candidate.h"
|
8 |
|
|
#include "DataFormats/TrackReco/interface/Track.h"
|
9 |
|
|
#include "DataFormats/Math/interface/deltaR.h"
|
10 |
|
|
|
11 |
|
|
using namespace reco;
|
12 |
|
|
|
13 |
|
|
namespace forwardAnalysis {
|
14 |
|
|
|
15 |
|
|
TrackOutsideJetsSelector::TrackOutsideJetsSelector(const edm::ParameterSet& pset):
|
16 |
|
|
jetTag_(pset.getParameter<edm::InputTag>("JetTag")),
|
17 |
|
|
coneSize_(pset.getParameter<double>("JetConeSize")){}
|
18 |
|
|
|
19 |
|
|
TrackOutsideJetsSelector::~TrackOutsideJetsSelector() {}
|
20 |
|
|
|
21 |
|
|
bool TrackOutsideJetsSelector::operator()(const reco::Track& track, const edm::Event& event) const {
|
22 |
|
|
edm::Handle<edm::View<Candidate> > jetCollectionH;
|
23 |
|
|
event.getByLabel(jetTag_,jetCollectionH);
|
24 |
|
|
const edm::View<Candidate>& jetColl = *(jetCollectionH.product());
|
25 |
|
|
|
26 |
|
|
bool associated = false;
|
27 |
|
|
for(edm::View<Candidate>::const_iterator jet = jetColl.begin(); jet != jetColl.end(); ++jet){
|
28 |
|
|
//FIXME: use jet-tracks association
|
29 |
|
|
if(deltaR(jet->eta(),jet->phi(),track.eta(),track.phi()) < coneSize_) associated = true;
|
30 |
|
|
}
|
31 |
|
|
|
32 |
|
|
bool accept = !associated;
|
33 |
|
|
|
34 |
|
|
return accept;
|
35 |
|
|
}
|
36 |
|
|
|
37 |
|
|
} // namespace
|