CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends
edm::Ref< C, T, F > Class Template Reference

#include <AssociativeIterator.h>

Inheritance diagram for edm::Ref< C, T, F >:
l1tVertexFinder::Stub

Public Types

typedef boost::binary_traits< F >::second_argument_type argument_type
 
typedef T const element_type
 
typedef F finder_type
 
typedef std::remove_cv< typename std::remove_reference< argument_type >::type >::type key_type
 
typedef C product_type
 for export More...
 
typedef T value_type
 

Public Member Functions

T const * get () const
 Returns C++ pointer to the item. More...
 
bool hasProductCache () const
 Returns true if container referenced by the Ref has been cached. More...
 
ProductID id () const
 Accessor for product ID. More...
 
key_type index () const
 
bool isAvailable () const
 
bool isNonnull () const
 Checks for non-null. More...
 
bool isNull () const
 Checks for null. More...
 
bool isTransient () const
 Checks if this ref is transient (i.e. not persistable). More...
 
key_type key () const
 Accessor for product key. More...
 
bool operator! () const
 Checks for null. More...
 
T const & operator* () const
 Dereference operator. More...
 
T const * operator-> () const
 Member dereference operator. More...
 
EDProductGetter const * productGetter () const
 Accessor for product getter. More...
 
 Ref ()
 Default constructor needed for reading from persistent store. Not for direct use. More...
 
 Ref (Handle< C > const &handle, key_type itemKey, bool setNow=true)
 General purpose constructor from handle. More...
 
 Ref (OrphanHandle< C > const &handle, key_type itemKey, bool setNow=true)
 General purpose constructor from orphan handle. More...
 
 Ref (C const *product, key_type itemKey, bool setNow=true)
 Constructors for ref to object that is not in an event. More...
 
 Ref (TestHandle< C > const &handle, key_type itemKey, bool setNow=true)
 Constructor from test handle. More...
 
 Ref (ProductID const &productID, key_type itemKey, EDProductGetter const *prodGetter)
 
 Ref (ProductID const &iProductID, T const *item, key_type itemKey, C const *)
 Constructor for use in the various X::fillView(...) functions. More...
 
 Ref (ProductID const &iProductID, T const *item, key_type itemKey)
 
 Ref (ProductID const &iProductID, T const *item, key_type itemKey, bool transient)
 
 Ref (ProductID const &iId)
 
 Ref (RefProd< C > const &refProd, key_type itemKey)
 Constructor from RefProd<C> and key. More...
 
 Ref (RefCore const &iRefCore, key_type const &iKey)
 
RefCore const & refCore () const
 
 ~Ref ()
 Destructor. More...
 

Static Public Member Functions

static short Class_Version ()
 
static key_type invalidKey ()
 

Private Types

typedef refhelper::FindRefVectorUsingAdvance< RefToBaseVector< T > > VBF
 
typedef refhelper::FindRefVectorUsingAdvance< RefVector< C, T, F > > VF
 

Private Member Functions

void checkTypeAtCompileTime (C const *)
 

Private Attributes

key_type index_
 
RefCore product_
 

Friends

class RefVector< C, T, F >
 
class RefVector< RefVector< C, T, F >, T, VBF >
 
class RefVector< RefVector< C, T, F >, T, VF >
 
class RefVectorIterator< C, T, F >
 

Detailed Description

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
class edm::Ref< C, T, F >

Definition at line 58 of file AssociativeIterator.h.

Member Typedef Documentation

◆ argument_type

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef boost::binary_traits<F>::second_argument_type edm::Ref< C, T, F >::argument_type

Definition at line 163 of file Ref.h.

◆ element_type

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef T const edm::Ref< C, T, F >::element_type

Definition at line 161 of file Ref.h.

◆ finder_type

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef F edm::Ref< C, T, F >::finder_type

Definition at line 162 of file Ref.h.

◆ key_type

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef std::remove_cv<typename std::remove_reference<argument_type>::type>::type edm::Ref< C, T, F >::key_type

Definition at line 164 of file Ref.h.

◆ product_type

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef C edm::Ref< C, T, F >::product_type

for export

Definition at line 159 of file Ref.h.

◆ value_type

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef T edm::Ref< C, T, F >::value_type

Definition at line 160 of file Ref.h.

◆ VBF

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef refhelper::FindRefVectorUsingAdvance<RefToBaseVector<T> > edm::Ref< C, T, F >::VBF
private

Definition at line 151 of file Ref.h.

◆ VF

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef refhelper::FindRefVectorUsingAdvance<RefVector<C, T, F> > edm::Ref< C, T, F >::VF
private

Definition at line 150 of file Ref.h.

Constructor & Destructor Documentation

◆ Ref() [1/12]

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
edm::Ref< C, T, F >::Ref ( )
inline

Default constructor needed for reading from persistent store. Not for direct use.

Definition at line 171 of file Ref.h.

static const key_type value
Definition: traits.h:34
key_type index_
Definition: Ref.h:281
RefCore product_
Definition: Ref.h:280

◆ Ref() [2/12]

template<typename C, typename T , typename F >
edm::Ref< C, T, F >::Ref ( Handle< C > const &  handle,
key_type  itemKey,
bool  setNow = true 
)
inline

General purpose constructor from handle.

Definition at line 441 of file Ref.h.

442  : product_(handle.id(), nullptr, nullptr, false), index_(itemKey) {
443  if (itemKey == key_traits<key_type>::value)
444  return;
445  refitem::findRefItem<C, T, F, key_type>(product_, handle.product(), itemKey);
446  }
static const key_type value
Definition: traits.h:34
key_type index_
Definition: Ref.h:281
RefCore product_
Definition: Ref.h:280

◆ Ref() [3/12]

template<typename C, typename T , typename F >
edm::Ref< C, T, F >::Ref ( OrphanHandle< C > const &  handle,
key_type  itemKey,
bool  setNow = true 
)
inline

General purpose constructor from orphan handle.

Definition at line 460 of file Ref.h.

461  : product_(handle.id(), nullptr, nullptr, false), index_(itemKey) {
462  if (itemKey == key_traits<key_type>::value)
463  return;
464  refitem::findRefItem<C, T, F, key_type>(product_, handle.product(), itemKey);
465  }
static const key_type value
Definition: traits.h:34
key_type index_
Definition: Ref.h:281
RefCore product_
Definition: Ref.h:280

◆ Ref() [4/12]

template<typename C, typename T , typename F >
edm::Ref< C, T, F >::Ref ( C const *  product,
key_type  itemKey,
bool  setNow = true 
)
inline

Constructors for ref to object that is not in an event.

Constructor for refs to object that is not in an event.

Definition at line 485 of file Ref.h.

486  : product_(ProductID(), nullptr, nullptr, true),
487  index_(iProduct != nullptr ? itemKey : key_traits<key_type>::value) {
488  if (iProduct != nullptr) {
489  refitem::findRefItem<C, T, F, key_type>(product_, iProduct, itemKey);
490  }
491  }
static const key_type value
Definition: traits.h:34
key_type index_
Definition: Ref.h:281
RefCore product_
Definition: Ref.h:280

