CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
SeparatingTSG Class Referenceabstract

#include <SeparatingTSG.h>

Inheritance diagram for SeparatingTSG:
CompositeTSG TrackerSeedGenerator DualByEtaTSG DualByL2TSG

Public Member Functions

virtual unsigned int selectTSG (const TrackCand &, const TrackingRegion &)=0
 
 SeparatingTSG (const edm::ParameterSet &pset, edm::ConsumesCollector &IC)
 
void trackerSeeds (const TrackCand &, const TrackingRegion &, const TrackerTopology *, BTSeedCollection &) override
 provides the seeds from the TSGs: must be overloaded More...
 
 ~SeparatingTSG () override
 
- Public Member Functions inherited from CompositeTSG
 CompositeTSG (const edm::ParameterSet &pset, edm::ConsumesCollector &IC)
 
void init (const MuonServiceProxy *service) override
 initialized the TSGs More...
 
void setEvent (const edm::Event &event) override
 set the event to the TSGs More...
 
 ~CompositeTSG () override
 
- Public Member Functions inherited from TrackerSeedGenerator
const edm::EventgetEvent () const
 
 TrackerSeedGenerator ()
 
virtual ~TrackerSeedGenerator ()
 destructor More...
 

Private Attributes

std::string theCategory
 

Additional Inherited Members

- Public Types inherited from CompositeTSG
typedef std::vector< TrajectorySeedBTSeedCollection
 
typedef std::pair< const Trajectory *, reco::TrackRefTrackCand
 
- Public Types inherited from TrackerSeedGenerator
typedef std::vector< TrajectorySeedBTSeedCollection
 
typedef std::pair< const Trajectory *, reco::TrackRefTrackCand
 
- Protected Member Functions inherited from CompositeTSG
unsigned int nTSGs ()
 
- Protected Attributes inherited from CompositeTSG
std::string theCategory
 
std::vector< std::string > theNames
 
const MuonServiceProxytheProxyService
 
std::vector< TrackerSeedGenerator * > theTSGs
 
- Protected Attributes inherited from TrackerSeedGenerator
const edm::EventtheEvent
 
const MuonServiceProxytheProxyService
 

Detailed Description

Description: composite TrackerSeedGenerator, which uses different TSG in different phase space of the track provided concrete class must be implelemented (DualByEta ,...) to provide the TSG selection.

Author
Jean-Roch Vlimant

Definition at line 17 of file SeparatingTSG.h.

Constructor & Destructor Documentation

SeparatingTSG::SeparatingTSG ( const edm::ParameterSet pset,
edm::ConsumesCollector IC 
)

Definition at line 5 of file SeparatingTSG.cc.

5 :CompositeTSG(pset,IC){}
CompositeTSG(const edm::ParameterSet &pset, edm::ConsumesCollector &IC)
Definition: CompositeTSG.cc:7
SeparatingTSG::~SeparatingTSG ( )
override

Definition at line 7 of file SeparatingTSG.cc.

7 {}

Member Function Documentation

virtual unsigned int SeparatingTSG::selectTSG ( const TrackCand ,
const TrackingRegion  
)
pure virtual

Implemented in DualByL2TSG, and DualByEtaTSG.

Referenced by trackerSeeds().

void SeparatingTSG::trackerSeeds ( const TrackCand ,
const TrackingRegion ,
const TrackerTopology ,
BTSeedCollection  
)
overridevirtual

provides the seeds from the TSGs: must be overloaded

Implements CompositeTSG.

Definition at line 9 of file SeparatingTSG.cc.

References LogDebug, triggerObjects_cff::sel, selectTSG(), theCategory, CompositeTSG::theNames, and CompositeTSG::theTSGs.

10  {
11  unsigned int sel = selectTSG(muonTrackCand,region);
12  LogDebug(theCategory)<<"choosing: "<<theNames[sel]<<", at index ["<<sel<<"]";
13  if(theTSGs[sel]) {
14  std::vector<TrajectorySeed> tmpResult;
15  theTSGs[sel]->trackerSeeds(muonTrackCand,region,tTopo,tmpResult);
16  result.insert(result.end(),tmpResult.begin(),tmpResult.end());
17  }
18 }
#define LogDebug(id)
std::string theCategory
Definition: SeparatingTSG.h:26
virtual unsigned int selectTSG(const TrackCand &, const TrackingRegion &)=0
std::vector< TrackerSeedGenerator * > theTSGs
Definition: CompositeTSG.h:41
std::vector< std::string > theNames
Definition: CompositeTSG.h:42

Member Data Documentation

std::string SeparatingTSG::theCategory
private

Definition at line 26 of file SeparatingTSG.h.

Referenced by trackerSeeds().