CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends
edm::Ref< C, T, F > Class Template Reference

#include <AssociativeIterator.h>

Public Types

typedef boost::binary_traits
< F >::second_argument_type 
argument_type
 
typedef T const element_type
 
typedef F finder_type
 
typedef boost::remove_cv
< typename
boost::remove_reference
< argument_type >::type >
::type 
key_type
 
typedef C product_type
 etc. etc.: more nesting levels could be supported ... 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...
 
C const * product () const
 Accessor for product collection. 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 (RefVector< C, T, F > const &refvector, key_type itemKey, bool setNow=true)
 Constructor from RefVector and index into collection. 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 *, key_type iItemKey, C const *iProduct)
 Constructor for use in the various X::fillView(...) functions. More...
 
 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...
 

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 RefVector< RefVector< RefVector< C, T, F >, T, VBF >, T, VBF >
 
class RefVector< RefVector< RefVector< C, T, F >, T, VF >, T, VF >
 
class RefVectorIterator< C, T, F >
 

Detailed Description

template<class C, class T, class F>
class edm::Ref< C, T, F >

Definition at line 52 of file AssociativeIterator.h.

Member Typedef Documentation

template<class C, class T, class F>
typedef boost::binary_traits<F>::second_argument_type edm::Ref< C, T, F >::argument_type

Definition at line 168 of file Ref.h.

template<class C, class T, class F>
typedef T const edm::Ref< C, T, F >::element_type

Definition at line 166 of file Ref.h.

template<class C, class T, class F>
typedef F edm::Ref< C, T, F >::finder_type

Definition at line 167 of file Ref.h.

template<class C, class T, class F>
typedef boost::remove_cv<typename boost::remove_reference<argument_type>::type>::type edm::Ref< C, T, F >::key_type

Definition at line 169 of file Ref.h.

template<class C, class T, class F>
typedef C edm::Ref< C, T, F >::product_type

etc. etc.: more nesting levels could be supported ...

for export

Definition at line 164 of file Ref.h.

template<class C, class T, class F>
typedef T edm::Ref< C, T, F >::value_type

Definition at line 165 of file Ref.h.

template<class C, class T, class F>
typedef refhelper::FindRefVectorUsingAdvance<RefToBaseVector<T> > edm::Ref< C, T, F >::VBF
private

Definition at line 153 of file Ref.h.

template<class C, class T, class F>
typedef refhelper::FindRefVectorUsingAdvance<RefVector<C, T, F> > edm::Ref< C, T, F >::VF
private

Definition at line 152 of file Ref.h.

Constructor & Destructor Documentation

template<class C, class T, class F>
edm::Ref< C, T, F >::Ref ( )
inline

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

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

Definition at line 174 of file Ref.h.

key_type index_
Definition: Ref.h:296
RefCore product_
Definition: Ref.h:295
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 309 of file Ref.h.

References edm::Ref< C, T, F >::checkTypeAtCompileTime(), edm::Ref< C, T, F >::index_, edm::Ref< C, T, F >::key(), edm::Handle< T >::product(), and edm::Ref< C, T, F >::product_.

309  :
310  product_(handle.id(), handle.product(), 0, false), index_(itemKey){
311  checkTypeAtCompileTime(handle.product());
312  assert(key() == itemKey);
313 
314  if (setNow) {getPtr_<C, T, F>(product_, index_);}
315  }
void checkTypeAtCompileTime(C const *)
Definition: Ref.h:293
key_type index_
Definition: Ref.h:296
RefCore product_
Definition: Ref.h:295
key_type key() const
Accessor for product key.
Definition: Ref.h:265
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 320 of file Ref.h.

References edm::Ref< C, T, F >::checkTypeAtCompileTime(), edm::Ref< C, T, F >::index_, edm::Ref< C, T, F >::key(), edm::OrphanHandle< T >::product(), and edm::Ref< C, T, F >::product_.

320  :
321  product_(handle.id(), handle.product(), 0, false), index_(itemKey) {
322  checkTypeAtCompileTime(handle.product());
323  assert(key() == itemKey);
324 
325  if (setNow) {getPtr_<C, T, F>(product_, index_);}
326  }
void checkTypeAtCompileTime(C const *)
Definition: Ref.h:293
key_type index_
Definition: Ref.h:296
tuple handle
Definition: patZpeak.py:22
RefCore product_
Definition: Ref.h:295
key_type key() const
Accessor for product key.
Definition: Ref.h:265
template<typename C, typename T, typename F>
edm::Ref< C, T, F >::Ref ( RefVector< C, T, F > const &  refvector,
key_type  itemKey,
bool  setNow = true 
)
inline

Constructor from RefVector and index into collection.

Constructor from RefVector and index into the collection.

Definition at line 331 of file Ref.h.

References edm::Ref< C, T, F >::checkTypeAtCompileTime(), edm::Ref< C, T, F >::index_, edm::Ref< C, T, F >::key(), edm::RefVector< C, T, F >::product(), and edm::Ref< C, T, F >::product_.

331  :
332  product_(refvector.id(), refvector.product(), 0, refvector.isTransient()), index_(itemKey) {
333  checkTypeAtCompileTime(refvector.product());
334  assert(key() == itemKey);
335 
336  if (setNow) {getPtr_<C, T, F>(product_, index_);}
337  }
void checkTypeAtCompileTime(C const *)
Definition: Ref.h:293
key_type index_
Definition: Ref.h:296
RefCore product_
Definition: Ref.h:295
key_type key() const
Accessor for product key.
Definition: Ref.h:265
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 348 of file Ref.h.