◆ Ref() [5/12]

template<typename C, typename T , typename F >
edm::Ref< C, T, F >::Ref ( TestHandle< C > const &  handle,
key_type  itemKey,
bool  setNow = true 
)
inline

Constructor from test handle.

constructor from test handle.

Definition at line 504 of file Ref.h.

505  : product_(handle.id(), nullptr, nullptr, true), index_(itemKey) {
506  if (itemKey == key_traits<key_type>::value)
507  return;
508  refitem::findRefItem<C, T, F, key_type>(product_, handle.product(), itemKey);
509  }
static const key_type value
Definition: traits.h:34
key_type index_
Definition: Ref.h:281
RefCore product_
Definition: Ref.h:280

◆ Ref() [6/12]

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
edm::Ref< C, T, F >::Ref ( ProductID const &  productID,
key_type  itemKey,
EDProductGetter const *  prodGetter 
)
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 194 of file Ref.h.

195  : product_(productID, nullptr, mustBeNonZero(prodGetter, "Ref", productID), false), index_(itemKey) {}
key_type index_
Definition: Ref.h:281
RefCore product_
Definition: Ref.h:280
EDProductGetter const * mustBeNonZero(EDProductGetter const *prodGetter, std::string refType, ProductID const &productID)

◆ Ref() [7/12]

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
edm::Ref< C, T, F >::Ref ( ProductID const &  iProductID,
T const *  item,
key_type  itemKey,
C const *   
)
inline

Constructor for use in the various X::fillView(...) functions.

Definition at line 204 of file Ref.h.

205  : product_(iProductID, item, 0, false), index_(itemKey) {}
key_type index_
Definition: Ref.h:281
RefCore product_
Definition: Ref.h:280

◆ Ref() [8/12]

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
edm::Ref< C, T, F >::Ref ( ProductID const &  iProductID,
T const *  item,
key_type  itemKey 
)
inline

Definition at line 207 of file Ref.h.

208  : product_(iProductID, item, nullptr, false), index_(itemKey) {}
key_type index_
Definition: Ref.h:281
RefCore product_
Definition: Ref.h:280

◆ Ref() [9/12]

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
edm::Ref< C, T, F >::Ref ( ProductID const &  iProductID,
T const *  item,
key_type  itemKey,
bool  transient 
)
inline

Definition at line 210 of file Ref.h.

211  : product_(iProductID, item, nullptr, transient), index_(itemKey) {}
key_type index_
Definition: Ref.h:281
RefCore product_
Definition: Ref.h:280

◆ Ref() [10/12]

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
edm::Ref< C, T, F >::Ref ( ProductID const &  iId)
inlineexplicit

