26 #include "Math/GenVector/VectorUtil.h"
49 using namespace l1extra;
53 cone_(
p.getParameter<
double>("useTowersInCone")),
56 EtThreshold_(
p.getParameter<
double>("
EtMin")),
57 EThreshold_(
p.getParameter<
double>("EMin")) {
58 produces<CaloTowerCollection>();
67 desc.
add<
double>((
"useTowersInCone"), 0.8);
68 desc.
add<
double>((
"EtMin"), 1.0);
69 desc.
add<
double>((
"EMin"), 1.0);
70 descriptions.
add((
"hltCaloTowerForEgamma"), desc);
81 auto cands = std::make_unique<CaloTowerCollection>();
82 cands->reserve(caloTowers->size());
84 for (
unsigned idx = 0; idx < caloTowers->size(); idx++) {
85 const CaloTower* cal = &((*caloTowers)[idx]);
93 cands->push_back(*cal);
104 cands->push_back(*cal);
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
EgammaHLTCaloTowerProducer(const edm::ParameterSet &)
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
const double EtThreshold_
~EgammaHLTCaloTowerProducer() override
void fill(std::map< std::string, TH1 * > &h, const std::string &s, double x)
PtEtaPhiELorentzVectorD PtEtaPhiELorentzVector
Lorentz vector with cartesian internal representation.
const edm::EDGetTokenT< CaloTowerCollection > towers_
const edm::EDGetTokenT< edm::View< reco::Candidate > > l1isoseeds_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void produce(edm::StreamID, edm::Event &, edm::EventSetup const &) const final
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
const edm::EDGetTokenT< edm::View< reco::Candidate > > l1nonisoseeds_
double et(double vtxZ) const
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
double phi() const final
momentum azimuthal angle
double energy() const final
energy
double eta() const final
momentum pseudorapidity