References edm::Ref< C, T, F >::checkTypeAtCompileTime(), edm::Ref< C, T, F >::index_, edm::Ref< C, T, F >::key(), and edm::Ref< C, T, F >::product_.

348  :
349  product_(ProductID(), iProduct, 0, true), index_(iProduct != 0 ? iItemKey : key_traits<key_type>::value) {
350  checkTypeAtCompileTime(iProduct);
351  assert(key() == (iProduct != 0 ? iItemKey : key_traits<key_type>::value));
352 
353  if (iSetNow && iProduct != 0) {getPtr_<C, T, F>(product_, index_);}
354  }
void checkTypeAtCompileTime(C const *)
Definition: Ref.h:293
key_type index_
Definition: Ref.h:296
RefCore product_
Definition: Ref.h:295
key_type key() const
Accessor for product key.
Definition: Ref.h:265
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 360 of file Ref.h.

References edm::Ref< C, T, F >::checkTypeAtCompileTime(), edm::Ref< C, T, F >::index_, edm::Ref< C, T, F >::key(), edm::TestHandle< T >::product(), and edm::Ref< C, T, F >::product_.

360  :
361  product_(handle.id(), handle.product(), 0, true), index_(itemKey) {
362  checkTypeAtCompileTime(handle.product());
363  assert(key() == itemKey);
364 
365  if (setNow) {getPtr_<C, T, F>(product_, index_);}
366  }
void checkTypeAtCompileTime(C const *)
Definition: Ref.h:293
key_type index_
Definition: Ref.h:296
tuple handle
Definition: patZpeak.py:22
RefCore product_
Definition: Ref.h:295
key_type key() const
Accessor for product key.
Definition: Ref.h:265
template<class C, class T, class F>
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 203 of file Ref.h.

203  :
204  product_(productID, 0, mustBeNonZero(prodGetter, "Ref", productID), false), index_(itemKey) {
205  }
EDProductGetter const * mustBeNonZero(EDProductGetter const *prodGetter, std::string refType, ProductID const &productID)
key_type index_
Definition: Ref.h:296
RefCore product_
Definition: Ref.h:295
template<class C, class T, class F>
edm::Ref< C, T, F >::Ref ( ProductID const &  iProductID,
T const *  ,
key_type  iItemKey,
C const *  iProduct 
)
inline

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

Definition at line 214 of file Ref.h.

214  :
215  product_(iProductID, iProduct, 0, false), index_(iItemKey)
216  { }
key_type index_
Definition: Ref.h:296
RefCore product_
Definition: Ref.h:295
template<class C, class T, class F>
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 222 of file Ref.h.

222  :
223  product_(iId, 0, 0, false), index_(key_traits<key_type>::value)
224  { }
key_type index_
Definition: Ref.h:296
RefCore product_
Definition: Ref.h:295
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 371 of file Ref.h.

References edm::Ref< C, T, F >::index().

371  :
372  product_(refProd.id(), refProd.refCore().productPtr(), refProd.refCore().productGetter(), refProd.refCore().isTransient()), index_(itemKey) {
373  assert(index() == itemKey);
374  }
key_type index_
Definition: Ref.h:296
RefCore product_
Definition: Ref.h:295
key_type index() const
Definition: Ref.h:268
template<class C, class T, class F>
edm::Ref< C, T, F >::~Ref ( )
inline

Destructor.

Definition at line 230 of file Ref.h.

230 {}
template<class C, class T, class F>
edm::Ref< C, T, F >::Ref ( RefCore const &  iRefCore,
key_type const &  iKey 
)
inline

Definition at line 286 of file Ref.h.

286  :
287  product_(iRefCore), index_(iKey) {
288  }
key_type index_
Definition: Ref.h:296
RefCore product_
Definition: Ref.h:295

Member Function Documentation

template<class C, class T, class F>
void edm::Ref< C, T, F >::checkTypeAtCompileTime ( C const *  )
inlineprivate

Definition at line 293 of file Ref.h.

Referenced by edm::Ref< C, T, F >::Ref().

293 {}
template<class C, class T, class F>
T const* edm::Ref< C, T, F >::get ( void  ) const
inline

Returns C++ pointer to the item.

Definition at line 241 of file Ref.h.

