35 etCut_(iConfig.getParameter<double>(
"etMin")),
36 etaBounds_(iConfig.getParameter<
std::
vector<double>>(
"etaBounds")),
37 phiBounds_(iConfig.getParameter<
std::
vector<double>>(
"phiBounds")),
38 maxClustersEtaPhi_(iConfig.getParameter<
std::
vector<unsigned
int>>(
"maxClustersEtaPhi")),
39 corrector_(iConfig.getParameter<
std::
string>(
"corrector"), -1),
41 produces<l1t::PFClusterCollection>(
"all");
42 produces<l1t::PFClusterCollection>(
"selected");
45 <<
"Size mismatch between eta/phi bounds and max clusters: " << (
etaBounds_.size() - 1) <<
" x " 49 throw cms::Exception(
"Configuration") <<
"etaBounds is not sorted\n";
52 throw cms::Exception(
"Configuration") <<
"phiBounds is not sorted\n";
64 unsigned int index = 0;
66 if (it->pt() <= etCut_)
70 it->pt(), it->eta(), it->phi(), 0.,
true);
71 if (corrector_.valid())
72 corrector_.correctPt(cluster);
74 cluster.setHwQual(it->hwQual());
75 out->push_back(cluster);
77 selector.
fill(cluster.pt(), cluster.eta(), cluster.phi(),
index);
84 (
clusters->begin() + theIndex)->phi(),
87 if (corrector_.valid())
88 corrector_.correctPt(cluster);
91 out_sel->push_back(cluster);
void fill(float pt, float eta, float phi, unsigned int index)
std::vector< unsigned int > const maxClustersEtaPhi_
~PFClusterProducerFromL1EGClusters() override
PFClusterProducerFromL1EGClusters(const edm::ParameterSet &)
l1tpf::ParametricResolution resol_
Abs< T >::type abs(const T &t)
#define DEFINE_FWK_MODULE(type)
std::vector< double > const etaBounds_
std::vector< unsigned int > returnSorted()
std::vector< l1t::PFCluster > PFClusterCollection
void setPtError(float ptError)
std::vector< double > const phiBounds_
void produce(edm::Event &, const edm::EventSetup &) override
l1tpf::corrector corrector_
edm::EDGetTokenT< BXVector< l1t::EGamma > > src_