CMS 3D CMS Logo

TSGSmart Class Reference

#include <RecoMuon/TrackerSeedGenerator/plugins/TSGSmart.h>

Inheritance diagram for TSGSmart:

TrackerSeedGenerator

List of all members.

Public Member Functions

 TSGSmart (const edm::ParameterSet &pset)
virtual ~TSGSmart ()

Private Member Functions

virtual void run (TrajectorySeedCollection &seeds, const edm::Event &ev, const edm::EventSetup &es, const TrackingRegion &region)

Private Attributes

edm::ParameterSet theConfig
double theEtaBound
SeedGeneratorFromRegionHitstheMixedGenerator
SeedGeneratorFromRegionHitsthePairGenerator
SeedGeneratorFromRegionHitstheTripletGenerator


Detailed Description

Definition at line 11 of file TSGSmart.h.


Constructor & Destructor Documentation

TSGSmart::TSGSmart ( const edm::ParameterSet pset  ) 

Definition at line 9 of file TSGSmart.cc.

References DBSPlugin::get(), edm::ParameterSet::getParameter(), theConfig, theEtaBound, theMixedGenerator, thePairGenerator, and theTripletGenerator.

00010   : theConfig(pset), thePairGenerator(0), theTripletGenerator(0), theMixedGenerator(0)
00011 {
00012 
00013   theEtaBound = theConfig.getParameter<double>("EtaBound");
00014 
00015   edm::ParameterSet PairPSet = theConfig.getParameter<edm::ParameterSet>("PixelPairGeneratorSet"); 
00016   edm::ParameterSet pairhitsfactoryPSet =
00017     PairPSet.getParameter<edm::ParameterSet>("OrderedHitsFactoryPSet");
00018   std::string pairhitsfactoryName = pairhitsfactoryPSet.getParameter<std::string>("ComponentName");
00019   OrderedHitsGenerator*  pairhitsGenerator =
00020     OrderedHitsGeneratorFactory::get()->create( pairhitsfactoryName, pairhitsfactoryPSet);
00021   thePairGenerator = new SeedGeneratorFromRegionHits( pairhitsGenerator, PairPSet);
00022 
00023   edm::ParameterSet TripletPSet = theConfig.getParameter<edm::ParameterSet>("PixelTripletGeneratorSet"); 
00024   edm::ParameterSet triplethitsfactoryPSet =
00025     TripletPSet.getParameter<edm::ParameterSet>("OrderedHitsFactoryPSet");
00026   std::string triplethitsfactoryName = triplethitsfactoryPSet.getParameter<std::string>("ComponentName");
00027   OrderedHitsGenerator*  triplethitsGenerator =
00028     OrderedHitsGeneratorFactory::get()->create( triplethitsfactoryName, triplethitsfactoryPSet);
00029   theTripletGenerator = new SeedGeneratorFromRegionHits( triplethitsGenerator, TripletPSet);
00030 
00031   edm::ParameterSet MixedPSet = theConfig.getParameter<edm::ParameterSet>("MixedGeneratorSet"); 
00032   edm::ParameterSet mixedhitsfactoryPSet =
00033     MixedPSet.getParameter<edm::ParameterSet>("OrderedHitsFactoryPSet");
00034   std::string mixedhitsfactoryName = mixedhitsfactoryPSet.getParameter<std::string>("ComponentName");
00035   OrderedHitsGenerator*  mixedhitsGenerator =
00036     OrderedHitsGeneratorFactory::get()->create( mixedhitsfactoryName, mixedhitsfactoryPSet);
00037   theMixedGenerator = new SeedGeneratorFromRegionHits( mixedhitsGenerator, MixedPSet);
00038   
00039  
00040 }

TSGSmart::~TSGSmart (  )  [virtual]

Definition at line 42 of file TSGSmart.cc.

References theMixedGenerator, thePairGenerator, and theTripletGenerator.

00043 {
00044   delete thePairGenerator; 
00045   delete theTripletGenerator; 
00046   delete theMixedGenerator; 
00047 }


Member Function Documentation

void TSGSmart::run ( TrajectorySeedCollection seeds,
const edm::Event ev,
const edm::EventSetup es,
const TrackingRegion region 
) [private, virtual]

Reimplemented from TrackerSeedGenerator.

Definition at line 49 of file TSGSmart.cc.

References TrackingRegion::direction(), PV3DBase< T, PVType, FrameType >::eta(), SeedGeneratorFromRegionHits::run(), theEtaBound, theMixedGenerator, thePairGenerator, and theTripletGenerator.

00051 {
00052   if( fabs(region.direction().eta()) >  theEtaBound ) {
00053     theMixedGenerator->run(seeds, region, ev, es);
00054   } else {
00055     theTripletGenerator->run(seeds, region, ev, es);
00056     if(seeds.size() < 1) thePairGenerator->run(seeds, region, ev, es);
00057   }
00058 }


Member Data Documentation

edm::ParameterSet TSGSmart::theConfig [private]

Definition at line 23 of file TSGSmart.h.

Referenced by TSGSmart().

double TSGSmart::theEtaBound [private]

Definition at line 28 of file TSGSmart.h.

Referenced by run(), and TSGSmart().

SeedGeneratorFromRegionHits* TSGSmart::theMixedGenerator [private]

Definition at line 26 of file TSGSmart.h.

Referenced by run(), TSGSmart(), and ~TSGSmart().

SeedGeneratorFromRegionHits* TSGSmart::thePairGenerator [private]

Definition at line 24 of file TSGSmart.h.

Referenced by run(), TSGSmart(), and ~TSGSmart().

SeedGeneratorFromRegionHits* TSGSmart::theTripletGenerator [private]

Definition at line 25 of file TSGSmart.h.

Referenced by run(), TSGSmart(), and ~TSGSmart().


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