File indexing completed on 2023-03-17 11:22:46
0001
0002
0003
0004
0005
0006 #include <iostream>
0007 #include <memory>
0008 #include <string>
0009
0010 #include "RecoTracker/SpecialSeedGenerators/interface/CRackSeedGenerator.h"
0011 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2DCollection.h"
0012 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
0013 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0014 #include "FWCore/Utilities/interface/InputTag.h"
0015
0016 using namespace std;
0017 CRackSeedGenerator::CRackSeedGenerator(edm::ParameterSet const& conf) : cosmic_seed(conf, consumesCollector()) {
0018 edm::LogInfo("CRackSeedGenerator") << "Enter the CRackSeedGenerator";
0019 matchedrecHitsToken_ = consumes<SiStripMatchedRecHit2DCollection>(conf.getParameter<edm::InputTag>("matchedRecHits"));
0020 rphirecHitsToken_ = consumes<SiStripRecHit2DCollection>(conf.getParameter<edm::InputTag>("rphirecHits"));
0021 stereorecHitsToken_ = consumes<SiStripRecHit2DCollection>(conf.getParameter<edm::InputTag>("stereorecHits"));
0022
0023 produces<TrajectorySeedCollection>();
0024 }
0025
0026
0027 CRackSeedGenerator::~CRackSeedGenerator() {}
0028
0029
0030 void CRackSeedGenerator::produce(edm::Event& ev, const edm::EventSetup& es) {
0031
0032 edm::Handle<SiStripRecHit2DCollection> rphirecHits;
0033 ev.getByToken(rphirecHitsToken_, rphirecHits);
0034 edm::Handle<SiStripRecHit2DCollection> stereorecHits;
0035 ev.getByToken(stereorecHitsToken_, stereorecHits);
0036 edm::Handle<SiStripMatchedRecHit2DCollection> matchedrecHits;
0037 ev.getByToken(matchedrecHitsToken_, matchedrecHits);
0038
0039 auto output = std::make_unique<TrajectorySeedCollection>();
0040
0041
0042 cosmic_seed.init(*stereorecHits, *rphirecHits, *matchedrecHits, es);
0043
0044
0045 cosmic_seed.run(*output, es);
0046
0047
0048 LogDebug("CRackSeedGenerator") << " number of seeds = " << output->size();
0049
0050 ev.put(std::move(output));
0051 }