Referenced by Options.Options::__getitem__(), MultiTrackValidator::analyze(), RecoMuonValidator::analyze(), HLTMuonDQMSource::analyze(), ZMuMuAnalyzer_cynematics::analyze(), calcTopMass::analyze(), TestOutliers::analyze(), SiPixelMuonHLT::analyze(), V0Validator::analyze(), MuonTrackValidator::analyze(), SiStripMonitorMuonHLT::analyzeOnTrackClusters(), SegmentToTrackAssociator::associate(), reco::RecoCandidate::bestTrack(), FWPFTauProxyBuilder::buildViewType(), FWCaloTauProxyBuilder::buildViewType(), reco::CaloMuon::charge(), SimpleCosmicBONSeeder::checkCharge(), MuonAlignmentAnalyzer::doMatching(), MuonAlignment::doMatching(), 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(), PFCandCommonVertexFitterBase::fill(), CaloMETAnalyzer::fillMonitorElement(), METAnalyzer::fillMonitorElement(), MuonIdProducer::fillMuonId(), MuonIdProducer::fillMuonIsolation(), HLTDisplacedmumuFilter::filter(), HLTMuonDimuonL2Filter::filter(), HLTMuonL2PreFilter::filter(), HLTMuonDimuonL3Filter::filter(), HLTMuonIsoFilter::filter(), HLTMuonL3PreFilter::filter(), HLTmmkFilter::filter(), 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(), EgammaEcalIsolation::getEcalEtSum(), ConversionFinder::getElectronTrack(), getGenTau(), EgammaHcalIsolation::getHcalESum(), EgammaHcalIsolation::getHcalESumDepth1(), EgammaHcalIsolation::getHcalESumDepth2(), EgammaHcalIsolation::getHcalEtSum(), EgammaHcalIsolation::getHcalEtSumDepth1(), EgammaHcalIsolation::getHcalEtSumDepth2(), TrackerMuonHitExtractor::getMuonHits(), PrimaryVertexAnalyzer4PU::getSimEvents(), EgammaRecHitIsolation::getSum_(), EgammaTowerIsolation::getTowerESum(), EgammaTowerIsolation::getTowerEtSum(), CosmicSplitterValidation::is_gold_muon(), cms::MuonTCMETValueMapProducer::isGoodCaloMuon(), MuonIdProducer::makeMuon(), ZMuMuOverlap::operator()(), tautools::RecoTauDecayModeTruthMatchPlugin::operator()(), pat::VertexAssociation::operator->(), reco::CaloMuon::p(), reco::CaloMuon::phi(), PrimaryVertexAnalyzer4PU::printEventSummary(), PrimaryVertexAnalyzer4PU::printPVTrks(), GsfElectronCoreEcalDrivenProducer::produce(), ElectronSqPtTkIsolationProducer::produce(), ShallowSimTracksProducer::produce(), MuonTrackProducer::produce(), HLTDisplacedmumuVtxProducer::produce(), EgammaHLTEcalRecIsolationProducer::produce(), EgammaEcalRecHitIsolationProducer::produce(), MuonIdProducer::produce(), reco::modules::JetFlavourIdentifier::produce(), cms::MuonTCMETValueMapProducer::propagateTrack(), reco::CaloMuon::pt(), reco::CaloMuon::px(), reco::CaloMuon::py(), reco::CaloMuon::pz(), TCTauAlgorithm::recalculateEnergy(), CosmicRegionalSeedGenerator::regions(), PFTauSelectorDefinition::select(), MuScleFitMuonSelector::selectGeneratedMuons(), GsfElectronAlgo::setAmbiguityData(), PFElectronAlgo::SetCandidates(), PFDisplacedVertexCandidateFinder::setInput(), pat::Muon::sourceCandidatePtr(), pat::Electron::sourceCandidatePtr(), reco::CaloMuon::theta(), reco::TrackJet::track(), pat::PATObject< ObjectType >::triggerObjectMatch(), MuonIdTruthInfo::truthMatchMuon(), and pat::VertexAssociation::vertex().

241  {
242  return isNull() ? 0 : this->operator->();
243  }
T const * operator->() const
Member dereference operator.
Definition: Ref.h:397
bool isNull() const
Checks for null.
Definition: Ref.h:246
template<class C, class T, class F>
bool edm::Ref< C, T, F >::hasProductCache ( ) const
inline

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

Definition at line 271 of file Ref.h.

271 {return product_.productPtr() != 0;}
void const * productPtr() const
Definition: RefCore.h:26
RefCore product_
Definition: Ref.h:295
template<class C, class T, class F>
ProductID edm::Ref< C, T, F >::id ( void  ) const
inline

Accessor for product ID.

Definition at line 255 of file Ref.h.

Referenced by reco::PFCandidate::addElementInBlock(), HLTMuonDQMSource::analyze(), ZMuMuAnalyzer::analyze(), ZMuMuAnalyzer_cynematics::analyze(), reco::helper::CastorJetIDHelper::calculate(), ConvertedPhotonProducer::cleanCollections(), cms::clusterProduct(), CastorTowerProducer::ComputeTowerVariable(), electronSelector(), PhotonCoreProducer::fillPhotonCollection(), HLTMuonIsoFilter::filter(), HLTMuonL3PreFilter::filter(), ZMuMuAnalyzer_cynematics::isContained(), L3TkMuonProducer::makePseudoRef(), ConversionTools::matchesConversion(), reco::tau::RecoTauDiscriminantFromDiscriminator::operator()(), JoinCaloTowerRefVectorsWithoutDuplicates::twrrefcomp::operator()(), printseed(), HLTTrackClusterRemover::process(), TrackClusterRemover::process(), RecoMuonFromPFProducer::produce(), GlobalTrackQualityProducer::produce(), pat::PATGenCandsFromSimTracksProducer::produce(), L3TkMuonProducer::produce(), RecoTauProducer::produce(), pat::PATMuonProducer::produce(), CastorTowerProducer::produce(), ElectronSeedProducer::produce(), CastorClusterProducer::produce(), pat::PATElectronProducer::produce(), edm::RefToBaseProd< T >::RefToBaseProd(), ClusterRemovalRefSetter::reKey(), GsfElectronAlgo::EventData::retreiveOriginalTrackCollections(), PFTauSelectorDefinition::select(), PhotonCoreProducer::solveAmbiguity(), ConvertedPhotonProducer::solveAmbiguity(), pat::Muon::sourceCandidatePtr(), pat::Electron::sourceCandidatePtr(), and reco::TrackJet::track().

