33 theFitterToken(iC.consumes<
PixelFitter>(cfg.getParameter<
edm::InputTag>(
"Fitter"))),
34 theCleanerName(cfg.getParameter<
std::
string>(
"Cleaner"))
37 if(filterTag.
label() !=
"") {
57 const auto& hitSets = *hhitSets;
61 const auto& fitter = *hfitter;
70 std::vector<const TrackingRecHit *>
hits;hits.reserve(4);
71 for(
const auto& regionHitSets: hitSets) {
76 auto nHits = tuplet.size(); hits.resize(nHits);
77 for (
unsigned int iHit = 0; iHit < nHits; ++iHit) hits[iHit] = tuplet[iHit];
80 std::unique_ptr<reco::Track>
track = fitter.run(hits, region);
84 if (!(*filter)(track.get(),
hits)) {
90 tracks.emplace_back(track.release(), tuplet);
98 const auto& cleaner = *hcleaner;
100 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