Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:28:44

0001 //
0002 // Package:         RecoTracker/TkSeedGenerator
0003 // Class:           GlobalPixelLessSeedGenerator
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 // Virtual destructor needed.
0027 CRackSeedGenerator::~CRackSeedGenerator() {}
0028 
0029 // Functions that gets called by framework every event
0030 void CRackSeedGenerator::produce(edm::Event& ev, const edm::EventSetup& es) {
0031   // get Inputs
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   // invoke the seed finding algorithm
0045   cosmic_seed.run(*output, es);
0046 
0047   // write output to file
0048   LogDebug("CRackSeedGenerator") << " number of seeds = " << output->size();
0049 
0050   ev.put(std::move(output));
0051 }