255 {return product_.id();}
RefCore product_
Definition: Ref.h:295
ProductID id() const
Definition: RefCore.h:23
template<class C, class T, class F>
key_type edm::Ref< C, T, F >::index ( ) const
inline

Definition at line 268 of file Ref.h.

Referenced by edm::Ref< C, T, F >::Ref().

268 {return index_;}
key_type index_
Definition: Ref.h:296
template<class C, class T, class 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.

Definition at line 275 of file Ref.h.

Referenced by fireworks::addSiStripClusters(), SiStripMonitorMuonHLT::analyzeOnTrackClusters(), FWMuonLegoProxyBuilder::build(), FWTracksModulesProxyBuilder::build(), FWTracksRecHitsProxyBuilder::build(), FWPhotonDetailView::build(), FWElectronLegoProxyBuilder::build(), FWTrackProxyBuilder::build(), FWElectronDetailView::build(), FWConvTrackHitsDetailView::build(), FWTrackHitsDetailView::build(), FWTrackResidualDetailView::build(), FWMuonBuilder::buildMuon(), FWMuonBuilder::calculateField(), helper::MuonCollectionStoreManager::clusterRefsOK(), TauDiscriminationAgainstCaloMuon< TauType, TauDiscriminator >::discriminate(), pat::Muon::embedPFCandidate(), pat::Electron::embedPFCandidate(), fw::estimate_field(), PatZToMuMuAnalyzer::fill(), EwkMuTauHistManager::fillHistograms(), pat::helper::OverlapBySuperClusterSeed::fillOverlapsForItem(), FWPFTrackUtils::getTrack(), pat::VertexAssociation::isAvailable(), fireworks::makeRhoPhiSuperCluster(), fireworks::makeRhoZSuperCluster(), PFClusterWidthAlgo::PFClusterWidthAlgo(), MuonIdProducer::phiOfMuonIneteractionRegion(), fireworks::prepareTrack(), RecoMuonFromPFProducer::produce(), pat::PATMuonProducer::produce(), pat::PATJetProducer::produce(), pat::PATTauProducer::produce(), pat::PATElectronProducer::produce(), MuonIdProducer::produce(), TrackExtrapolator::propagateTrackToVolume(), fireworks::pushNearbyPixelHits(), FWElectronProxyBuilder::requestCommon(), MuScleFitMuonSelector::selectGeneratedMuons(), PFBlockAlgo::setInput(), FWElectronDetailView::setTextInfo(), PFMuonSelector::spring11Cuts(), pat::tau::TauPFSpecific::TauPFSpecific(), and tevOptimizedTMR().

275 {return product_.isAvailable();}
bool isAvailable() const
Definition: RefCore.cc:103
RefCore product_
Definition: Ref.h:295
template<class C, class T, class F>
bool edm::Ref< C, T, F >::isNonnull ( ) const
inline

Checks for non-null.

Definition at line 249 of file Ref.h.

