CMS 3D CMS Logo

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< TrajectorySeedBTSeedCollection
 
typedef std::pair< const Trajectory *, reco::TrackRefTrackCand
 
- Public Types inherited from TrackerSeedGenerator
typedef std::vector< TrajectorySeedBTSeedCollection
 
typedef std::pair< const Trajectory *, reco::TrackRefTrackCand
 

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 24 of file CompositeTSG.h.

Definition at line 25 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(), reco::get(), edm::ParameterSet::getParameter(), TSGFromCombinedHits_cfi::PSetNames, AlCaHLTBitMon_QueryRunRegistry::string, theCategory, theNames, theTSGs, and ~CompositeTSG().

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 
25 }
T getParameter(std::string const &) const
bool empty() const
Definition: ParameterSet.h:191
def create(alignables, pedeDump, additionalData, outputFile, config)
std::string theCategory
Definition: CompositeTSG.h:43
std::vector< std::string > theNames
Definition: CompositeTSG.h:42
std::vector< std::unique_ptr< TrackerSeedGenerator > > theTSGs
Definition: CompositeTSG.h:41
T get(const Candidate &c)
Definition: component.h:55
CompositeTSG::~CompositeTSG ( )
overridedefault

Referenced by CompositeTSG().

Member Function Documentation

void CompositeTSG::init ( const MuonServiceProxy service)
overridevirtual

initialized the TSGs

Reimplemented from TrackerSeedGenerator.

Definition at line 29 of file CompositeTSG.cc.

References theProxyService, and theTSGs.

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

Definition at line 40 of file CompositeTSG.h.

References theTSGs.

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

40 { return theTSGs.size();}
std::vector< std::unique_ptr< TrackerSeedGenerator > > theTSGs
Definition: CompositeTSG.h:41
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 event(), TrackerSeedGenerator::theEvent, and theTSGs.

36  {
37  theEvent = &event;
38  for (unsigned int iTSG=0; iTSG!=theTSGs.size();iTSG++){
39  if(theTSGs[iTSG]) theTSGs[iTSG]->setEvent(event);
40  }
41 }
const edm::Event * theEvent
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
std::vector< std::unique_ptr< TrackerSeedGenerator > > theTSGs
Definition: CompositeTSG.h:41
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 43 of file CompositeTSG.h.

Referenced by CompositeTSG().

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

Definition at line 42 of file CompositeTSG.h.

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

const MuonServiceProxy* CompositeTSG::theProxyService
protected

Definition at line 45 of file CompositeTSG.h.

Referenced by init().

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