22 algoVerbosity_(conf.getParameter<
int>(
"algo_verbosity")),
23 minPt_(conf.getParameter<double>(
"minPt")),
24 minAbsEta_(conf.getParameter<double>(
"minAbsEta")),
25 maxAbsEta_(conf.getParameter<double>(
"maxAbsEta")),
26 endcapScalings_(conf.getParameter<
std::
vector<double>>(
"endcapScalings")),
27 quality_(conf.getParameter<
int>(
"quality")) {}
31 std::vector<TICLSeedingRegion> &
result) {
32 auto l1TrkEms =
ev.getHandle(l1TkEmsToken_);
35 for (
size_t indx = 0; indx < (*l1TrkEms).size(); indx++) {
36 const auto &l1TrkEm = (*l1TrkEms)[indx];
37 double offlinePt = this->tkEmOfflineEt(l1TrkEm.pt());
38 if ((offlinePt < minPt_) || (
std::abs(l1TrkEm.eta()) < minAbsEta_) || (
std::abs(l1TrkEm.eta()) > maxAbsEta_) ||
39 (l1TrkEm.EGRef()->hwQual() != quality_)) {
43 int iSide =
int(l1TrkEm.eta() > 0);
44 result.emplace_back(
GlobalPoint(l1TrkEm.p4().X(), l1TrkEm.p4().Y(), l1TrkEm.p4().Z()),
52 return a.directionAtOrigin.perp2() >
b.directionAtOrigin.perp2();
57 return (endcapScalings_.at(0) +
et * endcapScalings_.at(1) +
et *
et * endcapScalings_.at(2));
62 desc.add<
double>(
"minPt", 10);
63 desc.add<
double>(
"minAbsEta", 1.479);
64 desc.add<
double>(
"maxAbsEta", 4.0);
65 desc.add<std::vector<double>>(
"endcapScalings", {3.17445, 1.13219, 0.0});
66 desc.add<
int>(
"quality", 5);
Global3DPoint GlobalPoint
static void fillPSetDescription(edm::ParameterSetDescription &desc)
Abs< T >::type abs(const T &t)
SeedingRegionByL1(const edm::ParameterSet &conf, edm::ConsumesCollector &sumes)
void makeRegions(const edm::Event &ev, const edm::EventSetup &es, std::vector< TICLSeedingRegion > &result) override
double tkEmOfflineEt(double et) const
static void fillPSetDescription(edm::ParameterSetDescription &desc)
Global3DVector GlobalVector