21 l1TkEmsToken_(sumes.consumes<std::
vector<l1t::TkEm>>(conf.getParameter<edm::
InputTag>(
"l1TkEmColl"))),
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()),
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);
GlobalVector directionAtOrigin
Global3DPoint GlobalPoint
static void fillPSetDescription(edm::ParameterSetDescription &desc)
Handle< PROD > getHandle(EDGetTokenT< PROD > token) const
Abs< T >::type abs(const T &t)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
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