#include <EDConsumerBase.h>
Classes | |
struct | LabelPlacement |
struct | Labels |
struct | TokenLookupInfo |
Public Member Functions | |
EDConsumerBase () | |
ProductHolderIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
void | itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const |
void | itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const |
std::vector < ProductHolderIndexAndSkipBit > const & | itemsToGetFromEvent () const |
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
bool | registeredToConsume (ProductHolderIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
void | updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &) |
virtual | ~EDConsumerBase () |
Protected Member Functions | |
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) |
Private Types | |
enum | { kLookupInfo, kAlwaysGets, kLabels, kKind } |
Private Member Functions | |
EDConsumerBase (const EDConsumerBase &)=delete | |
const EDConsumerBase & | operator= (const EDConsumerBase &)=delete |
unsigned int | recordConsumes (BranchType iBranch, TypeToGet const &iType, edm::InputTag const &iTag, bool iAlwaysGets) |
void | throwBadToken (edm::TypeID const &iType, EDGetToken iToken) const |
void | throwBranchMismatch (BranchType, EDGetToken) const |
void | throwConsumesCallAfterFrozen (TypeToGet const &, InputTag const &) const |
void | throwTypeMismatch (edm::TypeID const &, EDGetToken) const |
Private Attributes | |
bool | frozen_ |
std::vector < ProductHolderIndexAndSkipBit > | itemsToGetFromEvent_ |
edm::SoATuple< TokenLookupInfo, bool, LabelPlacement, edm::KindOfType > | m_tokenInfo |
std::vector< char > | m_tokenLabels |
Friends | |
class | ConsumesCollector |
template<typename T > | |
class | WillGetIfMatch |
Description: Allows declaration of what data is being consumed
Usage: The EDM modules all inherit from this base class
Definition at line 43 of file EDConsumerBase.h.
|
private |
Enumerator | |
---|---|
kLookupInfo | |
kAlwaysGets | |
kLabels | |
kKind |
Definition at line 165 of file EDConsumerBase.h.
|
inline |
Definition at line 47 of file EDConsumerBase.h.
|
virtual |
Definition at line 46 of file EDConsumerBase.cc.
|
privatedelete |
|
inlineprotected |
Definition at line 83 of file EDConsumerBase.h.
References recordConsumes().
Referenced by BTagPerformanceAnalyzerMC::BTagPerformanceAnalyzerMC(), BTagPerformanceAnalyzerOnData::BTagPerformanceAnalyzerOnData(), edm::ConsumesCollector::consumes(), reco::modules::DuplicateListMerger::DuplicateListMerger(), cms::TrackListMerger::edTokens(), EGammaCutBasedEleIdAnalyzer::EGammaCutBasedEleIdAnalyzer(), EmDQMReco::EmDQMReco(), edm::EventContentAnalyzer::EventContentAnalyzer(), HLTHtMhtFilter::HLTHtMhtFilter(), HLTMuonIsoFilter::HLTMuonIsoFilter(), HLTMuonPFIsoFilter::HLTMuonPFIsoFilter(), JetTagProducer::JetTagProducer(), MixCollectionValidation::MixCollectionValidation(), MuonProducer::MuonProducer(), MuonTrackValidator::MuonTrackValidator(), pat::PATElectronProducer::PATElectronProducer(), pat::PATGenericParticleProducer::PATGenericParticleProducer(), pat::PATMuonProducer::PATMuonProducer(), pat::PATPFParticleProducer::PATPFParticleProducer(), pat::PATPhotonProducer::PATPhotonProducer(), pat::PATSingleVertexSelector::PATSingleVertexSelector(), pat::PATTauProducer::PATTauProducer(), pat::PATVertexAssociationProducer::PATVertexAssociationProducer(), edm::OutputModule::selectProducts(), edm::one::OutputModuleBase::selectProducts(), SiStripMonitorDigi::SiStripMonitorDigi(), reco::modules::DuplicateListMerger::threeTokens(), TopHLTDiLeptonOfflineDQM::TopHLTDiLeptonOfflineDQM(), TopHLTSingleLeptonDQM::TopHLTSingleLeptonDQM(), and TrackClusterRemover::TrackClusterRemover().
|
inlineprotected |
Definition at line 88 of file EDConsumerBase.h.
References edm::InEvent, and recordConsumes().
|
inlineprotected |
Definition at line 93 of file EDConsumerBase.h.
References recordConsumes().
|
protected |
Use a ConsumesCollector to gather consumes information from helper functions.
Definition at line 66 of file EDConsumerBase.cc.
References trackerHits::c.
Referenced by AlcaBeamMonitor::AlcaBeamMonitor(), AlcaBeamSpotProducer::AlcaBeamSpotProducer(), TopHLTSingleLeptonDQM::analyze(), SingleTopTChannelLeptonDQM::analyze(), TopHLTDiLeptonOfflineDQM::analyze(), BeamMonitor::BeamMonitor(), BeamMonitorBx::BeamMonitorBx(), BeamSpotAnalyzer::BeamSpotAnalyzer(), TSGFromL1Muon::beginRun(), pat::CandidateSummaryTable::CandidateSummaryTable(), CandIsoDepositProducer::CandIsoDepositProducer(), CandIsolatorFromDeposits::CandIsolatorFromDeposits(), ConfigurableAnalysis::ConfigurableAnalysis(), CorrectedMETProducerT< T >::CorrectedMETProducerT(), CosmicsMuonIdProducer::CosmicsMuonIdProducer(), CSCDigiValidation::CSCDigiValidation(), CSCMonitorModule::CSCMonitorModule(), CtfSpecialSeedGenerator::CtfSpecialSeedGenerator(), edm::DataMixingModule::DataMixingModule(), EcalRecHitProducer::EcalRecHitProducer(), EcalUncalibRecHitProducer::EcalUncalibRecHitProducer(), ElectronSeedProducer::ElectronSeedProducer(), GEDPhotonProducer::GEDPhotonProducer(), GlobalCosmicMuonProducer::GlobalCosmicMuonProducer(), HLTAnalyzer::HLTAnalyzer(), HLTBitAnalyzer::HLTBitAnalyzer(), HLTHiggsValidator::HLTHiggsValidator(), HLTMuonValidator::HLTMuonValidator(), HLTTauDQMOfflineSource::HLTTauDQMOfflineSource(), L2MuonIsolationProducer::L2MuonIsolationProducer(), L3MuonCombinedRelativeIsolationProducer::L3MuonCombinedRelativeIsolationProducer(), L3MuonIsolationProducer::L3MuonIsolationProducer(), LogMessageMonitor::LogMessageMonitor(), cms::METProducer::METProducer(), edm::MixingModule::MixingModule(), MultiTrackValidator::MultiTrackValidator(), MuonIdProducer::MuonIdProducer(), MuonProducer::MuonProducer(), MuonSeedGenerator::MuonSeedGenerator(), MuonSeedProducer::MuonSeedProducer(), MuonShowerInformationProducer::MuonShowerInformationProducer(), MuonTimingProducer::MuonTimingProducer(), MuPFIsoEmbedder::MuPFIsoEmbedder(), pat::PATCleaner< PATObjType >::PATCleaner(), pat::PATCompositeCandidateProducer::PATCompositeCandidateProducer(), pat::PATMETProducer::PATMETProducer(), PFCandIsolatorFromDeposits::PFCandIsolatorFromDeposits(), PFRecoTauChargedHadronProducer::PFRecoTauChargedHadronProducer(), PhotonConversionTrajectorySeedProducerFromQuadruplets::PhotonConversionTrajectorySeedProducerFromQuadruplets(), PhotonConversionTrajectorySeedProducerFromSingleLeg::PhotonConversionTrajectorySeedProducerFromSingleLeg(), PixelTracksProducer::PixelTracksProducer(), MuIsoDepositProducer::produce(), RecoTauPiZeroProducer::RecoTauPiZeroProducer(), RecoTauProducer::RecoTauProducer(), SeedGeneratorFromRegionHitsEDProducer::SeedGeneratorFromRegionHitsEDProducer(), SETMuonSeedProducer::SETMuonSeedProducer(), SiPixelRawToDigi::SiPixelRawToDigi(), SiStripMonitorCluster::SiStripMonitorCluster(), TagProbeFitTreeProducer::TagProbeFitTreeProducer(), TauTagValidation::TauTagValidation(), cms::TCMETProducer::TCMETProducer(), TopDiLeptonOfflineDQM::TopDiLeptonOfflineDQM(), TopSingleLeptonDQM::TopSingleLeptonDQM(), TrackerSeedValidator::TrackerSeedValidator(), TrackingMonitor::TrackingMonitor(), TriggerValidator::TriggerValidator(), TSGFromL1Muon::TSGFromL1Muon(), TSGFromL2Muon::TSGFromL2Muon(), TtDilepEvtSolutionMaker::TtDilepEvtSolutionMaker(), TtSemiEvtSolutionMaker::TtSemiEvtSolutionMaker(), Type2CorrectionProducer::Type2CorrectionProducer(), and V0Producer::V0Producer().
|
inlineprotected |
Definition at line 113 of file EDConsumerBase.h.
Referenced by edm::ConsumesCollector::consumesMany().
|
inlineprotected |
Definition at line 118 of file EDConsumerBase.h.
|
inlineprotected |
Definition at line 123 of file EDConsumerBase.h.
References recordConsumes().
ProductHolderIndexAndSkipBit EDConsumerBase::indexFrom | ( | EDGetToken | iToken, |
BranchType | iBranch, | ||
TypeID const & | iType | ||
) | const |
Definition at line 183 of file EDConsumerBase.cc.
References edm::EDGetToken::index(), info(), kLookupInfo, likely, m_tokenInfo, edm::ProductHolderIndexInvalid, throwBadToken(), throwBranchMismatch(), throwTypeMismatch(), and unlikely.
void EDConsumerBase::itemsMayGet | ( | BranchType | iBranch, |
std::vector< ProductHolderIndexAndSkipBit > & | oIndices | ||
) | const |
Definition at line 238 of file EDConsumerBase.cc.
References prof2calltree::count, kAlwaysGets, kLookupInfo, m_tokenInfo, and edm::ProductHolderIndexInvalid.
void EDConsumerBase::itemsToGet | ( | BranchType | iBranch, |
std::vector< ProductHolderIndexAndSkipBit > & | oIndices | ||
) | const |
Definition at line 202 of file EDConsumerBase.cc.
References prof2calltree::count, kAlwaysGets, kLookupInfo, m_tokenInfo, and edm::ProductHolderIndexInvalid.
Referenced by updateLookup().
|
inline |
Definition at line 56 of file EDConsumerBase.h.
References itemsToGetFromEvent_.
void EDConsumerBase::labelsForToken | ( | EDGetToken | iToken, |
Labels & | oLabels | ||
) | const |
Definition at line 274 of file EDConsumerBase.cc.
References edm::EDGetToken::index(), getHLTprescales::index, kLabels, tablePrinter::labels, m_tokenInfo, m_tokenLabels, edm::EDConsumerBase::Labels::module, edm::EDConsumerBase::Labels::process, edm::EDConsumerBase::Labels::productInstance, and dqm_diff::start.
Referenced by EgammaObjects::analyzeElectrons(), EgammaObjects::analyzePhotons(), TkAlCaRecoMonitor::beginJob(), ElectronAnalyzer::book(), ElectronTagProbeAnalyzer::book(), EcalMIPRecHitFilter::filter(), MuonSimHitsValidAnalyzer::MuonSimHitsValidAnalyzer(), ReducedESRecHitCollectionProducer::produce(), ReducedRecHitCollectionProducer::produce(), TrackClusterRemover::produce(), and SeedClusterRemover::produce().
|
inlineprotected |
Definition at line 98 of file EDConsumerBase.h.
References recordConsumes().
Referenced by edm::ConsumesCollector::mayConsume(), and pat::PATJetProducer::PATJetProducer().
|
inlineprotected |
|
inlineprotected |
Definition at line 108 of file EDConsumerBase.h.
References recordConsumes().
|
privatedelete |
|
private |
Definition at line 73 of file EDConsumerBase.cc.
References frozen_, getHLTprescales::index, edm::InputTag::instance(), edm::TypeToGet::kind(), edm::InputTag::label(), m, m_tokenInfo, m_tokenLabels, edm::InputTag::process(), edm::ProductHolderIndexInvalid, AlCaHLTBitMon_QueryRunRegistry::string, throwConsumesCallAfterFrozen(), edm::TypeToGet::type(), and edm::InputTag::willSkipCurrentProcess().
Referenced by consumes(), consumesMany(), and mayConsume().
bool EDConsumerBase::registeredToConsume | ( | ProductHolderIndex | iIndex, |
bool | skipCurrentProcess, | ||
BranchType | iBranch | ||
) | const |
Definition at line 285 of file EDConsumerBase.cc.
References kLookupInfo, m_tokenInfo, and edm::PRODUCT_TYPE.
Referenced by edm::Principal::findProductByLabel().
bool EDConsumerBase::registeredToConsumeMany | ( | TypeID const & | iType, |
BranchType | iBranch | ||
) | const |
Definition at line 308 of file EDConsumerBase.cc.
References kLookupInfo, m_tokenInfo, edm::PRODUCT_TYPE, and edm::ProductHolderIndexInvalid.
Referenced by edm::Principal::getManyByType().
|
private |
Definition at line 343 of file EDConsumerBase.cc.
References edm::TypeID::className(), edm::hlt::Exception, edm::EDGetToken::index(), and edm::EDGetToken::isUninitialized().
Referenced by indexFrom().
|
private |
Definition at line 338 of file EDConsumerBase.cc.
References edm::BranchTypeToString(), edm::hlt::Exception, edm::EDGetToken::index(), kLookupInfo, and m_tokenInfo.
Referenced by indexFrom().
|
private |
Definition at line 352 of file EDConsumerBase.cc.
References edm::hlt::Exception, and edm::TypeToGet::type().
Referenced by recordConsumes().
|
private |
Definition at line 333 of file EDConsumerBase.cc.
References edm::TypeID::className(), edm::hlt::Exception, edm::EDGetToken::index(), kLookupInfo, and m_tokenInfo.
Referenced by indexFrom().
void EDConsumerBase::updateLookup | ( | BranchType | iBranchType, |
ProductHolderIndexHelper const & | iHelper | ||
) |
Definition at line 122 of file EDConsumerBase.cc.
References frozen_, i, getHLTprescales::index, edm::ProductHolderIndexHelper::index(), edm::InEvent, info(), itemsToGet(), itemsToGetFromEvent_, j, kAlwaysGets, kKind, kLabels, kLookupInfo, tablePrinter::labels, m_tokenInfo, m_tokenLabels, edm::ProductHolderIndexInvalid, and edm::ProductHolderIndexHelper::relatedIndexes().
|
friend |
Definition at line 77 of file EDConsumerBase.h.
|
friend |
Definition at line 78 of file EDConsumerBase.h.
|
private |
Definition at line 174 of file EDConsumerBase.h.
Referenced by recordConsumes(), and updateLookup().
|
private |
Definition at line 172 of file EDConsumerBase.h.
Referenced by itemsToGetFromEvent(), and updateLookup().
|
private |
Definition at line 166 of file EDConsumerBase.h.
Referenced by indexFrom(), itemsMayGet(), itemsToGet(), labelsForToken(), recordConsumes(), registeredToConsume(), registeredToConsumeMany(), throwBranchMismatch(), throwTypeMismatch(), and updateLookup().
|
private |
Definition at line 170 of file EDConsumerBase.h.
Referenced by labelsForToken(), recordConsumes(), and updateLookup().