CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
CompositeTSG Class Referenceabstract

#include <CompositeTSG.h>

Inheritance diagram for CompositeTSG:
TrackerSeedGenerator CombinedTSG SeparatingTSG DualByEtaTSG DualByL2TSG

Public Types

typedef std::vector
< TrajectorySeed
BTSeedCollection
 
typedef std::pair< const
Trajectory *, reco::TrackRef
TrackCand
 
- Public Types inherited from TrackerSeedGenerator
typedef std::vector
< TrajectorySeed
BTSeedCollection
 
typedef std::pair< const
Trajectory *, reco::TrackRef
TrackCand
 

Public Member Functions

 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...
 
void trackerSeeds (const TrackCand &, const TrackingRegion &, const TrackerTopology *, BTSeedCollection &) override=0
 provides the seeds from the TSGs: must be overloaded More...
 
 ~CompositeTSG () override
 
- Public Member Functions inherited from TrackerSeedGenerator
const edm::EventgetEvent () const
 
 TrackerSeedGenerator ()
 
virtual ~TrackerSeedGenerator ()
 destructor More...
 

Protected Member Functions

unsigned int nTSGs ()
 

Protected Attributes

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: TrackerSeedGenerator generic class to allow more than one TSG to be used. used as a SeparatingTSG of CombinedTSG

Author
Jean-Roch Vlimant, Adam Everett

Definition at line 21 of file CompositeTSG.h.

Member Typedef Documentation

Definition at line 23 of file CompositeTSG.h.

typedef std::pair<const Trajectory *, reco::TrackRef> CompositeTSG::TrackCand

Definition at line 24 of file CompositeTSG.h.

Constructor & Destructor Documentation

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

Definition at line 7 of file CompositeTSG.cc.

References beamerCreator::create(), edm::ParameterSet::empty(), get, edm::ParameterSet::getParameter(), AlCaHLTBitMon_QueryRunRegistry::string, theCategory, theNames, and theTSGs.

7  {
8  theCategory = "CompositeTSG";
9 
10  //configure the individual components of the TSG
11  std::vector<std::string> PSetNames = par.getParameter<std::vector<std::string> >("PSetNames");
12 
13  for (std::vector<std::string>::iterator nIt = PSetNames.begin(); nIt != PSetNames.end(); nIt++) {
15  if (TSGpset.empty()) {
16  theNames.push_back((*nIt) + ":" + "NULL");
17  theTSGs.emplace_back(nullptr);
18  } else {
19  std::string SeedGenName = TSGpset.getParameter<std::string>("ComponentName");
20  theNames.push_back((*nIt) + ":" + SeedGenName);
21  theTSGs.emplace_back(TrackerSeedGeneratorFactory::get()->create(SeedGenName, TSGpset, IC));
22  }
23  }
24 }
bool empty() const
Definition: ParameterSet.h:201
std::string theCategory
Definition: CompositeTSG.h:41
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
std::vector< std::string > theNames
Definition: CompositeTSG.h:40
std::vector< std::unique_ptr< TrackerSeedGenerator > > theTSGs
Definition: CompositeTSG.h:39
#define get
CompositeTSG::~CompositeTSG ( )
overridedefault

Member Function Documentation

void CompositeTSG::init ( const MuonServiceProxy service)
overridevirtual

initialized the TSGs

Reimplemented from TrackerSeedGenerator.

Definition at line 28 of file CompositeTSG.cc.

References theProxyService, and theTSGs.

28  {
29  theProxyService = service;
30  for (unsigned int iTSG = 0; iTSG != theTSGs.size(); iTSG++) {
31  if (theTSGs[iTSG])
32  theTSGs[iTSG]->init(service);
33  }
34 }
const MuonServiceProxy * theProxyService
Definition: CompositeTSG.h:43
std::vector< std::unique_ptr< TrackerSeedGenerator > > theTSGs
Definition: CompositeTSG.h:39
unsigned int CompositeTSG::nTSGs ( )
inlineprotected

Definition at line 38 of file CompositeTSG.h.

References theTSGs.

Referenced by DualByEtaTSG::DualByEtaTSG(), and DualByL2TSG::DualByL2TSG().

38 { return theTSGs.size(); }
std::vector< std::unique_ptr< TrackerSeedGenerator > > theTSGs
Definition: CompositeTSG.h:39
void CompositeTSG::setEvent ( const edm::Event event)
overridevirtual

set the event to the TSGs

Reimplemented from TrackerSeedGenerator.

Definition at line 36 of file CompositeTSG.cc.

References edmPickEvents::event, TrackerSeedGenerator::theEvent, and theTSGs.

36  {
37  theEvent = &event;
38  for (unsigned int iTSG = 0; iTSG != theTSGs.size(); iTSG++) {
39  if (theTSGs[iTSG])
40  theTSGs[iTSG]->setEvent(event);
41  }
42 }
const edm::Event * theEvent
std::vector< std::unique_ptr< TrackerSeedGenerator > > theTSGs
Definition: CompositeTSG.h:39
void CompositeTSG::trackerSeeds ( const TrackCand ,
const TrackingRegion ,
const TrackerTopology ,
BTSeedCollection  
)
overridepure virtual

provides the seeds from the TSGs: must be overloaded

Reimplemented from TrackerSeedGenerator.

Implemented in CombinedTSG, and SeparatingTSG.

Member Data Documentation

std::string CompositeTSG::theCategory
protected

Definition at line 41 of file CompositeTSG.h.

Referenced by CompositeTSG().

std::vector<std::string> CompositeTSG::theNames
protected

Definition at line 40 of file CompositeTSG.h.

Referenced by CompositeTSG(), and SeparatingTSG::trackerSeeds().

const MuonServiceProxy* CompositeTSG::theProxyService
protected

Definition at line 43 of file CompositeTSG.h.

Referenced by init().

std::vector<std::unique_ptr<TrackerSeedGenerator> > CompositeTSG::theTSGs
protected