#include <DataFormats/Common/interface/Ptr.h>
Public Types | |
typedef unsigned long | key_type |
typedef T | value_type |
Public Member Functions | |
T const * | get () const |
Returns C++ pointer to the item. More... | |
bool | hasProductCache () const |
ProductID | id () const |
Accessor for product ID. More... | |
bool | isAvailable () const |
bool | isNonnull () const |
Checks for non-null. More... | |
bool | isNull () const |
Checks for null. More... | |
bool | isTransient () const |
Checks if this Ptr is transient (i.e. not persistable). More... | |
key_type | key () const |
bool | operator! () const |
Checks for null. More... | |
T const & | operator* () const |
Dereference operator. More... | |
T const * | operator-> () const |
Member dereference operator. More... | |
void const * | product () const |
EDProductGetter const * | productGetter () const |
Accessor for product getter. More... | |
template<typename C > | |
Ptr (Handle< C > const &handle, key_type itemKey, bool=true) | |
template<typename C > | |
Ptr (OrphanHandle< C > const &handle, key_type itemKey, bool=true) | |
template<typename C > | |
Ptr (C const *iProduct, key_type iItemKey, bool=true) | |
Ptr (T const *item, key_type iItemKey) | |
template<typename C > | |
Ptr (TestHandle< C > const &handle, key_type itemKey, bool=true) | |
Ptr (ProductID const &productID, key_type itemKey, EDProductGetter const *prodGetter) | |
Ptr (ProductID const &productID, T const *item, key_type item_key) | |
Ptr (ProductID const &productID, T const *item, key_type item_key, bool transient) | |
Ptr (ProductID const &iId) | |
Ptr () | |
template<typename U > | |
Ptr (Ptr< U > const &iOther, std::enable_if_t< std::is_base_of< T, U >::value > *=nullptr) | |
template<typename U > | |
Ptr (Ptr< U > const &iOther, std::enable_if_t< std::is_base_of< U, T >::value > *=nullptr) | |
RefCore const & | refCore () const |
~Ptr () | |
Destructor. More... | |
Static Public Member Functions | |
static short | Class_Version () |
Private Member Functions | |
void | getData_ (bool throwIfNotFound=true) const |
template<typename C > | |
T const * | getItem_ (C const *product, key_type iKey) |
Private Attributes | |
RefCore | core_ |
key_type | key_ |
Friends | |
class | PtrVectorBase |
Description: Persistent 'pointer' to an item in a collection where the collection is in the edm::Event
Usage: <usage>
Definition at line 30 of file AssociationVector.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Constructor for those users who do not have a product handle, but have a pointer to a product getter (such as the EventPrincipal). prodGetter will ususally be a pointer to the event principal.
Definition at line 88 of file Ptr.h.
|
inline |
Constructor for use in the various X::fillView(...) functions or for extracting a persistent Ptr from a PtrVector. It is an error (not diagnosable at compile- or run-time) to call this constructor with a pointer to a T unless the pointed-to T object is already in a collection of type C stored in the Event. The given ProductID must be the id of the collection in the Event.
Definition at line 99 of file Ptr.h.
|
inline |
|
inline |
|
inlineexplicit |
Returns C++ pointer to the item.
Definition at line 159 of file Ptr.h.
Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), TransientTrackBuilder::build(), PFRecoTauAlgorithm::buildPFTau(), PFEGammaAlgo::buildRefinedSuperCluster(), PFECALSuperClusterAlgo::buildSuperCluster(), HPSPFRecoTauAlgorithm::buildThreeProngs(), util.rrapi.RRApi::columns(), rrapi.RRApi::columns(), PileupJetIdAlgo::computeIdVariables(), util.rrapi.RRApi::count(), rrapi.RRApi::count(), DeepTauId::createHadronsBlockInputs(), DeepTauId::createInputsV1(), DeepTauId::createTauBlockInputs(), util.rrapi.RRApi::data(), rrapi.RRApi::data(), edm::FwdPtr< T >::get(), pat::EventHypothesis::getAs(), reco::CaloJet::getCaloConstituent(), betterConfigParser.BetterConfigParser::getCompares(), ECFAdder::getECF(), MultipleAlgoIterator::getEt(), ReflectedIterator::getEt(), ParametrizedSubtractor::getEt(), MultipleAlgoIterator::getEta(), ReflectedIterator::getEta(), ParametrizedSubtractor::getEta(), betterConfigParser.BetterConfigParser::getGeneral(), reco::PFJet::getPFConstituent(), betterConfigParser.BetterConfigParser::getResultingSection(), reco::tau::getTrackFromChargedHadron(), PileUpSubtractor::ieta(), cms::SubEventGenJetProducer::inputTowers(), PileUpSubtractor::iphi(), TTClusterAssociationMap< T >::isCombinatoric(), TTClusterAssociationMap< T >::isGenuine(), MuonPFIsolationWithConeVeto::isInIsolationCone(), ElectronPFIsolationWithConeVeto::isInIsolationCone(), PhotonPFIsolationWithConeVeto::isInIsolationCone(), ElectronPFIsolationWithMapBasedVeto::isInIsolationCone(), PhotonPFIsolationWithMapBasedVeto::isInIsolationCone(), TTClusterAssociationMap< T >::isUnknown(), reco::tau::lead_track_chi2(), pat::MET::MET(), AntiElectronIDMVA6::MVAValue(), GsfEleCalPFClusterIsoCut::operator()(), AntiElectronDeadECAL::operator()(), pat::PATObject< ObjectType >::originalObject(), reco::PFClusterJet::pfCluster(), reco::RecoTauPiZero::print(), TTTrackAssociator< T >::produce(), EcalDigiSelector::produce(), SoftPFMuonTagInfoProducer::produce(), NoPileUpPFMEtDataProducer::produce(), pat::PATTauProducer::produce(), rrapi.RRApi::report(), util.rrapi.RRApi::report(), util.rrapi.RRApi::reports(), rrapi.RRApi::reports(), BoostedDoubleSVProducer::setTracksPV(), util.rrapi.RRApi::tables(), rrapi.RRApi::tables(), rrapi.RRApi::tags(), util.rrapi.RRApi::tags(), util.rrapi.RRApi::templates(), rrapi.RRApi::templates(), toTrackRef(), reco::TrackJet::track(), GsfEleCalPFClusterIsoCut::value(), util.rrapi.RRApi::workspaces(), and rrapi.RRApi::workspaces().
|
inlineprivate |
Definition at line 202 of file Ptr.h.
Referenced by edm::Ptr< T >::isAvailable(), edm::Ptr< T >::operator*(), and edm::Ptr< T >::operator->().
|
private |
Definition at line 229 of file Ptr.h.
References edm::detail::GetProduct< COLLECTION >::address().
Definition at line 187 of file Ptr.h.
Referenced by edm::FwdPtr< T >::hasProductCache(), edm::Ptr< T >::isAvailable(), edm::Ptr< reco::Muon >::Ptr(), and edm::PtrVector< reco::reco::PFCluster >::push_back().
Accessor for product ID.
Definition at line 180 of file Ptr.h.
Referenced by reco::tau::RecoTauPiZeroStripPlugin2::addCandsToStrip(), reco::tau::RecoTauPiZeroStripPlugin3::addCandsToStrip(), MuonTrajectoryCleaner::clean(), pat::PATElectronProducer::fillElectron2(), edm::PtrVector< T >::fillView(), reco::PFCandidate::flag(), reco::CaloJet::getCaloConstituent(), reco::PFJet::getPFConstituent(), edm::FwdPtr< T >::id(), PhoFull5x5SigmaIEtaIEtaValueMapCut::operator()(), PhoMVACut::operator()(), GsfEleMVACut::operator()(), PhoAnyPFIsoWithEAAndExpoScalingCut::operator()(), PhoAnyPFIsoWithEAAndExpoScalingEBCut::operator()(), PhoAnyPFIsoWithEAAndQuadScalingCut::operator()(), PhoAnyPFIsoWithEACut::operator()(), GsfEleDeltaBetaIsoCut::operator()(), reco::operator<<(), edm::AssociationVector< KeyRefProd, CVal, KeyRef, SizeType, KeyReferenceHelper >::operator[](), ClusterClusterMapping::overlap(), pat::helper::RefHelper< T >::parentOrNull(), reco::PFRecoTauChargedHadron::print(), PFMuonUntagger::produce(), pat::PATTrackAndVertexUnpacker::produce(), pat::PATPackedCandidateProducer::produce(), pf2pat::TopProjectorAlgo< Top, Bottom >::ptrToAncestor(), pat::helper::RefHelper< T >::recursiveLookup(), reco::tau::RecoTauConstructor::reserveTauChargedHadron(), ConvertedPhotonProducer::solveAmbiguity(), metsig::SignPFSpecificAlgo::useOriginalPtrs(), PhoFull5x5SigmaIEtaIEtaValueMapCut::value(), PhoMVACut::value(), PhoAnyPFIsoWithEAAndExpoScalingEBCut::value(), PhoAnyPFIsoWithEAAndQuadScalingCut::value(), PhoAnyPFIsoWithEACut::value(), PhoAnyPFIsoWithEAAndExpoScalingCut::value(), GsfEleDeltaBetaIsoCut::value(), GsfEleMVACut::value(), and NoPileUpPFMEtDataProducer::~NoPileUpPFMEtDataProducer().
Checks if collection is in memory or available in the event. No type checking is done.
Definition at line 258 of file Ptr.h.
References edm::Ptr< T >::getData_(), and edm::Ptr< T >::hasProductCache().
Referenced by heppy::IsolationComputer::addVetos(), B2GDQM::analyzeAllHad(), B2GDQM::analyzeSemiE(), B2GDQM::analyzeSemiMu(), MVAJetPuId::computeIdVariables(), convertToPFCandidatePtr(), edm::FwdPtr< T >::get(), reco::CaloJet::getCaloConstituent(), ECFAdder::getECF(), reco::PFJet::getPFConstituent(), NjettinessAdder::getTau(), edm::FwdPtr< T >::isAvailable(), heppy::IsolationComputer::isoSumNeutralsWeighted(), heppy::IsolationComputer::isoSumRaw(), edm::Ptr< reco::Muon >::operator!(), reco::PFCandidateFwdPtrFactory::operator()(), TopProjectorFwdPtrOverlap< Top, Bottom >::operator()(), edm::FwdPtr< T >::operator*(), edm::FwdPtr< T >::operator->(), pat::PATObject< ObjectType >::originalObject(), reco::PFClusterJet::pfCluster(), JetFlavourClustering::produce(), and reco::TrackJet::track().
Checks for non-null.
Definition at line 168 of file Ptr.h.
Referenced by reco::tau::RecoTauConstructor::addTauChargedHadron(), heppy::IsolationComputer::addVetos(), B2GDoubleLeptonHLTValidation::analyze(), B2GHadronicHLTValidation::analyze(), B2GSingleLeptonHLTValidation::analyze(), ZCounting::analyzeElectrons(), HPSPFRecoTauAlgorithm::applyElectronRejection(), HPSPFRecoTauAlgorithm::applyMuonRejection(), reco::tau::RecoTauVertexAssociator::associatedVertex(), PFRecoTauAlgorithm::buildPFTau(), reco::FlavorHistoryEvent::cache(), ConversionProducer::checkTrackPair(), MVAJetPuId::computeIdVariables(), reco::tau::RecoTauConstructor::convertToPtr(), EGEnergyCorrector::CorrectedEnergyWithError(), DeepTauId::createInputsV1(), PFRecoTauDiscriminationByNProngs::discriminate(), PFRecoTauDiscriminationAgainstElectronMVA6::discriminate(), reco::CaloJet::getCaloConstituent(), ECFAdder::getECF(), reco::PFJet::getPFConstituent(), NjettinessAdder::getTau(), reco::tau::getTrackFromChargedHadron(), reco::FlavorHistory::hasMatchedJet(), reco::PFTau::hasMuonReference(), reco::FlavorHistory::hasParton(), reco::FlavorHistory::hasProgenitor(), reco::FlavorHistory::hasSister(), reco::FlavorHistory::hasSisterJet(), edm::FwdPtr< T >::id(), pat::helper::RefHelper< T >::isAncestorOf(), MuonPFIsolationWithConeVeto::isInIsolationCone(), ElectronPFIsolationWithConeVeto::isInIsolationCone(), PhotonPFIsolationWithConeVeto::isInIsolationCone(), PhotonPFIsolationWithMapBasedVeto::isInIsolationCone(), edm::FwdPtr< T >::isNonnull(), edm::Ptr< reco::Muon >::isNull(), heppy::IsolationComputer::isoSumNeutralsWeighted(), heppy::IsolationComputer::isoSumRaw(), edm::FwdPtr< T >::key(), reco::tau::lead_track_chi2(), AntiElectronIDMVA5::MVAValue(), AntiElectronIDMVA6::MVAValue(), reco::PFCandidateFwdPtrFactory::operator()(), reco::tau::RecoTauElectronRejectionPlugin::operator()(), reco::tau::RecoTauImpactParameterSignificancePlugin::operator()(), reco::tau::RecoTauBuilderConePlugin::operator()(), AntiElectronDeadECAL::operator()(), TopProjectorFwdPtrOverlap< Top, Bottom >::operator()(), reco::PFCandidate::overlap(), pat::helper::RefHelper< T >::parentOrSelf(), reco::PFClusterJet::pfCluster(), reco::PFRecoTauChargedHadron::print(), PFTauElecRejectionBenchmark::process(), PseudoTopProducer::produce(), LowPtGsfElectronSCProducer::produce(), L1THLTTauMatching::produce(), PFMuonUntagger::produce(), L1HLTTauMatching::produce(), PATMuonMerger::produce(), pat::PATJetUpdater::produce(), pat::PATTauProducer::produce(), pat::PATJetProducer::produce(), PFTauPrimaryVertexProducerBase::produce(), DeepFlavourTagInfoProducer::produce(), DeepDoubleXTagInfoProducer::produce(), pat::PATElectronProducer::produce(), JetFlavourClustering::produce(), pat::helper::RefHelper< T >::recursiveLookup(), edm::FwdPtr< T >::refCore(), reco::tau::setChargedHadronP4(), reco::PFTau::setisolationGammaCands(), reco::tau::RecoTauBuilderConePlugin::setTauQuantities(), and reco::TrackJet::track().
Checks for null.
Definition at line 164 of file Ptr.h.
Referenced by pat::helper::RefHelper< T >::ancestorOrSelf(), MVAJetPuId::computeIdVariables(), convertToPFCandidatePtr(), pat::helper::OverlapBySuperClusterSeed::fillOverlapsForItem(), edm::PtrVector< T >::fillView(), pat::PATSingleVertexSelector::filter_(), edm::FwdPtr< T >::FwdPtr(), edm::Ptr< reco::Muon >::get(), reco::tau::RecoTauVertexAssociator::getLeadCand(), reco::PFTau::hasMuonReference(), TTClusterAssociationMap< T >::isCombinatoric(), TTClusterAssociationMap< T >::isGenuine(), pat::helper::RefHelper< T >::isRoot(), TTClusterAssociationMap< T >::isUnknown(), EG9X105XObjectUpdateModifier::modifyObject(), edm::Ptr< reco::Muon >::operator!(), CutApplicatorBase::operator()(), pat::PATObject< ObjectType >::originalObject(), reco::PFCandidate::overlap(), TTStubAssociator< T >::produce(), TTTrackAssociator< T >::produce(), PseudoTopProducer::produce(), LowPtGsfElectronSCProducer::produce(), SimPFProducer::produce(), and metsig::SignPFSpecificAlgo::useOriginalPtrs().
Checks if this Ptr is transient (i.e. not persistable).
Definition at line 177 of file Ptr.h.
Referenced by edm::FwdPtr< T >::isTransient().
Definition at line 185 of file Ptr.h.
Referenced by reco::tau::RecoTauPiZeroStripPlugin2::addCandsToStrip(), reco::tau::RecoTauPiZeroStripPlugin3::addCandsToStrip(), PFEGammaAlgo::attachPSClusters(), reco::tau::RecoTauConstructor::convertToPtr(), DeepBoostedJetTagInfoProducer::fillParticleFeatures(), edm::PtrVector< T >::fillView(), reco::PFCandidate::flag(), reco::CaloJet::getCaloConstituent(), reco::PFJet::getPFConstituent(), edm::FwdPtr< T >::key(), PhoFull5x5SigmaIEtaIEtaValueMapCut::operator()(), PhoMVACut::operator()(), GsfEleMVACut::operator()(), PhoAnyPFIsoWithEAAndExpoScalingCut::operator()(), PhoAnyPFIsoWithEAAndExpoScalingEBCut::operator()(), PhoAnyPFIsoWithEAAndQuadScalingCut::operator()(), PhoAnyPFIsoWithEACut::operator()(), GsfEleDeltaBetaIsoCut::operator()(), TopProjectorFwdPtrOverlap< Top, Bottom >::operator()(), reco::FlavorHistory::operator<(), reco::operator<<(), operator<<(), reco::FlavorHistory::operator==(), reco::FlavorHistory::operator>(), edm::AssociationVector< KeyRefProd, CVal, KeyRef, SizeType, KeyReferenceHelper >::operator[](), ClusterClusterMapping::overlap(), reco::PFRecoTauChargedHadron::print(), PFMuonUntagger::produce(), pat::PATTrackAndVertexUnpacker::produce(), pat::PATPackedCandidateProducer::produce(), NoPileUpPFMEtDataProducer::produce(), TriggerMatcherToHLTDebug::produce(), edm::PtrVector< reco::reco::PFCluster >::push_back(), reco::tau::RecoTauConstructor::reserveTauChargedHadron(), ConvertedPhotonProducer::solveAmbiguity(), PhoFull5x5SigmaIEtaIEtaValueMapCut::value(), PhoMVACut::value(), PhoAnyPFIsoWithEAAndExpoScalingEBCut::value(), PhoAnyPFIsoWithEAAndQuadScalingCut::value(), PhoAnyPFIsoWithEAAndExpoScalingCut::value(), PhoAnyPFIsoWithEACut::value(), GsfEleDeltaBetaIsoCut::value(), GsfEleMVACut::value(), and NoPileUpPFMEtDataProducer::~NoPileUpPFMEtDataProducer().
Dereference operator.
Definition at line 241 of file Ptr.h.
References edm::Ptr< T >::core_, edm::Ptr< T >::getData_(), and edm::RefCore::productPtr().
Referenced by edm::Ptr< reco::Muon >::~Ptr().
Member dereference operator.
Definition at line 250 of file Ptr.h.
References edm::Ptr< T >::core_, edm::Ptr< T >::getData_(), and edm::RefCore::productPtr().
Referenced by edm::Ptr< reco::Muon >::get(), and edm::Ptr< reco::Muon >::~Ptr().
|
inline |
Accessor for product getter.
Definition at line 183 of file Ptr.h.
Referenced by edm::Ptr< reco::Muon >::getData_(), and edm::FwdPtr< T >::productGetter().
Definition at line 189 of file Ptr.h.
Referenced by TopProjectorFwdPtrOverlap< Top, Bottom >::operator()(), edm::PtrVector< reco::reco::PFCluster >::push_back(), edm::FwdPtr< T >::refCore(), and reco::tau::RecoTauConstructor::reserveTauChargedHadron().
|
friend |
Definition at line 223 of file Ptr.h.
Referenced by edm::Ptr< reco::Muon >::getData_(), edm::Ptr< reco::Muon >::hasProductCache(), edm::Ptr< reco::Muon >::id(), edm::Ptr< reco::Muon >::isTransient(), edm::Ptr< T >::operator*(), edm::Ptr< T >::operator->(), edm::Ptr< reco::Muon >::productGetter(), edm::Ptr< reco::Muon >::Ptr(), and edm::Ptr< reco::Muon >::refCore().
Definition at line 224 of file Ptr.h.
Referenced by edm::Ptr< reco::Muon >::getData_(), edm::Ptr< reco::Muon >::isNonnull(), and edm::Ptr< reco::Muon >::key().