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

◆ BTSeedCollection

Definition at line 23 of file CompositeTSG.h.

◆ TrackCand

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

Definition at line 24 of file CompositeTSG.h.

Constructor & Destructor Documentation

◆ CompositeTSG()

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

Definition at line 7 of file CompositeTSG.cc.

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 }

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

◆ ~CompositeTSG()

CompositeTSG::~CompositeTSG ( )
overridedefault

Member Function Documentation

◆ init()

void CompositeTSG::init ( const MuonServiceProxy service)
overridevirtual

initialized the TSGs

Reimplemented from TrackerSeedGenerator.

Definition at line 28 of file CompositeTSG.cc.

28  {
30  for (unsigned int iTSG = 0; iTSG != theTSGs.size(); iTSG++) {
31  if (theTSGs[iTSG])
32  theTSGs[iTSG]->init(service);
33  }
34 }

References theProxyService, and theTSGs.

◆ nTSGs()

unsigned int CompositeTSG::nTSGs ( )
inlineprotected

Definition at line 38 of file CompositeTSG.h.

38 { return theTSGs.size(); }

References theTSGs.

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

◆ setEvent()

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.

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 }

References event(), TrackerSeedGenerator::theEvent, and theTSGs.

◆ trackerSeeds()

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

◆ theCategory

std::string CompositeTSG::theCategory
protected

Definition at line 41 of file CompositeTSG.h.

Referenced by CompositeTSG().

◆ theNames

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

Definition at line 40 of file CompositeTSG.h.

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

◆ theProxyService

const MuonServiceProxy* CompositeTSG::theProxyService
protected

Definition at line 43 of file CompositeTSG.h.

Referenced by init().

◆ theTSGs

std::vector<std::unique_ptr<TrackerSeedGenerator> > CompositeTSG::theTSGs
protected
service
Definition: service.py:1
HLT_2018_cff.PSetNames
PSetNames
Definition: HLT_2018_cff.py:44711
beamerCreator.create
def create(alignables, pedeDump, additionalData, outputFile, config)
Definition: beamerCreator.py:44
TrackerSeedGenerator::theEvent
const edm::Event * theEvent
Definition: TrackerSeedGenerator.h:50
CompositeTSG::theNames
std::vector< std::string > theNames
Definition: CompositeTSG.h:40
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ParameterSet
Definition: ParameterSet.h:36
CompositeTSG::theTSGs
std::vector< std::unique_ptr< TrackerSeedGenerator > > theTSGs
Definition: CompositeTSG.h:39
get
#define get
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
CompositeTSG::theCategory
std::string theCategory
Definition: CompositeTSG.h:41
event
Definition: event.py:1
event
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
edm::ParameterSet::empty
bool empty() const
Definition: ParameterSet.h:190
CompositeTSG::theProxyService
const MuonServiceProxy * theProxyService
Definition: CompositeTSG.h:43