Skip to content

Commit

Permalink
with comments from @makortel
Browse files Browse the repository at this point in the history
  • Loading branch information
Otto Hindrichs committed Aug 21, 2019
1 parent db23136 commit cf2b00f
Showing 1 changed file with 10 additions and 15 deletions.
25 changes: 10 additions & 15 deletions GeneratorInterface/GenFilters/src/LHEJetFilter.cc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#include <vector>

#include "FWCore/Framework/interface/EDFilter.h"
#include "FWCore/Framework/interface/global/EDFilter.h"
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/MakerMacros.h"
Expand All @@ -20,51 +20,46 @@
using namespace std;
using namespace fastjet;

class LHEJetFilter : public edm::EDFilter {
class LHEJetFilter : public edm::global::EDFilter<> {
public:
explicit LHEJetFilter(const edm::ParameterSet&);
~LHEJetFilter() override {}

private:
bool filter(edm::Event&, const edm::EventSetup&) override;
bool filter(edm::StreamID strid, edm::Event& evt, const edm::EventSetup& params) const override;

edm::EDGetTokenT<LHEEventProduct> tokenLHEEvent_;
double jetPtMin_;
JetDefinition jetdef_;

vector<PseudoJet> jetconsts_;
};

LHEJetFilter::LHEJetFilter(const edm::ParameterSet& params)
: tokenLHEEvent_(consumes<LHEEventProduct>(params.getParameter<edm::InputTag>("src"))),
jetPtMin_(params.getParameter<double>("jetPtMin")),
jetdef_(antikt_algorithm, params.getParameter<double>("jetR")) {}

bool LHEJetFilter::filter(edm::Event& evt, const edm::EventSetup& params) {
bool LHEJetFilter::filter(edm::StreamID strid, edm::Event& evt, const edm::EventSetup& params) const {
edm::Handle<LHEEventProduct> lheinfo;
evt.getByToken(tokenLHEEvent_, lheinfo);

if (!lheinfo.isValid()) {
return true;
}

jetconsts_.clear();
vector<PseudoJet> jetconsts;
jetconsts.reserve(10);
const lhef::HEPEUP& hepeup = lheinfo->hepeup();
for (size_t p = 0; p < hepeup.IDUP.size(); ++p) {
if (hepeup.ISTUP[p] == 1) {
const lhef::HEPEUP::FiveVector& mom = hepeup.PUP[p];
jetconsts_.emplace_back(mom[0], mom[1], mom[2], mom[3]);
jetconsts.emplace_back(mom[0], mom[1], mom[2], mom[3]);
}
}

ClusterSequence cs(jetconsts_, jetdef_);
vector<PseudoJet> jets = sorted_by_pt(cs.inclusive_jets());

if (jets.empty()) {
return false;
}
ClusterSequence cs(jetconsts, jetdef_);
vector<PseudoJet> jets = cs.inclusive_jets(jetPtMin_);

return jets[0].perp() > jetPtMin_;
return !jets.empty();
}

// Define module as a plug-in
Expand Down

0 comments on commit cf2b00f

Please sign in to comment.