2 #include "Math/GenVector/VectorUtil.h" 12 maxInvMassPairOnly_(iConfig.getParameter<
bool>(
"maxInvMassPairOnly")),
13 removeMaxInvMassPair_(iConfig.getParameter<
bool>(
"removeMaxInvMassPair")) {
14 produces<reco::PFJetCollection>();
28 if (
jets->size() > 1) {
29 for (
unsigned i = 0;
i <
jets->size();
i++) {
30 for (
unsigned j =
i + 1;
j <
jets->size();
j++) {
31 double test = ((*jets)[
i].p4() + (*jets)[
j].p4()).M();
41 addPFJets->push_back((*
jets)[iCan]);
42 addPFJets->push_back((*
jets)[jCan]);
44 for (
unsigned i = 0;
i <
jets->size();
i++) {
45 if (
i != iCan &&
i != jCan)
46 addPFJets->push_back((*
jets)[
i]);
57 desc.add<
bool>(
"maxInvMassPairOnly",
true)->setComment(
"Add only max mjj pair");
58 desc.add<
bool>(
"removeMaxInvMassPair",
false)->setComment(
"Remove max mjj pair and keep all other jets");
60 "This module produces a collection of PFJets that are cross-cleaned with respect to PFTaus passing a HLT " 62 descriptions.
add(
"PFJetsMaxInvMassModule",
desc);
bool removeMaxInvMassPair_
~PFJetsMaxInvMassModule() override
void setComment(std::string const &value)
PFJetsMaxInvMassModule(const edm::ParameterSet &)
const edm::EDGetTokenT< reco::PFJetCollection > pfJetSrc_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
std::vector< PFJet > PFJetCollection
collection of PFJet objects
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override