![]() |
![]() |
#include <RecoTracker/ExtraFromSeeds/src/ExtraFromSeeds.cc>
Public Member Functions | |
ExtraFromSeeds (const edm::ParameterSet &) | |
~ExtraFromSeeds () | |
Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &descriptions) |
Private Types | |
typedef std::vector< unsigned int > | ExtremeLight |
Private Member Functions | |
virtual void | beginJob () |
virtual void | endJob () |
virtual void | produce (edm::Event &, const edm::EventSetup &) override |
Private Attributes | |
edm::InputTag | tracks_ |
Description: [one line class summary]
Implementation: [Notes on implementation]
Definition at line 46 of file ExtraFromSeeds.h.
typedef std::vector<unsigned int> ExtraFromSeeds::ExtremeLight [private] |
Definition at line 59 of file ExtraFromSeeds.h.
ExtraFromSeeds::ExtraFromSeeds | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 30 of file ExtraFromSeeds.cc.
References edm::ParameterSet::getParameter(), and tracks_.
{ tracks_=iConfig.getParameter<edm::InputTag>("tracks"); produces<ExtremeLight>(); produces<TrackingRecHitCollection>(); }
ExtraFromSeeds::~ExtraFromSeeds | ( | ) |
Definition at line 39 of file ExtraFromSeeds.cc.
{ // do anything here that needs to be done at desctruction time // (e.g. close files, deallocate resources etc.) }
void ExtraFromSeeds::beginJob | ( | void | ) | [private, virtual] |
void ExtraFromSeeds::endJob | ( | void | ) | [private, virtual] |
void ExtraFromSeeds::fillDescriptions | ( | edm::ConfigurationDescriptions & | descriptions | ) | [static] |
Reimplemented from edm::EDProducer.
Definition at line 101 of file ExtraFromSeeds.cc.
References edm::ConfigurationDescriptions::addDefault(), and edm::ParameterSetDescription::setUnknown().
{ //The following says we do not know what parameters are allowed so do no validation // Please change this to state exactly what you do use, even if it is no parameters edm::ParameterSetDescription desc; desc.setUnknown(); descriptions.addDefault(desc); }
void ExtraFromSeeds::produce | ( | edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) | [override, private, virtual] |
Implements edm::EDProducer.
Definition at line 54 of file ExtraFromSeeds.cc.
References reco::Track::extra(), edm::Event::getByLabel(), edm::Event::getRefBeforePut(), reco::TrackBase::highPurity, edm::Event::put(), reco::TrackBase::quality(), edm::OwnVector< T, P >::reserve(), reco::TrackExtra::seedRef(), testEve_cfg::tracks, and tracks_.
{ // in edm::Handle<reco::TrackCollection> tracks; iEvent.getByLabel(tracks_,tracks); // out std::auto_ptr<ExtremeLight> exxtralOut(new ExtremeLight()); exxtralOut->resize(tracks->size()); std::auto_ptr<TrackingRecHitCollection> hitOut(new TrackingRecHitCollection()); TrackingRecHitRefProd rHits = iEvent.getRefBeforePut<TrackingRecHitCollection>(); hitOut->reserve(3*tracks->size()); for (unsigned int ie=0;ie!=tracks->size();++ie){ const reco::Track & track = (*tracks)[ie]; const reco::TrackExtra & extra = *track.extra(); //only for high purity tracks if (!track.quality(reco::TrackBase::highPurity)) continue; TrajectorySeed::range seedRange=extra.seedRef()->recHits(); TrajectorySeed::const_iterator seedHit; (*exxtralOut)[ie]=extra.seedRef()->nHits(); for (seedHit=seedRange.first;seedHit!=seedRange.second;++seedHit){ TrackingRecHit * hit = seedHit->clone(); hitOut->push_back( hit ); } } iEvent.put(exxtralOut); iEvent.put(hitOut); }
edm::InputTag ExtraFromSeeds::tracks_ [private] |
Definition at line 58 of file ExtraFromSeeds.h.
Referenced by ExtraFromSeeds(), and produce().