2 #include "Math/GenVector/VectorUtil.h"
13 :
jetSrc(iConfig.getParameter<
vtag>(
"JetSrc")), mEt_Min(iConfig.getParameter<double>(
"EtMin")) {
14 for (vtag::const_iterator it =
jetSrc.begin(); it !=
jetSrc.end(); ++it) {
19 produces<CaloJetCollection>();
37 for (CaloJetCollection::const_iterator iTau = tauJets->begin(); iTau != tauJets->end(); ++iTau) {
42 myTmpJets.push_back(myJet);
54 std::sort(myTmpJets.begin(), myTmpJets.end(),
sorter);
57 while (!myTmpJets.empty()) {
58 tauL2jets->push_back(myTmpJets[0]);
60 for (
unsigned int i = 1;
i < myTmpJets.size(); ++
i) {
63 tmp.push_back(myTmpJets[
i]);
73 std::vector<edm::InputTag> inputTags;
78 desc.
add<std::vector<edm::InputTag> >(
"JetSrc", inputTags)->setComment(
"CaloJet collections to merge");
79 desc.
add<
double>(
"EtMin", 20.0)->
setComment(
"Minimal ET of jet to merge");
80 descriptions.
setComment(
"Merges CaloJet collections removing duplicates");
81 descriptions.
add(
"L2TauJetsMerger", desc);
void setComment(std::string const &value)
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
L2TauJetsMerger(const edm::ParameterSet &)
Jets made from CaloTowers.
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
~L2TauJetsMerger() override
vtoken_cjets jetSrc_token
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void setComment(std::string const &value)
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
void add(std::string const &label, ParameterSetDescription const &psetDescription)
std::vector< edm::InputTag > vtag
void setPdgId(int pdgId) final
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects