26 theFitterToken(iC.consumes<
PixelFitter>(cfg.getParameter<
edm::InputTag>(
"Fitter"))),
27 theCleanerName(cfg.getParameter<
std::
string>(
"Cleaner"))
30 if (not filterTag.
label().empty()) {
50 const auto& hitSets = *hhitSets;
54 const auto& fitter = *hfitter;
63 std::vector<const TrackingRecHit *>
hits;hits.reserve(4);
64 for(
const auto& regionHitSets: hitSets) {
69 auto nHits = tuplet.size(); hits.resize(nHits);
70 for (
unsigned int iHit = 0; iHit < nHits; ++iHit) hits[iHit] = tuplet[iHit];
73 std::unique_ptr<reco::Track>
track = fitter.run(hits, region, es);
77 if (!(*filter)(track.get(),
hits)) {
83 tracks.emplace_back(track.release(), tuplet);
91 const auto& cleaner = *hcleaner;
93 cleaner.cleanTracks(tracks);
T getParameter(std::string const &) const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
pixeltrackfitting::TracksWithTTRHs clean(const pixeltrackfitting::TracksWithTTRHs &initialT_TTRHs) const
edm::EDGetTokenT< PixelTrackFilter > theFilterToken
std::vector< TrackWithTTRHs > TracksWithTTRHs
std::string theCleanerName
PixelTrackReconstruction(const edm::ParameterSet &conf, edm::ConsumesCollector &&iC)
~PixelTrackReconstruction()
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void run(pixeltrackfitting::TracksWithTTRHs &tah, edm::Event &ev, const edm::EventSetup &es)
T const * product() const
bool isUninitialized() const
static void fillDescriptions(edm::ParameterSetDescription &desc)
edm::EDGetTokenT< RegionsSeedingHitSets > theHitSetsToken
edm::EDGetTokenT< PixelFitter > theFitterToken