Referenced by pat::PATObject< ObjectType >::addGenParticleRef(), BetaCalculatorRPC::addInfoToCandidate(), fireworks::addSiStripClusters(), PFCandConnector::analyseNuclearWPrim(), DimuonStatistics::analyze(), ZHistogrammer::analyze(), ZMCHistogrammer::analyze(), ZMuMuEfficiency::analyze(), RecoMuonValidator::analyze(), PatTrackAnalyzer::analyze(), METTester::analyze(), HLTMonHcalIsoTrack::analyze(), ZMuMuPerformances::analyze(), HLTMuonDQMSource::analyze(), WenuPlots::analyze(), HLTTrack::analyze(), SiPixelTrackResidualSource::analyze(), SiStripElectronAnalyzer::analyze(), gamma_radiative_analyzer::analyze(), ZMuMu_MCanalyzer::analyze(), ZMuMu_Radiative_analyzer::analyze(), MCAcceptanceAnalyzer::analyze(), TagProbeFitTreeProducer::analyze(), PhotonValidator::analyze(), calcTopMass::analyze(), L25TauAnalyzer::analyze(), TauMVATrainer::analyze(), V0Validator::analyze(), PhotonAnalyzer::analyze(), SiStripMonitorMuonHLT::analyzeOnTrackClusters(), HPSPFRecoTauAlgorithm::applyElectronRejection(), HPSPFRecoTauAlgorithm::applyMuonRejection(), PFElecTkProducer::applySelection(), MuonAssociatorByHits::associateMuons(), TrackerHitAssociator::associateSimpleRecHit(), TrackerHitAssociator::associateSiStripRecHit1D(), reco::RecoCandidate::bestTrack(), reco::RecoCandidate::bestTrackRef(), CaloRecoTauAlgorithm::buildCaloTau(), ConversionProducer::buildCollection(), ConvertedPhotonProducer::buildCollections(), PFRecoTauAlgorithm::buildPFTau(), HPSPFRecoTauAlgorithm::buildPFTau(), SimpleCosmicBONSeeder::checkCharge(), ConversionProducer::checkPhi(), helper::GsfElectronCollectionStoreManager::cloneAndStore(), TCMETAlgo::closeToElectron(), PFRecoTauDiscriminationByLeadingObjectPtCut::discriminate(), PFRecoTauDiscriminationByFlight::discriminate(), CaloRecoTauDiscriminationByLeadingTrackPtCut::discriminate(), RecoTauDiscriminationByGenMatch::discriminate(), CaloRecoTauDiscriminationByTauPolarization::discriminate(), PFRecoTauDiscriminationByTauPolarization::discriminate(), PFRecoTauDiscriminationAgainstElectron::discriminate(), TauDiscriminationAgainstCaloMuon< TauType, TauDiscriminator >::discriminate(), PrimaryVertexAnalyzer4PU::dumpHitInfo(), pat::GenericParticle::embedCaloTower(), pat::GenericParticle::embedCombined(), pat::GenericParticle::embedGsfTrack(), pat::Muon::embedPFCandidate(), pat::Electron::embedPFCandidate(), pat::Muon::embedPickyMuon(), pat::GenericParticle::embedStandalone(), pat::GenericParticle::embedSuperCluster(), pat::Muon::embedTpfmsMuon(), pat::GenericParticle::embedTrack(), egHLT::OffHelper::fillHLTData(), CaloMETAnalyzer::fillMonitorElement(), METAnalyzer::fillMonitorElement(), PhotonCoreProducer::fillPhotonCollection(), JPTJetAnalyzer::fillSiStripHitSoNForSingleHit(), PrimaryVertexAnalyzer4PU::fillTrackHistos(), reco::tau::AssociationMatchRefSelector< InputType, MatchedType, OutputType, ClonePolicy >::filter(), HSCPTreeBuilder::filter(), GlobalTrajectoryBuilderBase::fixTEC(), pat::PATObject< reco::Muon >::genParticle(), ConversionFinder::getElectronTrack(), HSCParticleProducer::getHSCPSeedCollection(), reco::PFJet::getTrackRefs(), susybsm::HSCParticle::hasCaloInfo(), susybsm::HSCParticle::hasMuonRef(), reco::PFTau::hasMuonReference(), RecoTracktoTP::hasRV(), TPtoRecoTrack::hasRVA(), TPtoRecoTrack::hasRVB(), susybsm::HSCParticle::hasTrackIsoRef(), susybsm::HSCParticle::hasTrackRef(), TCMETAlgo::isElectron(), PFMuonAlgo::isGlobalLooseMuon(), PFMuonAlgo::isGlobalTightMuon(), cms::MuonTCMETValueMapProducer::isGoodCaloMuon(), cms::MuonTCMETValueMapProducer::isGoodMuon(), cms::MuonTCMETValueMapProducer::isGoodTrack(), PFMuonAlgo::isIsolatedMuon(), TCMETAlgo::isMuon(), pat::VertexAssociation::isNonnull(), edm::Ref< L1GctEmCandCollection >::isNull(), MuonCosmicCompatibilityFiller::isOverlappingMuon(), PFCandConnector::isPrimaryNucl(), PFElectronAlgo::isPrimaryTrack(), PFElecTkProducer::isSameEgSC(), PFCandConnector::isSecondaryNucl(), PFElecTkProducer::isSharingEcalEnergyWithEgSC(), PFMuonAlgo::isTrackerLooseMuon(), PFMuonAlgo::isTrackerTightMuon(), l1extra::L1EmParticle::L1EmParticle(), l1extra::L1JetParticle::L1JetParticle(), PFBlockAlgo::link(), pat::PATGenCandsFromSimTracksProducer::makeGenParticle_(), RecoTracktoTP::matched(), TPtoRecoTrack::matchedA(), TPtoRecoTrack::matchedB(), ConversionTools::matchesConversion(), PFBlockAlgo::muAssocToTrack(), MuonCosmicCompatibilityFiller::muonTiming(), pat::Muon::numberOfSourceCandidatePtrs(), pat::Electron::numberOfSourceCandidatePtrs(), KinematicVertex::operator reco::Vertex(), GhostTrackComputer::operator()(), CombinedSVComputer::operator()(), reco::modules::MCMatchCandRefSelector::operator()(), reco::tau::RecoTauElectronRejectionPlugin::operator()(), reco::tau::RecoTauImpactParameterSignificancePlugin::operator()(), reco::tau::RecoTauObjectEmbedder< T >::operator()(), pat::TriggerObject::origL1GctEmCand(), pat::TriggerObject::origL1GctEtHad(), pat::TriggerObject::origL1GctEtMiss(), pat::TriggerObject::origL1GctEtTotal(), pat::TriggerObject::origL1GctHtMiss(), pat::TriggerObject::origL1GctJetCand(), pat::TriggerObject::origL1GmtMuonCand(), pat::GenericParticle::overlap(), PFAlgo::postMuonCleaning(), PFMuonAlgo::printMuonProperties(), PrimaryVertexAnalyzer4PU::printRecTrks(), PFTauElecRejectionBenchmark::process(), TrackClassifier::processesAtSimulation(), helper::MuonCollectionStoreManager::processMuon(), DimuonMCMatcher::produce(), DistortedPFCandProducer::produce(), MuonWithPFIsoProducer::produce(), UpdatedMuonInnerTrackRef::produce(), CaloMuonMerger::produce(), ZMuMuTrackUserData::produce(), ZMuMuMuonUserData::produce(), L3MuonProducer::produce(), PFTrackProducer::produce(), ZMuMuUserDataOneTrack::produce(), ZMuMuUserData::produce(), pat::PATGenCandsFromSimTracksProducer::produce(), GlobalMuonProducer::produce(), ZToLLEdmNtupleDumper::produce(), PFElecTkProducer::produce(), pat::PATMuonProducer::produce(), pat::PATJetProducer::produce(), TrajectorySeedFromMuonProducer::produce(), pat::PATTauProducer::produce(), pat::PATElectronProducer::produce(), MuonsFromRefitTracksProducer::produce(), reco::modules::JetFlavourIdentifier::produce(), cms::MuonTCMETValueMapProducer::propagateTrack(), fireworks::pushNearbyPixelHits(), MuonCosmicCompatibilityFiller::pvMatches(), PFAlgo::reconstructTrack(), GsfElectronAlgo::EventData::retreiveOriginalTrackCollections(), ConvBremPFTrackFinder::runConvBremFinder(), RecoTracktoTP::RV(), TPtoRecoTrack::RVA(), TPtoRecoTrack::RVB(), PFElectronAlgo::SetCandidates(), reco::PFCandidate::setConversionRef(), reco::PFCandidate::setDisplacedVertexRef(), reco::PFCandidate::setGsfElectronRef(), reco::PFCandidate::setGsfTrackRef(), PFElectronAlgo::SetIDOutputs(), PFBlockAlgo::setInput(), reco::PFCandidateElectronExtra::setKfTrackRef(), PFElectronAlgo::SetLinks(), reco::PFCandidate::setMuonRef(), reco::PFCandidate::setPFElectronExtraRef(), reco::PFCandidate::setPFPhotonExtraRef(), reco::PFCandidate::setPhotonRef(), reco::PFCandidate::setSuperClusterRef(), reco::PFCandidate::setTrackRef(), reco::PFCandidate::setV0Ref(), SiStripRecHit2D::sharesInput(), SiStripRecHit1D::sharesInput(), SiStripRecHit1D::SiStripRecHit1D(), PFMuonSelector::spring11Cuts(), pat::tau::TauPFSpecific::TauPFSpecific(), PFBlockAlgo::testLinkByVertex(), PFRecoTauDiscriminationByFlightPathSignificance::threeProngFlightPathSig(), RecoTracktoTP::TP(), TPtoRecoTrack::TP(), HistoryBase::traceSimHistory(), pat::PATObject< ObjectType >::triggerObjectMatch(), pat::PATObject< ObjectType >::triggerObjectMatchByAlgorithm(), pat::PATObject< ObjectType >::triggerObjectMatchByCollection(), pat::PATObject< ObjectType >::triggerObjectMatchByCondition(), pat::PATObject< ObjectType >::triggerObjectMatchByFilter(), pat::PATObject< ObjectType >::triggerObjectMatchByPath(), pat::PATObject< ObjectType >::triggerObjectMatchByType(), TSiStripRecHit1D::TSiStripRecHit1D(), TSiStripRecHit2DLocalPos::TSiStripRecHit2DLocalPos(), and egHLT::OffEle::validCTFTrack().

