18 using namespace pixeltrackfitting;
25 if (not filterTag.
label().empty()) {
29 if (not cleanerName.empty()) {
46 const auto& hitSets = *hhitSets;
50 const auto& fitter = *hfitter;
59 std::vector<const TrackingRecHit*> hits;
61 for (
const auto& regionHitSets : hitSets) {
66 auto nHits = tuplet.size();
68 for (
unsigned int iHit = 0; iHit <
nHits; ++iHit)
69 hits[iHit] = tuplet[iHit];
72 std::unique_ptr<reco::Track>
track = fitter.run(hits, region);
77 if (!(*filter)(track.get(), hits)) {
89 tracks.emplace_back(track.release(), tuplet);
97 cleaner.cleanTracks(tracks);
bool getByToken(EDGetToken token, Handle< PROD > &result) const
pixeltrackfitting::TracksWithTTRHs clean(const pixeltrackfitting::TracksWithTTRHs &initialT_TTRHs) const
constexpr bool isUninitialized() const noexcept
edm::EDGetTokenT< PixelTrackFilter > theFilterToken
auto const & tracks
cannot be loose
bool getData(T &iHolder) const
std::vector< TrackWithTTRHs > TracksWithTTRHs
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)
constexpr bool isInitialized() const noexcept
T const * product() const
T getParameter(std::string const &) const
caConstants::TupleMultiplicity const CAHitNtupletGeneratorKernelsGPU::HitToTuple const cms::cuda::AtomicPairCounter GPUCACell const *__restrict__ uint32_t const *__restrict__ gpuPixelDoublets::CellNeighborsVector const gpuPixelDoublets::CellTracksVector const GPUCACell::OuterHitOfCell const int32_t nHits
edm::ESGetToken< PixelTrackCleaner, PixelTrackCleaner::Record > theCleanerToken
static void fillDescriptions(edm::ParameterSetDescription &desc)
edm::EDGetTokenT< RegionsSeedingHitSets > theHitSetsToken
edm::EDGetTokenT< PixelFitter > theFitterToken