44 simHit2RecHitMapToken(
46 minNHits(iConfig.getParameter<unsigned int>(
"minNHits")) {
47 produces<FastTrackerRecHitCombinationCollection>();
62 for (
unsigned int simHitCounter = 0; simHitCounter < simHits->size(); simHitCounter++) {
64 const PSimHit& simHit = (*simHits)[simHitCounter];
69 currentCombination.push_back(recHit);
72 if (simHits->size() - simHitCounter == 1 || simHit.
trackId() != (*simHits)[simHitCounter + 1].trackId()) {
74 if (currentCombination.size() >=
minNHits) {
75 currentCombination.shrink_to_fit();
76 output->push_back(currentCombination);
78 currentCombination.clear();
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void beginStream(edm::StreamID) override
#define DEFINE_FWK_MODULE(type)
void addDefault(ParameterSetDescription const &psetDescription)
edm::EDGetTokenT< FastTrackerRecHitRefCollection > simHit2RecHitMapToken
FastTrackerRecHitCombiner(const edm::ParameterSet &)
~FastTrackerRecHitCombiner() override
bool isNull() const
Checks for null.
std::vector< FastTrackerRecHitRef > FastTrackerRecHitCombination
void produce(edm::Event &, const edm::EventSetup &) override
std::vector< FastTrackerRecHitRef > FastTrackerRecHitRefCollection
void endStream() override
std::vector< FastTrackerRecHitCombination > FastTrackerRecHitCombinationCollection
edm::EDGetTokenT< edm::PSimHitContainer > simHitsToken
unsigned int trackId() const
std::vector< PSimHit > PSimHitContainer