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< std::unique_ptr< 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::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::~SeparatingTSG ( )
override

Definition at line 7 of file SeparatingTSG.cc.

7 {}

Member Function Documentation

◆ selectTSG()

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

Implemented in DualByL2TSG, and DualByEtaTSG.

Referenced by trackerSeeds().

◆ 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, nano_mu_digi_cff::region, mps_fire::result, EgammaValidation_Wenu_cff::sel, selectTSG(), theCategory, CompositeTSG::theNames, and CompositeTSG::theTSGs.

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

Member Data Documentation

◆ theCategory

std::string SeparatingTSG::theCategory
private

Definition at line 27 of file SeparatingTSG.h.

Referenced by trackerSeeds().