CMS 3D CMS Logo

SeedGeneratorFromRegionHitsEDProducer Class Reference

#include <RecoTracker/TkSeedGenerator/plugins/SeedGeneratorFromRegionHitsEDProducer.h>

Inheritance diagram for SeedGeneratorFromRegionHitsEDProducer:

edm::EDProducer edm::ProducerBase edm::ProductRegistryHelper

List of all members.

Public Member Functions

virtual void beginRun (edm::Run &run, const edm::EventSetup &es)
virtual void endRun (edm::Run &run, const edm::EventSetup &es)
virtual void produce (edm::Event &ev, const edm::EventSetup &es)
 SeedGeneratorFromRegionHitsEDProducer (const edm::ParameterSet &cfg)
 ~SeedGeneratorFromRegionHitsEDProducer ()

Private Attributes

edm::ParameterSet theConfig
SeedGeneratorFromRegionHitstheGenerator
TrackingRegionProducertheRegionProducer


Detailed Description

Definition at line 12 of file SeedGeneratorFromRegionHitsEDProducer.h.


Constructor & Destructor Documentation

SeedGeneratorFromRegionHitsEDProducer::SeedGeneratorFromRegionHitsEDProducer ( const edm::ParameterSet cfg  ) 

Definition at line 21 of file SeedGeneratorFromRegionHitsEDProducer.cc.

00023   : theConfig(cfg), theGenerator(0), theRegionProducer(0)
00024 {
00025     produces<TrajectorySeedCollection>();
00026 }

SeedGeneratorFromRegionHitsEDProducer::~SeedGeneratorFromRegionHitsEDProducer (  ) 

Definition at line 28 of file SeedGeneratorFromRegionHitsEDProducer.cc.

00029 {
00030 }


Member Function Documentation

void SeedGeneratorFromRegionHitsEDProducer::beginRun ( edm::Run run,
const edm::EventSetup es 
) [virtual]

Reimplemented from edm::EDProducer.

Definition at line 37 of file SeedGeneratorFromRegionHitsEDProducer.cc.

References DBSPlugin::get(), edm::ParameterSet::getParameter(), theConfig, theGenerator, and theRegionProducer.

00038 {
00039   edm::ParameterSet regfactoryPSet = 
00040       theConfig.getParameter<edm::ParameterSet>("RegionFactoryPSet");
00041   std::string regfactoryName = regfactoryPSet.getParameter<std::string>("ComponentName");
00042   theRegionProducer = TrackingRegionProducerFactory::get()->create(regfactoryName,regfactoryPSet);
00043 
00044   edm::ParameterSet hitsfactoryPSet = 
00045       theConfig.getParameter<edm::ParameterSet>("OrderedHitsFactoryPSet");
00046   std::string hitsfactoryName = hitsfactoryPSet.getParameter<std::string>("ComponentName");
00047   OrderedHitsGenerator*  hitsGenerator = 
00048         OrderedHitsGeneratorFactory::get()->create( hitsfactoryName, hitsfactoryPSet);
00049 
00050   edm::ParameterSet comparitorPSet =
00051       theConfig.getParameter<edm::ParameterSet>("SeedComparitorPSet");
00052   std::string comparitorName = comparitorPSet.getParameter<std::string>("ComponentName");
00053   SeedComparitor * aComparitor = (comparitorName == "none") ? 
00054       0 :  SeedComparitorFactory::get()->create( comparitorName, comparitorPSet);   
00055 
00056   theGenerator = new SeedGeneratorFromRegionHits(hitsGenerator, theConfig, aComparitor); // config is passed temporary!!!!
00057   
00058 }

void SeedGeneratorFromRegionHitsEDProducer::endRun ( edm::Run run,
const edm::EventSetup es 
) [virtual]

Reimplemented from edm::EDProducer.

Definition at line 32 of file SeedGeneratorFromRegionHitsEDProducer.cc.

References theGenerator, and theRegionProducer.

00032                                                                                        {
00033   delete theRegionProducer;
00034   delete theGenerator;
00035 }

void SeedGeneratorFromRegionHitsEDProducer::produce ( edm::Event ev,
const edm::EventSetup es 
) [virtual]

Implements edm::EDProducer.

Definition at line 60 of file SeedGeneratorFromRegionHitsEDProducer.cc.

References edm::Event::put(), TrackingRegionProducer::regions(), HLT_VtxMuL3::result, SeedGeneratorFromRegionHits::run(), theGenerator, and theRegionProducer.

00061 {
00062   std::auto_ptr<TrajectorySeedCollection> result(new TrajectorySeedCollection());
00063 
00064   typedef std::vector<TrackingRegion* > Regions;
00065   typedef Regions::const_iterator IR;
00066   Regions regions = theRegionProducer->regions(ev,es);
00067 
00068   for (IR ir=regions.begin(), irEnd=regions.end(); ir < irEnd; ++ir) {
00069     const TrackingRegion & region = **ir;
00070 //    std::cout << region.name() << std::endl;
00071 
00072     // make job
00073     theGenerator->run(*result, region, ev,es);
00074   }
00075 
00076   // clear memory
00077   for (IR ir=regions.begin(), irEnd=regions.end(); ir < irEnd; ++ir) delete (*ir);
00078 
00079   // put to event
00080   ev.put(result);
00081 }


Member Data Documentation

edm::ParameterSet SeedGeneratorFromRegionHitsEDProducer::theConfig [private]

Definition at line 24 of file SeedGeneratorFromRegionHitsEDProducer.h.

Referenced by beginRun().

SeedGeneratorFromRegionHits* SeedGeneratorFromRegionHitsEDProducer::theGenerator [private]

Definition at line 25 of file SeedGeneratorFromRegionHitsEDProducer.h.

Referenced by beginRun(), endRun(), and produce().

TrackingRegionProducer* SeedGeneratorFromRegionHitsEDProducer::theRegionProducer [private]

Definition at line 26 of file SeedGeneratorFromRegionHitsEDProducer.h.

Referenced by beginRun(), endRun(), and produce().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:31:16 2009 for CMSSW by  doxygen 1.5.4