|
virtual void | beginRun (const edm::Run &run, const edm::EventSetup &es) override |
|
virtual void | produce (edm::Event &ev, const edm::EventSetup &es) override |
|
| TSGFromL1Muon (const edm::ParameterSet &cfg) |
|
virtual | ~TSGFromL1Muon () |
|
| EDProducer ()=default |
|
| EDProducerBase () |
|
ModuleDescription const & | moduleDescription () const |
|
virtual | ~EDProducerBase () |
|
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
|
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
|
| ProducerBase () |
|
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
|
std::function< void(BranchDescription const &)> | registrationCallback () const |
| used by the fwk to register list of products More...
|
|
void | resolvePutIndicies (BranchType iBranchType, std::unordered_multimap< std::string, edm::ProductResolverIndex > const &iIndicies, std::string const &moduleLabel) |
|
virtual | ~ProducerBase () noexcept(false) |
|
std::vector< ConsumesInfo > | consumesInfo () const |
|
void | convertCurrentProcessAlias (std::string const &processName) |
| Convert "@currentProcess" in InputTag process names to the actual current process name. More...
|
|
| EDConsumerBase () |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
| EDConsumerBase (EDConsumerBase &&)=default |
|
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
|
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
|
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
|
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
|
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
|
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
|
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
|
virtual | ~EDConsumerBase () noexcept(false) |
|
|
typedef CacheContexts< T... > | CacheTypes |
|
typedef CacheTypes::GlobalCache | GlobalCache |
|
typedef AbilityChecker< T... > | HasAbility |
|
typedef CacheTypes::LuminosityBlockCache | LuminosityBlockCache |
|
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > | LuminosityBlockContext |
|
typedef CacheTypes::LuminosityBlockSummaryCache | LuminosityBlockSummaryCache |
|
typedef CacheTypes::RunCache | RunCache |
|
typedef RunContextT< RunCache, GlobalCache > | RunContext |
|
typedef CacheTypes::RunSummaryCache | RunSummaryCache |
|
typedef EDProducerAdaptorBase | ModuleType |
|
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
|
typedef ProductLabels | Labels |
|
static const std::string & | baseType () |
|
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
|
static void | prevalidate (ConfigurationDescriptions &descriptions) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
|
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
|
ConsumesCollector | consumesCollector () |
| Use a ConsumesCollector to gather consumes information from helper functions. More...
|
|
template<typename ProductType , BranchType B = InEvent> |
void | consumesMany () |
|
void | consumesMany (const TypeToGet &id) |
|
template<BranchType B> |
void | consumesMany (const TypeToGet &id) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
|
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
Description: EDPRoducer to generate L3MuonTracjectorySeed from L1MuonParticles
- Author
- Marcin Konecki
Definition at line 24 of file TSGFromL1Muon.h.
Definition at line 72 of file TSGFromL1Muon.cc.
References objects.IsoTrackAnalyzer::candidates, ALCARECOTkAlBeamHalo_cff::filter, edm::Event::getByToken(), hfClusterShapes_cfi::hits, mps_fire::i, SeedFromProtoTrack::isValid(), LogDebug, eostools::move(), edm::Event::put(), L1MuonSeedsMerger::resolve(), mps_fire::result, OrderedHitsGenerator::run(), SurveyInfoScenario_cff::seed, OrderedSeedingHits::size(), SeedingHitSet::size(), theFilterToken, theFitter, theHitGenerator, theMerger, theRegionProducer, theSourceToken, HiIsolationCommonParameters_cff::track, l1t::tracks, and SeedFromProtoTrack::trajectorySeed().
74 auto result = std::make_unique<L3MuonTrajectorySeedCollection>();
83 LogDebug(
"TSGFromL1Muon")<<l1muon->size()<<
" l1 muons to seed from.";
85 L1MuonParticleCollection::const_iterator muItr = l1muon->begin();
86 L1MuonParticleCollection::const_iterator muEnd = l1muon->end();
87 for (
size_t iL1 = 0; muItr < muEnd; ++muItr, ++iL1) {
89 if (muItr->gmtMuonCand().empty())
continue;
97 typedef std::vector<std::unique_ptr<TrackingRegion> > Regions;
99 for (Regions::const_iterator ir=regions.begin(); ir != regions.end(); ++ir) {
105 unsigned int nSets = candidates.
size();
106 for (
unsigned int ic= 0; ic <nSets; ic++) {
109 std::vector<const TrackingRecHit *> trh;
110 for (
unsigned int i= 0, nHits = hits.
size();
i< nHits; ++
i) trh.push_back( hits[
i]->hit() );
114 if (!track)
continue;
116 if (!
filter(track, trh) ) {
delete track;
continue; }
121 for (L1MuonSeedsMerger::TracksAndHits::const_iterator it = tracks.begin();
122 it != tracks.end(); ++it) {
136 LogDebug(
"TSGFromL1Muon")<<
result->size()<<
" seeds to the event.";
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::pair< const reco::Track *, SeedingHitSet > TrackAndHits
std::unique_ptr< L1MuonPixelTrackFitter > theFitter
OrderedHitsGenerator * theHitGenerator
std::unique_ptr< L1MuonRegionProducer > theRegionProducer
edm::EDGetTokenT< PixelTrackFilter > theFilterToken
virtual const OrderedSeedingHits & run(const TrackingRegion ®, const edm::Event &ev, const edm::EventSetup &es)=0
std::vector< TrackAndHits > TracksAndHits
L1MuonSeedsMerger * theMerger
virtual void resolve(TracksAndHits &) const
virtual unsigned int size() const =0
edm::EDGetTokenT< l1extra::L1MuonParticleCollection > theSourceToken
unsigned int size() const