98 produces<TrajectorySeedCollection>();
102 if (conf.
exists(
"hitMasks")){
107 std::vector<std::string> layerStringList = conf.
getParameter<std::vector<std::string>>(
"layerList");
108 for(
auto it=layerStringList.cbegin(); it < layerStringList.cend(); ++it)
110 std::vector<TrackingLayer> trackingLayerList;
113 while (pos != std::string::npos)
119 trackingLayerList.push_back(layerSpec);
120 line=line.substr(pos+1,std::string::npos);
156 const std::vector<bool> * hitMasks = 0;
161 hitMasks = &(*hitMasksHandle);
223 selectedTrackingRegion =
regions[0].get();
224 selectorFunction = [](
const std::vector<const FastTrackerRecHit*>& hits) ->
bool
236 for (
unsigned icomb=0; icomb<recHitCombinations->size(); ++icomb)
241 std::vector<const FastTrackerRecHit * > seedHitCandidates;
242 for (
const auto & _hit : recHitCombination )
248 seedHitCandidates.push_back(_hit.get());
256 selectedTrackingRegion =
region->get();
259 std::vector<unsigned int> seedHitNumbers =
seedFinder.getSeed(seedHitCandidates);
262 if (seedHitNumbers.size()>1)
267 for(
unsigned iIndex = 0;iIndex < seedHitNumbers.size();++iIndex)
269 seedHits.
push_back(seedHitCandidates[seedHitNumbers[iIndex]]->
clone());
279 seedHits.
size() >=3 ? &seedHits[2] :
nullptr,
void setRecHitCombinationIndex(edm::OwnVector< T > &recHits, int32_t icomb)
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< FastTrackerRecHitCombinationCollection > recHitCombinationsToken
TrajectorySeedProducer(const edm::ParameterSet &conf)
GlobalPoint const & origin() const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
bool skipSeedFinderSelector
BaseTrackerRecHit const * hit() const final
bool exists(std::string const ¶meterName) const
checks if a parameter exists
virtual void produce(edm::Event &e, const edm::EventSetup &es)
bool hitIsMasked(const FastTrackerRecHit *hit, const std::vector< bool > *hitMasks)
std::unique_ptr< SeedCreator > seedCreator
std::function< bool(const std::vector< const FastTrackerRecHit * > &hits)> Selector
edm::EDGetTokenT< std::vector< bool > > hitMasksToken
std::vector< std::vector< TrackingLayer > > seedingLayers
bool insert(const std::vector< DATA > &dataList)
std::unique_ptr< TrackingRegionProducer > theRegionProducer
const TrackerTopology * trackerTopology
std::string measurementTrackerLabel
std::vector< TrajectorySeed > TrajectorySeedCollection
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
const GeomDet * det() const
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
DetId geographicalId() const
The label of this GeomDet.
static TrackingLayer createFromString(std::string layerSpecification)
HitDoublets doublets(const TrackingRegion ®, const edm::Event &ev, const edm::EventSetup &es, Layers layers)
std::vector< FastTrackerRecHitRef > FastTrackerRecHitCombination
SeedingTree< TrackingLayer > _seedingTree
T const * product() const
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
bool isUninitialized() const
T get(const Candidate &c)