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>
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());
87 ntuplet.reserve(localRA_.upper());
89 generator_.hitNtuplets(regionDoublets, ntuplets, seedingLayerHits);
91 for (
const auto& regionLayerPairs : regionDoublets) {
95 fillNtuplets(seedingHitSetsFiller, ntuplets[index]);
96 ntuplets[
index].clear();
unsigned short numberOfLayersInSet() const
Get number of layers in each SeedingLayerSets.
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)
CAHitNtupletEDProducerT(const edm::ParameterSet &iConfig)
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
ParameterDescriptionBase * add(U const &iLabel, T const &value)
edm::EDGetTokenT< IntermediateHitDoublets > doubletToken_
Helper class enforcing correct way of filling the doublets of a region.
void emplace_back(Args &&...args)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
edm::RunningAverage localRA_
~CAHitNtupletEDProducerT() override=default