Constructor that creates an invalid ("null") Ref that is associated with a given product (denoted by that product's ProductID).

Definition at line 217 of file Ref.h.

217 : product_(iId, nullptr, nullptr, false), index_(key_traits<key_type>::value) {}
static const key_type value
Definition: traits.h:34
key_type index_
Definition: Ref.h:281
RefCore product_
Definition: Ref.h:280

◆ Ref() [11/12]

template<typename C, typename T, typename F >
edm::Ref< C, T, F >::Ref ( RefProd< C > const &  refProd,
key_type  itemKey 
)
inline

Constructor from RefProd<C> and key.

Definition at line 522 of file Ref.h.

523  : product_(refProd.id(), nullptr, refProd.refCore().productGetter(), refProd.refCore().isTransient()),
524  index_(itemKey) {
525  if (refProd.refCore().productPtr() != nullptr && itemKey != key_traits<key_type>::value) {
526  refitem::findRefItem<C, T, F, key_type>(
527  product_, static_cast<product_type const*>(refProd.refCore().productPtr()), itemKey);
528  }
529  }
static const key_type value
Definition: traits.h:34
key_type index_
Definition: Ref.h:281
RefCore product_
Definition: Ref.h:280
C product_type
for export
Definition: Ref.h:159

◆ ~Ref()

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
edm::Ref< C, T, F >::~Ref ( )
inline

Destructor.

Definition at line 223 of file Ref.h.

223 {}

◆ Ref() [12/12]

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
edm::Ref< C, T, F >::Ref ( RefCore const &  iRefCore,
key_type const &  iKey 
)
inline

Definition at line 273 of file Ref.h.

273 : product_(iRefCore), index_(iKey) {}
key_type index_
Definition: Ref.h:281
RefCore product_
Definition: Ref.h:280

Member Function Documentation

◆ checkTypeAtCompileTime()

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
void edm::Ref< C, T, F >::checkTypeAtCompileTime ( C const *  )
inlineprivate

Definition at line 278 of file Ref.h.

278 {}

◆ Class_Version()

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
static short edm::Ref< C, T, F >::Class_Version ( )
inlinestatic

Definition at line 270 of file Ref.h.

273 : product_(iRefCore), index_(iKey) {}
key_type index_
Definition: Ref.h:281
RefCore product_
Definition: Ref.h:280

◆ get()

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
T const* edm::Ref< C, T, F >::get ( ) const
inline

Returns C++ pointer to the item.

Definition at line 232 of file Ref.h.

Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), submitPVValidationJobs.BetterConfigParser::__updateDict(), FWPFCandidateWithHitsProxyBuilder::addHitsForCandidate(), RecoDisplacedMuonValidator::analyze(), RecoMuonValidator::analyze(), TestOutliers::analyze(), MuonTrackValidator::analyze(), SegmentToTrackAssociator::associate(), reco::RecoCandidate::bestTrack(), reco::Muon::bestTrack(), pat::Muon::bestTrack(), FWTrajectorySeedProxyBuilder::build(), GEMEfficiencyAnalyzer::buildStartingStateAlignmentStyle(), PFEGammaAlgo::calculateEleMVA(), reco::CaloMuon::charge(), util.rrapi.RRApi::columns(), rrapi.RRApi::columns(), PileupJetIdAlgo::computeIdVariables(), util.rrapi.RRApi::count(), rrapi.RRApi::count(), util.rrapi.RRApi::data(), rrapi.RRApi::data(), PFRecoTauDiscriminationAgainstMuon::discriminate(), MuonAlignmentAnalyzer::doMatching(), MultiTrackValidatorGenPs::dqmAnalyze(), reco::CaloMuon::eta(), MuonCaloCompatibility::evaluate(), L1ExtraParticleMapProd::evaluateDoubleDifferentCaloObjectTrigger(), L1ExtraParticleMapProd::evaluateDoubleDifferentObjectSameTypeTrigger(), L1ExtraParticleMapProd::evaluateDoubleDifferentObjectTrigger(), L1ExtraParticleMapProd::evaluateDoublePlusSingleObjectTrigger(), L1ExtraParticleMapProd::evaluateDoubleSameObjectTrigger(), L1ExtraParticleMapProd::evaluateForwardRapidityGap(), L1ExtraParticleMapProd::evaluateJetGapJetTrigger(), L1ExtraParticleMapProd::evaluateQuadSameObjectTrigger(), L1ExtraParticleMapProd::evaluateTripleSameObjectTrigger(), CandIsoDepositProducer::extractTrack(), MuonIdProducer::fillMuonId(), MuonIdProducer::fillMuonIsolation(), egamma::conv::findConversions(), GEMEfficiencyAnalyzer::findCSCSegmentCosmics(), GEMEffByGEMCSCSegmentSource::findMatchedME11Segments(), l1extra::L1EmParticle::gctEmCand(), l1extra::L1EtMissParticle::gctEtHad(), l1extra::L1EtMissParticle::gctEtMiss(), l1extra::L1EtMissParticle::gctEtTotal(), l1extra::L1HFRings::gctHFBitCounts(), l1extra::L1HFRings::gctHFEtSums(), l1extra::L1EtMissParticle::gctHtMiss(), l1extra::L1JetParticle::gctJetCand(), pat::PATObject< reco::Muon >::genParticle(), betterConfigParser.BetterConfigParser::getCompares(), EgammaEcalIsolation::getEcalEtSum(), BPHTrackReference::getElecPF(), BPHTrackReference::getElecTC(), BPHTrackReference::getFromGP(), BPHTrackReference::getFromPF(), BPHTrackReference::getFromRC(), betterConfigParser.BetterConfigParser::getGeneral(), getGenTau(), EgammaHcalIsolation::getHcalESum(), EgammaHcalIsolation::getHcalESumBc(), EgammaHcalIsolation::getHcalEtSum(), EgammaHcalIsolation::getHcalEtSumBc(), BPHTrackReference::getMuonBT(), BPHTrackReference::getMuonGT(), TrackerMuonHitExtractor::getMuonHits(), BPHTrackReference::getMuonIT(), BPHTrackReference::getMuonPF(), BPHTrackReference::getMuonSA(), betterConfigParser.BetterConfigParser::getResultingSection(), submitPVValidationJobs.BetterConfigParser::getResultingSection(), EgammaRecHitIsolation::getSum_(), TauDiscriminationAgainstElectronMVA6< TauType, TauDiscriminator, ElectronType >::getTauEtaAtECalEntrance(), DisappearingMuonsSkimming::getTrackIsolation(), HLTMuonDimuonL2Filter::hltFilter(), HLTMuonDimuonL2FromL1TFilter::hltFilter(), HLTMuonPFIsoFilter::hltFilter(), HLTMuonIsoFilter::hltFilter(), HLTMuonTrimuonL3Filter::hltFilter(), HLTMuonL3PreFilter::hltFilter(), HLTMuonDimuonL3Filter::hltFilter(), HLTmmkFilter::hltFilter(), HLTmmkkFilter::hltFilter(), SuperClusterImporter::importToBlock(), PFEGammaAlgo::initializeProtoCands(), CosmicSplitterValidation::is_gold_muon(), SoftPFElectronTagInfoProducer::isElecClean(), cms::MuonTCMETValueMapProducer::isGoodCaloMuon(), MuonResidualsFromTrack::MuonResidualsFromTrack(), SoftElectronMVAEstimator::mva(), ZElectronsSelector::operator()(), pat::VertexAssociation::operator->(), reco::CaloMuon::p(), reco::CaloMuon::phi(), ShallowSimTracksProducer::produce(), EgammaHLTBcHcalIsolationProducersRegional::produce(), MuonTrackProducer::produce(), LowPtGsfElectronIDProducer::produce(), FastTrackerRecHitMatcher::produce(), HLTDisplacedmumumuVtxProducer::produce(), HLTDisplacedmumuVtxProducer::produce(), HLTDisplacedtktktkVtxProducer::produce(), HLTDisplacedtktkVtxProducer::produce(), PuppiProducer::produce(), EgammaHLTHcalVarProducerFromRecHit::produce(), HLTmumutktkVtxProducer::produce(), pat::PATIsolatedTrackProducer::produce(), HLTmumutkVtxProducer::produce(), SoftPFElectronTagInfoProducer::produce(), pat::PATTauProducer::produce(), PFElecTkProducer::produce(), reco::modules::JetFlavourIdentifier::produce(), reco::CaloMuon::pt(), reco::CaloMuon::px(), reco::CaloMuon::py(), reco::CaloMuon::pz(), util.rrapi.RRApi::report(), rrapi.RRApi::report(), util.rrapi.RRApi::reports(), rrapi.RRApi::reports(), PFElecTkProducer::resolveGsfTracks(), MuScleFitMuonSelector::selectGeneratedMuons(), GsfElectronProducer::setAmbiguityData(), tmtt::Stub::setFrontend(), PFDisplacedVertexCandidateFinder::setInput(), MuonTrackDT2ChamberResidual::setSegmentResidual(), MuonTrackDT13ChamberResidual::setSegmentResidual(), tmtt::Stub::Stub(), util.rrapi.RRApi::tables(), rrapi.RRApi::tables(), rrapi.RRApi::tags(), util.rrapi.RRApi::tags(), util.rrapi.RRApi::templates(), rrapi.RRApi::templates(), reco::CaloMuon::theta(), reco::TrackJet::track(), pat::PATObject< reco::Muon >::triggerObjectMatch(), MuonIdTruthInfo::truthMatchMuon(), PFEGammaAlgo::unwrapSuperCluster(), pat::VertexAssociation::vertex(), util.rrapi.RRApi::workspaces(), and rrapi.RRApi::workspaces().

232 { return isNull() ? nullptr : this->operator->(); }
T const * operator->() const
Member dereference operator.
Definition: Ref.h:568
bool isNull() const
Checks for null.
Definition: Ref.h:235

◆ hasProductCache()

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
bool edm::Ref< C, T, F >::hasProductCache ( ) const
inline

Returns true if container referenced by the Ref has been cached.

Definition at line 256 of file Ref.h.

256 { return product_.productPtr() != nullptr; }
RefCore product_
Definition: Ref.h:280
void const * productPtr() const
Definition: RefCore.h:51

◆ id()

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
ProductID edm::Ref< C, T, F >::id ( ) const
inline

Accessor for product ID.

Definition at line 244 of file Ref.h.

