89 produces<TrajectorySeedCollection>();
94 if (conf.
exists(
"hitMasks")) {
99 std::vector<std::string> layerStringList =
101 std::string layerBegin = *(layerStringList.cbegin());
103 for (
auto it = layerStringList.cbegin(); it < layerStringList.cend(); ++it) {
104 std::vector<TrackingLayer> trackingLayerList;
107 unsigned int nHitsPerSeed = 0;
108 while (
pos != std::string::npos) {
112 trackingLayerList.push_back(layerSpec);
116 if (it == layerStringList.cbegin()) {
119 throw cms::Exception(
"FastSimTracking") <<
"All allowed seed layer definitions must have same elements";
125 if (conf.
exists(
"seedFinderSelector")) {
148 const std::vector<bool>*
hitMasks =
nullptr;
161 const auto&
regions = *hregions;
180 std::vector<const FastTrackerRecHit*> seedHitCandidates;
181 for (
const auto& _hit : recHitCombination) {
185 seedHitCandidates.push_back(_hit.get());
196 std::vector<unsigned int> seedHitNumbers =
seedFinder.getSeed(seedHitCandidates);
199 if (seedHitNumbers.size() > 1) {
202 for (
unsigned iIndex = 0; iIndex < seedHitNumbers.size(); ++iIndex) {
203 seedHits.
push_back(seedHitCandidates[seedHitNumbers[iIndex]]->
clone());
213 seedHits.
size() >= 3 ? &seedHits[2] :
nullptr,
214 seedHits.
size() >= 4 ? &seedHits[3] :
nullptr));