key_type index_
Definition: Ref.h:296
template<class C, class T, class F>
bool edm::Ref< C, T, F >::isNull ( ) const
inline

Checks for null.

Definition at line 246 of file Ref.h.

Referenced by DebugZMCTruth::analyze(), EwkMuDQM::analyze(), ElectronMcSignalValidator::analyze(), TtSemiLepSignalSelMVATrainer::analyze(), GsfElectronMCAnalyzer::analyze(), PFElecTkProducer::applySelection(), TrackDetectorAssociator::associate(), HPSPFRecoTauAlgorithm::associateIsolationCandidates(), TrackerHitAssociator::associatePixelRecHit(), PFAlgo::associatePSClusters(), MuonIdProducer::checkLinks(), TagProbeFitTreeProducer::checkMother(), TSiStripMatchedRecHit::clone(), GsfElectronAlgo::completeElectrons(), TSiStripMatchedRecHit::ComputeCoarseLocalPosition(), PFElectronTranslator::createBasicCluster(), PFPhotonTranslator::createBasicCluster(), reco::TauImpactParameterInfo::discriminator(), JetProbabilityComputer::discriminator(), JetBProbabilityComputer::discriminator(), reco::PFBlockElementTrack::Dump(), reco::PFBlockElementBrem::Dump(), reco::PFBlockElementGsfTrack::Dump(), metsig::SignAlgoResolutions::evalPF(), MuonCaloCompatibility::evaluate(), TrackHistory::evaluate(), VertexHistory::evaluate(), CandKinematicVertexFitter::fill(), pat::PATElectronProducer::fillElectron(), MuonIdProducer::fillMuonId(), MuonIdProducer::fillMuonIsolation(), PFElectronTranslator::fillMVAValueMap(), pat::helper::OverlapBySuperClusterSeed::fillOverlapsForItem(), MuonTimingFiller::fillTiming(), MuonIdProducer::fillTrackerKink(), RecoTauDifferenceAnalyzer::filter(), HLTMuonTrackMassFilter::filter(), WMuNuValidator::filter(), HSCPFilter::filter(), HSCParticleProducer::filter(), LeptonRecoSkim::filter(), UpdatedMuonInnerTrackRef::findNewRef(), PFElecTkProducer::FindPfRef(), edm::Ref< L1GctEmCandCollection >::get(), HSCParticleProducer::getHSCPSeedCollection(), CaloRecoTauTagInfoAlgorithm::getNeutralEcalBasicClusters(), reco::GsfElectronCore::GsfElectronCore(), ConversionTools::hasMatchedConversion(), ConversionTools::hasMatchedPromptElectron(), reco::PFTau::hasMuonReference(), edm::OneToValue< BasicClusterCollection, float, unsigned short >::insert(), edm::OneToMany< JetC, reco::TrackCollection >::insert(), pat::VertexAssociation::isNull(), CandidateSelector::isSelected(), PFBlockAlgo::link(), DisplayManager::loadGPFBlocks(), L3TkMuonProducer::makePseudoRef(), MuonErrorMatrixAdjuster::makeTrackExtra(), ConversionTools::matchedConversion(), ConversionTools::matchedPromptElectron(), ConversionTools::matchesConversion(), PFRootEventManager::mcTruthMatching(), ZMuMuIsolationAnalyzer::muTag(), edm::Ref< L1GctEmCandCollection >::operator!(), tautools::RecoTauDistanceFromTruthPlugin::operator()(), tautools::RecoTauDecayModeTruthMatchPlugin::operator()(), CandMatcherBase< C1, C2 >::operator()(), pat::VertexAssociation::operator->(), reco::utilsNew::CandMatcher< C >::operator[](), TrackCountingComputer::orderedSignificances(), MuonIdProducer::overlap(), HLTMuonTrackMassFilter::pairMatched(), reco::PFBlockElementGsfTrack::PFBlockElementGsfTrack(), reco::PFBlockElementTrack::PFBlockElementTrack(), PFJetBenchmark::process(), PFAlgo::processBlock(), PFRootEventManagerColin::processHIGH_E_TAUS(), DistortedPFCandProducer::produce(), DistortedMuonProducer::produce(), reco::modulesNew::MCTruthCompositeMatcher::produce(), TtSemiLepSignalSelMVAComputer::produce(), PFElectronTranslator::produce(), GlobalTrackQualityProducer::produce(), PFTrackProducer::produce(), PFPileUp::produce(), PFElecTkProducer::produce(), RecoTauProducer::produce(), PFPhotonTranslator::produce(), GsfElectronCoreEcalDrivenProducer::produceEcalDrivenCore(), TCTauAlgorithm::recalculateEnergy(), L3TkMuonProducer::seedRefBypT(), pf2pat::MuonIDPFCandidateSelectorDefinition::select(), pf2pat::ElectronIDPFCandidateSelectorDefinition::select(), GsfElectronAlgo::setCutBasedPreselectionFlag(), PropagateToMuon::startingState(), reco::GsfElectronCore::superCluster(), LinkByRecHit::testECALAndPSByRecHit(), LinkByRecHit::testTrackAndClusterByRecHit(), GlobalCosmicMuonTrajectoryBuilder::trajectories(), reco::tau::qcuts::trkLongitudinalImpactParameter(), reco::tau::qcuts::trkTransverseImpactParameter(), and pat::VertexAssociation::vertex().

