17 for (
const auto& quad : quadruplets) {
18 seedingHitSetsFiller.
emplace_back(quad[0], quad[1], quad[2], quad[3]);
23 template <
typename T_Generator>
41 template <
typename T_Generator>
44 generator_(iConfig, consumesCollector()) {
45 produces<RegionsSeedingHitSets>();
48 template <
typename T_Generator>
55 auto label = T_Generator::fillDescriptionsLabel() +
std::string(
"EDProducer");
59 template <
typename T_Generator>
62 iEvent.getByToken(doubletToken_, hdoublets);
63 const auto& regionDoublets = *hdoublets;
68 <<
"CAHitNtupletEDProducer expects SeedingLayerSetsHits::numberOfLayersInSet() to be >= "
70 <<
". This is likely caused by a configuration error of this module, HitPairEDProducer, or "
71 "SeedingLayersEDProducer.";
75 if (regionDoublets.empty()) {
79 seedingHitSets->reserve(regionDoublets.regionSize(), localRA_.upper());
80 generator_.initEvent(
iEvent, iSetup);
82 LogDebug(
"CAHitNtupletEDProducer") <<
"Creating ntuplets for " << regionDoublets.regionSize() <<
" regions, and "
83 << regionDoublets.layerPairsSize() <<
" layer pairs";
84 std::vector<OrderedHitSeeds> ntuplets;
85 ntuplets.resize(regionDoublets.regionSize());
86 for (
auto& ntuplet : ntuplets)
87 ntuplet.reserve(localRA_.upper());
89 generator_.hitNtuplets(regionDoublets, ntuplets, iSetup, seedingLayerHits);
91 for (
const auto& regionLayerPairs : regionDoublets) {
95 fillNtuplets(seedingHitSetsFiller, ntuplets[
index]);
96 ntuplets[
index].clear();