Referenced by reco::PFCandidate::addElementInBlock(), FWPFCandidateWithHitsProxyBuilder::addHitsForCandidate(), PFMuonAlgo::addMissingMuons(), Phase2L1GMT::PreTrackMatchedMuon::addStub(), PackedCandidateTrackValidator::analyze(), reco::helper::CastorJetIDHelper::calculate(), PhotonMVABasedHaloTagger::calphoClusCoordinECAL(), SiPixelClusterShapeCache::checkRef(), ConvertedPhotonProducer::cleanCollections(), CastorTowerProducer::ComputeTowerVariable(), MuonSimClassifier::convertAndPush(), MuonMCClassifier::convertAndPush(), GsfElectronAlgo::createElectron(), LeptonFSRProducer::electronFootprintVeto(), PhotonCoreProducer::fillPhotonCollection(), HLTMuonL3PreFilter::hltFilter(), GeneralTracksImporter::importToBlock(), L3TkMuonProducer::makePseudoRef(), LowPtConversion::match(), Phase2L1GMT::TrackMuonMatchAlgorithm::match(), TrackingNtuple::matchCluster(), ConversionTools::matchesConversion(), JetPlusTrackCorrector::matchMuons(), ClusterClusterMapping::overlap(), SeedClusterRemoverPhase2::process(), SeedClusterRemover::process(), HLTTrackClusterRemoverNew::process(), HITrackClusterRemover::process(), GEDPhotonCoreProducer::produce(), MuonReducedTrackExtraProducer::produce(), LowPtGSFToTrackLinker::produce(), pat::PackedPFCandidateRefMixer::produce(), HLTHcalTowerNoiseCleaner::produce(), HLTHcalTowerNoiseCleanerWithrechit::produce(), LowPtGSFToPackedCandidateLinker::produce(), L3TkMuonProducer::produce(), pat::PATGenCandsFromSimTracksProducer::produce(), GlobalTrackQualityProducer::produce(), TrackListMerger::produce(), ElectronSeedProducer::produce(), Onia2MuMuPAT::produce(), pat::PATIsolatedTrackProducer::produce(), IsFromLostTrackMapProducer::produce(), CastorClusterProducer::produce(), CastorTowerProducer::produce(), MuonProducer::produce(), MuonFSRProducer::produce(), TriggerMatcherToHLTDebug::produce(), GsfElectronAlgo::EventData::retreiveOriginalTrackCollections(), PhotonCoreProducer::solveAmbiguity(), Phase2L1GMT::MuonROI::stubWord(), and reco::TrackJet::track().

244 { return product_.id(); }
ProductID id() const
Definition: RefCore.h:48
RefCore product_
Definition: Ref.h:280

◆ index()

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
key_type edm::Ref< C, T, F >::index ( ) const
inline

◆ invalidKey()

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
static key_type edm::Ref< C, T, F >::invalidKey ( )
inlinestatic

C is the type of the collection T is the type of a member the collection

Definition at line 168 of file Ref.h.

168 { return key_traits<key_type>::value; }
static const key_type value
Definition: traits.h:34

◆ isAvailable()

template<typename C , typename T , typename F >
bool edm::Ref< C, T, F >::isAvailable ( ) const
inline

Checks if collection is in memory or available in the Event. No type checking is done. This function is potentially costly as it might cause a disk read (note that it does not cause the data to be cached locally)

Definition at line 541 of file Ref.h.

Referenced by PFAnalysis::analyze(), reco::PFCandidate::bestTrack(), FWMuonLegoProxyBuilder::build(), FWPhotonDetailView::build(), FWElectronLegoProxyBuilder::build(), FWTrackProxyBuilder::build(), FWElectronDetailView::build(), FWConvTrackHitsDetailView::build(), FWMuonBuilder::calculateField(), reco::GsfElectron::closestCtfTrackRefValid(), helper::MuonCollectionStoreManager::clusterRefsOK(), MVAJetPuId::computeIdVariables(), EwkMuTauHistManager::fillHistograms(), pat::helper::OverlapBySuperClusterSeed::fillOverlapsForItem(), BPHTrackReference::getElecPF(), BPHTrackReference::getElecTC(), AntiElectronIDMVA6< TauType, ElectronType >::getElecVars(), reco::mlpf::getElementProperties(), BPHTrackReference::getFromGP(), BPHTrackReference::getFromPF(), BPHTrackReference::getFromRC(), BTagPerformanceAnalyzerMC::getJetWithGenJet(), BPHTrackReference::getMuonBT(), BPHTrackReference::getMuonGT(), BPHTrackReference::getMuonIT(), BPHTrackReference::getMuonPF(), BPHTrackReference::getMuonSA(), CandMCMatchTableProducer::getParentHadronFlag(), FWPFTrackUtils::getTrack(), EGammaMvaEleEstimator::IDIsoCombinedMvaValue(), GSFTrackImporter::importToBlock(), PFEGammaAlgo::initializeProtoCands(), reco::Track::innerOk(), pat::VertexAssociation::isAvailable(), fireworks::makeRhoPhiSuperCluster(), fireworks::makeRhoZSuperCluster(), EGRegressionModifierV2::modifyObject(), EGRegressionModifierV1::modifyObject(), EGRegressionModifierV3::modifyObject(), pat::PackedGenParticle::motherRef(), ElectronMVAEstimator::mva(), SoftElectronMVAEstimator::mva(), EGammaMvaEleEstimatorCSA14::mvaValue(), EGammaMvaEleEstimator::mvaValue(), reco::Track::outerOk(), TrackProducerFromPatMuons::produce(), PATTauHybridProducer::produce(), LowPtGsfElectronIDProducer::produce(), pat::PATTauProducer::produce(), pat::PATJetProducer::produce(), HLTScoutingMuonProducer::produce(), HLTScoutingEgammaProducer::produce(), pat::PATMuonProducer::produce(), TrackExtrapolator::propagateTrackToVolume(), MuScleFitMuonSelector::selectGeneratedMuons(), tevOptimizedTMR(), MuonBadTrackFilter::trackInfo(), and PFEGammaAlgo::unwrapSuperCluster().

541  {
542  if (product_.isAvailable()) {
543  return true;
544  }
545  return isThinnedAvailable<C>(product_, index_);
546  }
key_type index_
Definition: Ref.h:281
bool isAvailable() const
Definition: RefCore.cc:146
RefCore product_
Definition: Ref.h:280

◆ isNonnull()

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
bool edm::Ref< C, T, F >::isNonnull ( ) const
inline

Checks for non-null.

Definition at line 238 of file Ref.h.