246 {return !isNonnull(); }
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:249
template<class C, class T, class F>
bool edm::Ref< C, T, F >::isTransient ( ) const
inline

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

Definition at line 278 of file Ref.h.

Referenced by TauDiscriminationAgainstCaloMuon< TauType, TauDiscriminator >::discriminate().

278 {return product_.isTransient();}
RefCore product_
Definition: Ref.h:295
bool isTransient() const
Definition: RefCore.h:64
template<class C, class T, class F>
key_type edm::Ref< C, T, F >::key ( ) const
inline

Accessor for product key.

Definition at line 265 of file Ref.h.

Referenced by GenParticlePruner::addDaughterRefs(), GenParticlePruner::addMotherRefs(), METTester::analyze(), ZMuMuAnalyzer::analyze(), SiPixelHitEfficiencySource::analyze(), SiPixelTrackResidualSource::analyze(), ZMuMuAnalyzer_cynematics::analyze(), TkConvValidator::analyze(), PhotonValidator::analyze(), MuonTrackValidator::analyze(), TrackerDpgAnalysis::analyze(), ConvertedPhotonProducer::cleanCollections(), RecoTauIndexDiscriminatorProducer::discriminate(), electronSelector(), TkStripMeasurementDet::fastMeasurements(), TriggerSummaryProducerAOD::fillFilterObjectMember(), PhotonCoreProducer::fillPhotonCollection(), HLTMuonL3PreFilter::filter(), reco::TauMassTagInfo::getInvariantMass(), TrackerMuonHitExtractor::getMuonHits(), edm::OneToValue< BasicClusterCollection, float, unsigned short >::insert(), edm::OneToMany< JetC, reco::TrackCollection >::insert(), ZMuMuAnalyzer_cynematics::isContained(), TCMETAlgo::isElectron(), NuclearInteractionEDProducer::isInside(), TCMETAlgo::isMuon(), DisplayManager::loadGPFBlocks(), L3TkMuonProducer::makePseudoRef(), ConversionTools::matchesConversion(), TrackingTruthProducer::mergeBremsstrahlung(), pat::TriggerEvent::objectInCondition(), pat::TriggerEvent::objectInFilter(), reco::tau::RecoTauPhotonFilter::operator()(), CandMatcherBase< C1, C2 >::operator()(), edm::CompareRefDetSet< T, C >::operator()(), GenParticlesHelper::operator<<(), reco::operator<<(), reco::utilsNew::CandMatcher< C >::operator[](), PFAlgo::postMuonCleaning(), printseed(), TrackClusterRemover::process(), DistortedPFCandProducer::produce(), MuonTrackProducer::produce(), PFConversionProducer::produce(), PFV0Producer::produce(), reco::modulesNew::MCTruthCompositeMatcher::produce(), TrackInfoProducer::produce(), RecoTauJetRegionProducer::produce(), L3MuonProducer::produce(), pat::PATGenCandsFromSimTracksProducer::produce(), GlobalMuonProducer::produce(), L3TkMuonProducer::produce(), PFPileUp::produce(), TkAlCaOverlapTagger::produce(), DeDxEstimatorProducer::produce(), cms::SimpleTrackListMerger::produce(), RecoTauPiZeroProducer::produce(), reco::modules::CosmicTrackSelector::produce(), reco::modules::AnalyticalTrackSelector::produce(), reco::modules::TrackMultiSelector::produce(), reco::modules::TrackFullCloneSelectorBase< Selector >::produce(), reco::modules::TrackerTrackHitFilter::produce(), edm::RefVector< TrackingRecHitCollection >::push_back(), TkPixelMeasurementDet::recHits(), TkStripMeasurementDet::recHits(), edm::Ref< C, T, F >::Ref(), ClusterRemovalRefSetter::reKey(), DisplayManager::retrieveBadBrems(), reco::PFCandidate::setConversionRef(), reco::PFCandidate::setDisplacedVertexRef(), reco::PFCandidate::setGsfElectronRef(), reco::PFCandidate::setGsfTrackRef(), PFBlockAlgo::setInput(), reco::PFCandidate::setMuonRef(), reco::PFCandidate::setPFElectronExtraRef(), reco::PFCandidate::setPFPhotonExtraRef(), reco::PFCandidate::setPhotonRef(), reco::PFCandidate::setSuperClusterRef(), reco::PFCandidate::setTrackRef(), reco::PFCandidate::setV0Ref(), TkStripMeasurementDet::simpleRecHits(), ctfseeding::HitExtractorSTRP::skipThis(), PhotonCoreProducer::solveAmbiguity(), ConvertedPhotonProducer::solveAmbiguity(), pat::Muon::sourceCandidatePtr(), pat::Electron::sourceCandidatePtr(), PFBlockAlgo::testLinkBySuperCluster(), reco::TrackJet::track(), and SiStripMonitorTrack::trackStudy().