Referenced by pat::PATObject< reco::Muon >::addGenParticleRef(), PFMuonAlgo::addMissingMuons(), PFCandConnector::analyseNuclearWPrim(), MuonRecoAnalyzer::analyze(), ElectronMcFakeValidator::analyze(), ZEEDetails::analyze(), TrackTypeMonitor::analyze(), TagProbeFitTreeProducer::analyze(), SiPixelTrackResidualSource::analyze(), TkAlV0sAnalyzer::analyze(), PhotonValidator::analyze(), MtdEleIsoValidation::analyze(), PhotonAnalyzer::analyze(), PFAnalysis::analyze(), MuonToTrackingParticleAssociatorByHitsImpl::associateMuons(), reco::RecoCandidate::bestTrack(), reco::PFCandidate::bestTrack(), reco::RecoCandidate::bestTrackRef(), ConversionProducer::buildCollection(), ConvertedPhotonProducer::buildCollections(), L1HPSPFTauBuilder::buildL1PFTau(), GEMEfficiencyAnalyzer::buildStartingStateAlignmentStyle(), PFEGammaAlgo::calculateEleMVA(), ElectronEnergyRegressionEvaluate::calculateRegressionEnergy(), ElectronEnergyRegressionEvaluate::calculateRegressionEnergyUncertainty(), QGTagger::calcVariables(), reco::PFMETProducerMVA::chargedFracInCone(), ConversionProducer::checkPhi(), PFMuonAlgo::cleanPunchThroughAndFakes(), helper::GsfElectronCollectionStoreManager::cloneAndStore(), reco::GsfElectron::closestCtfTrackRefValid(), TCMETAlgo::closeToElectron(), EcalPFClusterIsolation< T1 >::computedRVeto(), PileupJetIdAlgo::computeIdVariables(), MVAJetPuId::computeIdVariables(), reco::PFMETProducerMVA::computePFCandidateInfo(), MuonSimClassifier::convertAndPush(), MuonMCClassifier::convertAndPush(), GsfElectronAlgo::createElectron(), reco::GsfElectron::deltaEtaSeedClusterTrackAtVtx(), ElectronIdentifier::dEtaInSeed(), PFRecoTauDiscriminationByLeadingObjectPtCut::discriminate(), PFRecoTauDiscriminationAgainstMuon::discriminate(), TauDiscriminationAgainstElectronMVA6< TauType, TauDiscriminator, ElectronType >::discriminate(), PFRecoTauDiscriminationByIsolation::discriminate(), PFRecoTauDiscriminationByIsolationContainer::discriminate(), V0Validator::doFakeRates(), PFAlgo::egammaFilters(), pat::GenericParticle::embedCaloTower(), pat::GenericParticle::embedCombined(), pat::GenericParticle::embedGsfTrack(), pat::GenericParticle::embedStandalone(), pat::GenericParticle::embedSuperCluster(), pat::GenericParticle::embedTrack(), lowptgsfeleid::features_V0(), lowptgsfeleid::features_V1(), PFIsolationEstimator::fGetIsolationInRings(), RecoDisplacedMuonValidator::MuonME::fill(), RecoMuonValidator::MuonME::fill(), egHLT::OffHelper::fillHLTData(), MuonIdProducer::fillMuonId(), MuonIdProducer::fillMuonIsolation(), DeepBoostedJetTagInfoProducer::fillParticleFeatures(), PhotonCoreProducer::fillPhotonCollection(), GEDPhotonProducer::fillPhotonCollection(), PrimaryVertexValidation::fillTrackHistos(), ZtoEEEventSelector::filter(), ttbarEventSelector::filter(), WtoLNuSelector::filter(), egamma::conv::findConversions(), GEMEfficiencyAnalyzer::findCSCSegmentCosmics(), Onia2MuMuPAT::findJpsiMCInfo(), pat::PATObject< reco::Muon >::genParticle(), BPHTrackReference::getElecPF(), BPHTrackReference::getElecTC(), AntiElectronIDMVA6< TauType, ElectronType >::getElecVars(), reco::mlpf::getElementProperties(), BPHTrackReference::getFromGP(), BPHTrackReference::getFromPF(), BPHTrackReference::getFromRC(), BTagPerformanceAnalyzerMC::getJetWithGenJet(), BPHTrackReference::getMuonBT(), BPHTrackReference::getMuonGT(), BPHTrackReference::getMuonIT(), BPHTrackReference::getMuonPF(), BPHTrackReference::getMuonSA(), CandMCMatchTableProducer::getParentHadronFlag(), TauDiscriminationAgainstElectronMVA6< TauType, TauDiscriminator, ElectronType >::getTauEtaAtECalEntrance(), AntiElectronIDMVA6< TauType, ElectronType >::getTauVars(), reco::PFJet::getTrackRefs(), susybsm::HSCParticle::hasCaloInfo(), susybsm::HSCParticle::hasMTMuonRef(), susybsm::HSCParticle::hasMuonRef(), reco::PFTau::hasMuonReference(), RecoTracktoTP::hasRV(), TPtoRecoTrack::hasRVA(), TPtoRecoTrack::hasRVB(), susybsm::HSCParticle::hasTrackIsoRef(), susybsm::HSCParticle::hasTrackRef(), track_associator::hitsToClusterRefs(), HLTMuonTrkFilter::hltFilter(), HLTMuonTrkL1TFilter::hltFilter(), HLTElectronMissingHitsFilter::hltFilter(), HLTMuonPFIsoFilter::hltFilter(), HLTMuonL3andL2PreFilter::hltFilter(), HLTMuonIsoFilter::hltFilter(), EGammaMvaEleEstimator::IDIsoCombinedMvaValue(), GSFTrackImporter::importToBlock(), reco::isodeposit::OtherJetConstituentsDeltaRVeto::initialize(), PFEGammaAlgo::initializeProtoCands(), reco::Track::innerOk(), edm::ThinnedRefSet< C >::Filler::insert(), l1t::HPSPFTau::isChargedPFCandSeeded(), TCMETAlgo::isElectron(), PFMuonAlgo::isGlobalLooseMuon(), PFMuonAlgo::isGlobalTightMuon(), cms::MuonTCMETValueMapProducer::isGoodCaloMuon(), cms::MuonTCMETValueMapProducer::isGoodMuon(), cms::MuonTCMETValueMapProducer::isGoodTrack(), PFMuonAlgo::isIsolatedMuon(), l1t::HPSPFTau::isJetSeeded(), TCMETAlgo::isMuon(), pat::VertexAssociation::isNonnull(), edm::Ref< L1GctEmCandCollection >::isNull(), edm::Ref< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value, typename refhelper::FindTrait< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value >::value >::isNull(), EGammaMvaEleEstimator::isoMvaValue(), MuonCosmicCompatibilityFiller::isOverlappingMuon(), PFIsolationEstimator::isPhotonParticleVetoed(), PFCandConnector::isPrimaryNucl(), PFEGammaAlgo::isPrimaryTrack(), PFCandConnector::isSecondaryNucl(), PFMuonAlgo::isTrackerLooseMuon(), PFMuonAlgo::isTrackerTightMuon(), l1extra::L1EmParticle::L1EmParticle(), l1extra::L1JetParticle::L1JetParticle(), reco::tau::lead_track_chi2(), ECALAndECALLinker::linkPrefilter(), pat::PATGenCandsFromSimTracksProducer::makeGenParticle_(), StubsSimHitsMatcher::match(), RecoTracktoTP::matched(), TPtoRecoTrack::matchedA(), TPtoRecoTrack::matchedB(), ConversionTools::matchesConversion(), PFEGammaAlgo::mergeROsByAnyLink(), reco::tau::qcuts::minPackedCandVertexWeight(), pat::PackedGenParticle::motherRef(), MuonResidualsFromTrack::MuonResidualsFromTrack(), MuonCosmicCompatibilityFiller::muonTiming(), ElectronMVAEstimator::mva(), SoftElectronMVAEstimator::mva(), EGammaMvaEleEstimatorCSA14::mvaValue(), EGammaMvaEleEstimator::mvaValue(), pat::Muon::numberOfSourceCandidatePtrs(), pat::Electron::numberOfSourceCandidatePtrs(), KinematicVertex::operator reco::Vertex(), MuonDxyCut::operator()(), MuonDzCut::operator()(), GhostTrackComputer::operator()(), reco::tau::RecoTauElectronRejectionPlugin::operator()(), reco::tau::RecoTauBuilderCombinatoricPlugin::operator()(), reco::tau::RecoTauBuilderConePlugin::operator()(), operator<<(), pat::TriggerObject::origL1GctEmCand(), pat::TriggerObject::origL1GctEtHad(), pat::TriggerObject::origL1GctEtMiss(), pat::TriggerObject::origL1GctEtTotal(), pat::TriggerObject::origL1GctHtMiss(), pat::TriggerObject::origL1GctJetCand(), pat::TriggerObject::origL1GmtMuonCand(), reco::Track::outerOk(), pat::GenericParticle::overlap(), pat::PackedCandidate::packVtx(), PFBlockBasedIsolation::passesCleaningPhoton(), reco::PFTauTransverseImpactParameter::primaryVertexPos(), MuonBadTrackFilter::printMuonProperties(), PFMuonAlgo::printMuonProperties(), PFTauElecRejectionBenchmark::process(), TrackClassifier::processesAtSimulation(), helper::MuonCollectionStoreManager::processMuon(), TrackExtraRekeyer::produce(), TrackProducerFromPatMuons::produce(), V0VertexTrackProducer::produce(), PATTauHybridProducer::produce(), ParticleBasedIsoProducer::produce(), GEDPhotonCoreProducer::produce(), reco::ParticleFlowForChargedMETProducer::produce(), LowPtGsfElectronSeedValueMapsProducer::produce(), MuonReducedTrackExtraProducer::produce(), pat::PATMuonSlimmer::produce(), LowPtGSFToPackedCandidateLinker::produce(), pat::PATLostTracks::produce(), HiBadParticleCleaner::produce(), LowPtGsfElectronIDProducer::produce(), ZtoEEElectronTrackProducer::produce(), L3MuonCandidateProducerFromMuons::produce(), pat::PATGenCandsFromSimTracksProducer::produce(), PFTrackProducer::produce(), EgammaHLTEleL1TrackIsolProducer::produce(), pat::PATPackedGenParticleProducer::produce(), PuppiProducer::produce(), pat::PATPackedCandidateProducer::produce(), L3MuonProducer::produce(), GlobalMuonProducer::produce(), Onia2MuMuPAT::produce(), TrajectorySeedFromMuonProducer::produce(), SimPFProducer::produce(), pat::PATIsolatedTrackProducer::produce(), PFPileUp::produce(), IsFromLostTrackMapProducer::produce(), PFTauTransverseImpactParameters::produce(), EgammaHLTGsfTrackVarProducer::produce(), pat::PATTauProducer::produce(), pat::PATJetProducer::produce(), MuonMCClassifier::produce(), BoostedDoubleSVProducer::produce(), ParticleTransformerAK4TagInfoProducer::produce(), MuonSimClassifier::produce(), UnifiedParticleTransformerAK4TagInfoProducer::produce(), DeepFlavourTagInfoProducer::produce(), PFElecTkProducer::produce(), CandMCMatchTableProducer::produce(), pat::PATMuonProducer::produce(), reco::modules::JetFlavourIdentifier::produce(), PFAlgo::reconstructTrack(), GsfElectronAlgo::EventData::retreiveOriginalTrackCollections(), ConvBremPFTrackFinder::runConvBremFinder(), RecoTracktoTP::RV(), TPtoRecoTrack::RVA(), TPtoRecoTrack::RVB(), AlignmentTrackFromVertexCompositeCandidateSelector::select(), SelectionStep< Object >::select(), reco::mlpf::setCandidateRefs(), reco::PFCandidate::setConversionRef(), reco::PFCandidate::setDisplacedVertexRef(), JetFlavourClustering::setFlavours(), reco::PFCandidate::setGsfElectronRef(), reco::PFCandidate::setGsfTrackRef(), reco::PFCandidateElectronExtra::setKfTrackRef(), reco::PFCandidateEGammaExtra::setKfTrackRef(), L1HPSPFTauBuilder::setL1PFTauSeed(), reco::PFCandidate::setMuonRef(), reco::PFCandidate::setPFEGammaExtraRef(), reco::PFCandidate::setPFElectronExtraRef(), reco::PFCandidate::setPFPhotonExtraRef(), reco::PFCandidate::setPhotonRef(), reco::PFCandidate::setSuperClusterRef(), reco::PFCandidate::setTrackRef(), reco::PFCandidate::setV0Ref(), reco::IPTagInfo< Container, Base >::taggingVariables(), MatcherUsingTracksAlgorithm::targetState(), GSFAndGSFLinker::testLink(), GSFAndBREMLinker::testLink(), ECALAndECALLinker::testLink(), TrackAndGSFLinker::testLink(), TrackAndTrackLinker::testLink(), l1t::TkHTMiss::TkHTMiss(), muon::TMR(), RecoTracktoTP::TP(), TPtoRecoTrack::TP(), HistoryBase::traceSimHistory(), trackingParticleIsMuonInOmtfBx0(), pat::PATObject< reco::Muon >::triggerObjectMatch(), pat::PATObject< reco::Muon >::triggerObjectMatchByAlgorithm(), pat::PATObject< reco::Muon >::triggerObjectMatchByCollection(), pat::PATObject< reco::Muon >::triggerObjectMatchByCondition(), pat::PATObject< reco::Muon >::triggerObjectMatchByFilter(), pat::PATObject< reco::Muon >::triggerObjectMatchByPath(), pat::PATObject< reco::Muon >::triggerObjectMatchByType(), pat::PackedCandidate::unpackVtx(), PFEGammaAlgo::unwrapSuperCluster(), egHLT::OffEle::validCTFTrack(), and BPHWriteSpecificDecay::write().