265 {return index_;}
key_type index_
Definition: Ref.h:296
template<class C, class T, class F>
bool edm::Ref< C, T, F >::operator! ( ) const
inline

Checks for null.

Definition at line 252 of file Ref.h.

252 {return isNull();}
bool isNull() const
Checks for null.
Definition: Ref.h:246
template<typename C , typename T , typename F >
T const & edm::Ref< C, T, F >::operator* ( ) const
inline

Dereference operator.

Definition at line 389 of file Ref.h.

389  {
390  return *getPtr<C, T, F>(product_, index_);
391  }
key_type index_
Definition: Ref.h:296
RefCore product_
Definition: Ref.h:295
template<typename C , typename T , typename F >
T const * edm::Ref< C, T, F >::operator-> ( ) const
inline

Member dereference operator.

Definition at line 397 of file Ref.h.

Referenced by edm::Ref< L1GctEmCandCollection >::get().

397  {
398  return getPtr<C, T, F>(product_, index_);
399  }
key_type index_
Definition: Ref.h:296
RefCore product_
Definition: Ref.h:295
template<typename C , typename T , typename F >
C const * edm::Ref< C, T, F >::product ( ) const
inline

Accessor for product collection.

Definition at line 381 of file Ref.h.

References svgfig::template().

Referenced by fireworks::addSiStripClusters(), fireworks::pushNearbyPixelHits(), and edm::RefToBaseProd< T >::RefToBaseProd().

381  {
382  return isNull() ? 0 : edm::template getProduct<C>(product_);
383  }
bool isNull() const
Checks for null.
Definition: Ref.h:246
RefCore product_
Definition: Ref.h:295
def template
Definition: svgfig.py:520
template<class C, class T, class F>
EDProductGetter const* edm::Ref< C, T, F >::productGetter ( ) const
inline
template<class C, class T, class F>
RefCore const& edm::Ref< C, T, F >::refCore ( ) const
inline

Friends And Related Function Documentation

template<class C, class T, class F>
friend class RefVector< C, T, F >
friend

Definition at line 155 of file Ref.h.

template<class C, class T, class F>
friend class RefVector< RefVector< C, T, F >, T, VBF >
friend

Definition at line 158 of file Ref.h.

template<class C, class T, class F>
friend class RefVector< RefVector< C, T, F >, T, VF >
friend

Definition at line 156 of file Ref.h.

template<class C, class T, class F>
friend class RefVector< RefVector< RefVector< C, T, F >, T, VBF >, T, VBF >
friend

Definition at line 159 of file Ref.h.

template<class C, class T, class F>
friend class RefVector< RefVector< RefVector< C, T, F >, T, VF >, T, VF >
friend

Definition at line 157 of file Ref.h.

template<class C, class T, class F>
friend class RefVectorIterator< C, T, F >
friend

Definition at line 154 of file Ref.h.

Member Data Documentation

template<class C, class T, class F>
key_type edm::Ref< C, T, F >::index_
private
template<class C, class T, class F>
RefCore edm::Ref< C, T, F >::product_
mutableprivate