key_type index_
Definition: Ref.h:281

◆ isNull()

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
bool edm::Ref< C, T, F >::isNull ( ) const
inline

Checks for null.

Definition at line 235 of file Ref.h.

Referenced by ElectronMcSignalValidator::analyze(), dEdxHitAnalyzer::analyze(), MuonPFAnalyzer::analyze(), EopElecTreeWriter::analyze(), PackedCandidateTrackValidator::analyze(), TrackerHitAssociator::associatePhase2TrackerRecHit(), TrackerHitAssociator::associatePixelRecHit(), PFAlgo::associatePSClusters(), L1HPSPFTauBuilder::buildL1PFTau(), ElectronHEEPIDValueMapProducer::calTrkIso(), PrimaryVertexAssignment::chargedHadronVertex(), TagProbeFitTreeProducer::checkMother(), GsfElectronAlgo::completeElectrons(), trklet::DRin::consume(), PFElectronTranslator::createBasicCluster(), PFAlgo::createCandidatesECAL(), PFAlgo::createCandidatesHCAL(), PFAlgo::createCandidatesHCALUnlinked(), PFAlgo::createCandidatesHF(), GsfElectronAlgo::createElectron(), PFCand_AssoMapAlgos::createMappings(), reco::TauImpactParameterInfo::discriminator(), TemplatedJetProbabilityComputer< Container, Base >::discriminator(), TemplatedJetBProbabilityComputer< Container, Base >::discriminator(), reco::PFBlockElementTrack::Dump(), reco::PFBlockElementBrem::Dump(), reco::PFBlockElementGsfTrack::Dump(), PFAlgo::elementLoop(), metsig::SignAlgoResolutions::evalPF(), MuonCaloCompatibility::evaluate(), TrackHistory::evaluate(), VertexHistory::evaluate(), CandKinematicVertexFitter::fill(), pat::PATElectronProducer::fillElectron(), pat::helper::OverlapBySuperClusterSeed::fillOverlapsForItem(), MuonTimingFiller::fillRPCTime(), MuonIdProducer::fillTrackerKink(), BadParticleFilter::filter(), LeptonRecoSkim::filter(), reco::tau::RecoTauQualityCuts::filterChargedCand(), reco::tau::RecoTauQualityCuts::filterTrack_(), Onia2MuMuPAT::findJpsiMCInfo(), edm::Ref< L1GctEmCandCollection >::get(), edm::Ref< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value, typename refhelper::FindTrait< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value >::value >::get(), reco::GsfElectronCore::GsfElectronCore(), ConversionTools::hasMatchedConversion(), reco::PFTau::hasMuonReference(), HLTEcalPixelIsolTrackFilter::hltFilter(), HLTMuonTrackMassFilter::hltFilter(), GeneralTracksImporter::importToBlock(), PFEGammaAlgo::initializeProtoCands(), KDTreeLinkerPSEcal::insertFieldClusterElt(), KDTreeLinkerTrackEcal::insertFieldClusterElt(), KDTreeLinkerTrackHcal::insertFieldClusterElt(), heppy::CMGMuonCleanerBySegmentsAlgo::isBetterMuon(), pat::VertexAssociation::isNull(), PFEGammaAlgo::linkRefinableObjectGSFTracksToKFs(), MuonIdProducer::makeMuon(), L3TkMuonProducer::makePseudoRef(), ConversionTools::matchedConversion(), ConversionTools::matchedPromptElectron(), ConversionTools::matchesConversion(), PFEGammaAlgo::mergeROsByAnyLink(), edm::Ref< L1GctEmCandCollection >::operator!(), edm::Ref< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value, typename refhelper::FindTrait< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value >::value >::operator!(), pat::VertexAssociation::operator->(), PromptTrackCountingComputer::orderedSignificances(), TemplatedTrackCountingComputer< Container, Base >::orderedSignificances(), HLTMuonTrackMassFilter::pairMatched(), reco::PFBlockElementGsfTrack::PFBlockElementGsfTrack(), reco::PFBlockElementTrack::PFBlockElementTrack(), PFCandidateChecker::printElementsInBlocks(), PFJetBenchmark::process(), PFAlgo::processBlock(), GEDGsfElectronCoreProducer::produce(), TtSemiLepSignalSelMVAComputer::produce(), PFElectronTranslator::produce(), FastTrackerRecHitMatcher::produce(), GlobalTrackQualityProducer::produce(), L3MuonCandidateProducer::produce(), FFTJetPFPileupCleaner::produce(), HLTScoutingMuonProducer::produce(), HLTScoutingEgammaProducer::produce(), L1FPGATrackProducer::produce(), GEDGsfElectronCoreProducer::produceElectronCore(), PFAlgo::recoTracksNotHCAL(), L3TkMuonProducer::seedRefBypT(), pf2pat::MuonIDPFCandidateSelectorDefinition::select(), pf2pat::ElectronIDPFCandidateSelectorDefinition::select(), GsfElectronAlgo::setCutBasedPreselectionFlag(), JetFlavourClustering::setFlavours(), GsfElectronAlgo::setPixelMatchInfomation(), PropagateToMuon::startingState(), MatcherUsingTracksAlgorithm::startingState(), reco::GsfElectronCore::superCluster(), HCALAndHOLinker::testLink(), ECALAndHCALCaloJetLinker::testLink(), HFEMAndHFHADLinker::testLink(), TrackAndHOLinker::testLink(), ECALAndHCALLinker::testLink(), PreshowerAndECALLinker::testLink(), SCAndECALLinker::testLink(), SCAndHGCalLinker::testLink(), LinkByRecHit::testTrackAndClusterByRecHit(), MuonBadTrackFilter::trackInfo(), GlobalCosmicMuonTrajectoryBuilder::trajectories(), MuonDzCut::value(), MuonDxyCut::value(), and pat::VertexAssociation::vertex().

235 { return !isNonnull(); }
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238

◆ isTransient()

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
bool edm::Ref< C, T, F >::isTransient ( ) const
inline

Checks if this ref is transient (i.e. not persistable).

Definition at line 265 of file Ref.h.

265 { return product_.isTransient(); }
RefCore product_
Definition: Ref.h:280
bool isTransient() const
Definition: RefCore.h:105

◆ key()

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
key_type edm::Ref< C, T, F >::key ( ) const
inline

Accessor for product key.

Definition at line 250 of file Ref.h.

Referenced by FWPFCandidateWithHitsProxyBuilder::addHitsForCandidate(), PFMuonAlgo::addMissingMuons(), pat::PATLostTracks::addPackedCandidate(), PATTracksToPackedCandidates::addPackedCandidate(), TkConvValidator::analyze(), SiPixelCalSingleMuonAnalyzer::analyze(), PhotonValidator::analyze(), NearbyPixelClustersAnalyzer::analyze(), OverlapProblemTSOSAnalyzer::analyze(), PFAnalysis::analyze(), TrackerDpgAnalysis::analyze(), MuonTrackValidator::analyze(), PackedCandidateTrackValidator::analyze(), QuickTrackAssociatorByHitsImpl::associateTrack(), ConvertedPhotonProducer::cleanCollections(), PFMuonAlgo::cleanPunchThroughAndFakes(), LeptonFSRProducer::electronFootprintVeto(), TrackingNtuple::fillCandidates(), TriggerSummaryProducerAOD::fillFilterObjectMember(), DeepBoostedJetTagInfoProducer::fillParticleFeatures(), PhotonCoreProducer::fillPhotonCollection(), TrackingNtuple::fillSeeds(), TrackingNtuple::fillTracks(), OverlapProblemTSOSPositionFilter::filter(), NearbyPixelClustersProducer::findAllTrajectoriesCrossings(), egamma::conv::findConversions(), DisappearingMuonsSkimming::findTrackInVertices(), pat::PackedCandidate::fromPV(), GenParticlePruner::getDaughterKeys(), TrackingParticleSelectorByGen::getDaughterKeys(), reco::TauMassTagInfo::getInvariantMass(), GenParticlePruner::getMotherKeys(), TrackingParticleSelectorByGen::getMotherKeys(), TrackerMuonHitExtractor::getMuonHits(), CandMCMatchTableProducer::getParentHadronFlag(), egamma::getRandomSeedFromSC(), Basic2DGenericPFlowClusterizer::growPFClusters(), PFlow2DClusterizerWithTime::growPFClusters(), HLTMuonL3PreFilter::hltFilter(), GeneralTracksImporter::importToBlock(), edm::ThinnedRefSet< C >::Filler::insert(), TCMETAlgo::isElectron(), TCMETAlgo::isMuon(), edm::Ref< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value, typename refhelper::FindTrait< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value >::value >::isNonnull(), noPuUtils::isVertexAssociated_fast(), L3TkMuonProducer::makePseudoRef(), LowPtConversion::match(), TrackingNtuple::matchCluster(), ConversionTools::matchesConversion(), reco::tau::qcuts::minPackedCandVertexWeight(), PFTauMiniAODPrimaryVertexProducer::nonTauTracksInPV(), pat::TriggerEvent::objectInCondition(), pat::TriggerEvent::objectInFilter(), edm::CompareRefDetSet< T, C >::operator()(), V0Validator::V0Couple::operator<(), edm::operator<<(), V0Validator::V0Couple::operator==(), ClusterClusterMapping::overlap(), SeedClusterRemoverPhase2::process(), SeedClusterRemover::process(), HLTTrackClusterRemoverNew::process(), HITrackClusterRemover::process(), TrackListCombiner::produce(), GEDPhotonCoreProducer::produce(), L1TStage2ObjectComparison< T >::produce(), PFV0Producer::produce(), MuonReducedTrackExtraProducer::produce(), pat::PackedPFCandidateRefMixer::produce(), PFConversionProducer::produce(), pat::PATLostTracks::produce(), MuonTrackProducer::produce(), TkAlCaOverlapTagger::produce(), L3TkMuonProducer::produce(), pat::PATGenCandsFromSimTracksProducer::produce(), TrackListMerger::produce(), PuppiProducer::produce(), CosmicTrackSelector::produce(), pat::PATPackedGenParticleProducer::produce(), RecoTauGenericJetRegionProducer< JetType, CandType >::produce(), pat::PATPackedCandidateProducer::produce(), Onia2MuMuPAT::produce(), SimPFProducer::produce(), pat::PATIsolatedTrackProducer::produce(), PFPileUp::produce(), FFTJetPFPileupCleaner::produce(), MuonProducer::produce(), PFTauTransverseImpactParameters::produce(), reco::modules::HICaloCompatibleTrackSelector::produce(), MuonFSRProducer::produce(), reco::modules::TrackFullCloneSelectorBase< Selector >::produce(), TriggerMatcherToHLTDebug::produce(), ParticleTransformerAK4TagInfoProducer::produce(), UnifiedParticleTransformerAK4TagInfoProducer::produce(), DeepFlavourTagInfoProducer::produce(), CandMCMatchTableProducer::produce(), reco::modules::TrackerTrackHitFilter::produce(), edm::RefVector< std::vector< math::PtEtaPhiELorentzVectorD > >::push_back(), TkStripMeasurementDet::recHits(), PFElecTkProducer::resolveGsfTracks(), AnalyticalTrackSelector::run(), DAFTrackProducerAlgorithm::runWithCandidate(), AlignmentTrackFromVertexCompositeCandidateSelector::select(), AlignmentTrackFromVertexSelector::select(), reco::PFCandidate::setConversionRef(), reco::PFCandidate::setDisplacedVertexRef(), reco::PFCandidate::setGsfElectronRef(), reco::PFCandidate::setGsfTrackRef(), reco::PFCandidate::setMuonRef(), reco::PFCandidate::setPFEGammaExtraRef(), reco::PFCandidate::setPFElectronExtraRef(), reco::PFCandidate::setPFPhotonExtraRef(), reco::PFCandidate::setPhotonRef(), reco::PFCandidate::setSuperClusterRef(), reco::PFCandidate::setTrackRef(), reco::PFCandidate::setV0Ref(), PhotonCoreProducer::solveAmbiguity(), PF_PU_AssoMapAlgos::SortAssociationMap(), PFCand_AssoMapAlgos::SortPFCandAssociationMap(), reco::TrackJet::track(), and V0Validator::V0Couple::V0Couple().

250 { return index_; }
key_type index_
Definition: Ref.h:281

◆ operator!()

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
bool edm::Ref< C, T, F >::operator! ( ) const
inline

Checks for null.

Definition at line 241 of file Ref.h.

241 { return isNull(); }
bool isNull() const
Checks for null.
Definition: Ref.h:235

◆ operator*()

template<typename C , typename T , typename F >
T const & edm::Ref< C, T, F >::operator* ( ) const
inline

Dereference operator.

Definition at line 558 of file Ref.h.

558  {
559  return *getRefPtr<C, T, F>(product_, index_);
560  }
key_type index_
Definition: Ref.h:281
RefCore product_
Definition: Ref.h:280

◆ operator->()

template<typename C , typename T , typename F >
T const * edm::Ref< C, T, F >::operator-> ( ) const
inline

◆ productGetter()

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
EDProductGetter const* edm::Ref< C, T, F >::productGetter ( ) const
inline

◆ refCore()

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
RefCore const& edm::Ref< C, T, F >::refCore ( ) const
inline

Friends And Related Function Documentation

◆ RefVector< C, T, F >

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
friend class RefVector< C, T, F >
friend

Definition at line 153 of file Ref.h.

◆ RefVector< RefVector< C, T, F >, T, VBF >

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
friend class RefVector< RefVector< C, T, F >, T, VBF >
friend

Definition at line 155 of file Ref.h.

◆ RefVector< RefVector< C, T, F >, T, VF >

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
friend class RefVector< RefVector< C, T, F >, T, VF >
friend

Definition at line 154 of file Ref.h.

◆ RefVectorIterator< C, T, F >

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
friend class RefVectorIterator< C, T, F >
friend

Definition at line 152 of file Ref.h.

Member Data Documentation

◆ index_

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
key_type edm::Ref< C, T, F >::index_
private

◆ product_

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
RefCore edm::Ref< C, T, F >::product_
private

Definition at line 280 of file Ref.h.

Referenced by edm::Ref< L1GctEmCandCollection >::hasProductCache(), edm::Ref< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value, typename refhelper::FindTrait< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value >::value >::hasProductCache(), edm::Ref< L1GctEmCandCollection >::id(), edm::Ref< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value, typename refhelper::FindTrait< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value >::value >::id(), edm::Ref< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value, typename refhelper::FindTrait< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value >::value >::index(), edm::Ref< L1GctEmCandCollection >::isTransient(), edm::Ref< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value, typename refhelper::FindTrait< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value >::value >::isTransient(), edm::Ref< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value, typename refhelper::FindTrait< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value >::value >::key(), edm::Ref< L1GctEmCandCollection >::productGetter(), edm::Ref< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value, typename refhelper::FindTrait< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value >::value >::productGetter(), edm::Ref< L1GctEmCandCollection >::refCore(), and edm::Ref< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value, typename refhelper::FindTrait< std::vector< E >, typename refhelper::ValueTrait< std::vector< E > >::value >::value >::refCore().