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 Attributes
edm::RefVector< C, T, F > Class Template Reference

#include <EDProductfwd.h>

Public Types

typedef C collection_type
 
typedef iterator const_iterator
 
typedef value_type const const_reference
 
typedef RefVectorBase< key_typecontents_type
 
typedef F finder_type
 
typedef
refhelper::RefVectorTrait< C,
T, F >::iterator_type 
iterator
 
typedef value_type::key_type key_type
 
typedef std::vector< key_typeKeyVec
 
typedef T member_type
 
typedef const_reference reference
 
typedef KeyVec::size_type size_type
 
typedef
refhelper::RefVectorTrait< C,
T, F >::ref_type 
value_type
 

Public Member Functions

value_type const at (size_type idx) const
 Retrieve an element of the RefVector. More...
 
const_iterator begin () const
 Initialize an iterator over the RefVector. More...
 
size_type capacity () const
 Capacity of the RefVector. More...
 
void clear ()
 Clear the vector. More...
 
bool empty () const
 Is the RefVector empty. More...
 
const_iterator end () const
 Termination of iteration. More...
 
iterator erase (iterator const &pos)
 Erase an element from the vector. More...
 
void fillView (ProductID const &id, std::vector< void const * > &pointers, helper_vector &helpers) const
 
bool hasProductCache () const
 Checks if product is in memory. More...
 
ProductID id () const
 Accessor for product ID. More...
 
bool isAvailable () const
 
bool isNonnull () const
 Checks for non-null. More...
 
bool isNull () const
 Checks for null. More...
 
bool isTransient () const
 Checks if product collection is tansient (i.e. non persistable) More...
 
bool operator! () const
 Checks for null. More...
 
RefVectoroperator= (RefVector const &rhs)
 Copy assignment. More...
 
value_type const operator[] (size_type idx) const
 Retrieve an element of the RefVector. More...
 
C const * product () const
 Accessor for product collection. More...
 
EDProductGetter const * productGetter () const
 Accessor for product getter. More...
 
void push_back (value_type const &ref)
 Add a Ref<C, T> to the RefVector. More...
 
 RefVector ()
 
 RefVector (ProductID const &id)
 
contents_type const & refVector () const
 Accessor for all data. More...
 
void reserve (size_type n)
 Reserve space for RefVector. More...
 
size_type size () const
 Size of the RefVector. More...
 
void swap (RefVector< C, T, F > &other)
 Swap two vectors. More...
 

Private Attributes

contents_type refVector_
 

Detailed Description

template<typename C, typename T, typename F>
class edm::RefVector< C, T, F >

Definition at line 24 of file EDProductfwd.h.

Member Typedef Documentation

template<typename C, typename T, typename F>
typedef C edm::RefVector< C, T, F >::collection_type

Definition at line 37 of file RefVector.h.

template<typename C, typename T, typename F>
typedef iterator edm::RefVector< C, T, F >::const_iterator

Definition at line 41 of file RefVector.h.

template<typename C, typename T, typename F>
typedef value_type const edm::RefVector< C, T, F >::const_reference

Definition at line 43 of file RefVector.h.

template<typename C, typename T, typename F>
typedef RefVectorBase<key_type> edm::RefVector< C, T, F >::contents_type

Definition at line 52 of file RefVector.h.

template<typename C, typename T, typename F>
typedef F edm::RefVector< C, T, F >::finder_type

Definition at line 39 of file RefVector.h.

template<typename C, typename T, typename F>
typedef refhelper::RefVectorTrait<C, T, F>::iterator_type edm::RefVector< C, T, F >::iterator

Definition at line 40 of file RefVector.h.

template<typename C, typename T, typename F>
typedef value_type::key_type edm::RefVector< C, T, F >::key_type

Definition at line 47 of file RefVector.h.

template<typename C, typename T, typename F>
typedef std::vector<key_type> edm::RefVector< C, T, F >::KeyVec

Definition at line 48 of file RefVector.h.

template<typename C, typename T, typename F>
typedef T edm::RefVector< C, T, F >::member_type

Definition at line 38 of file RefVector.h.

template<typename C, typename T, typename F>
typedef const_reference edm::RefVector< C, T, F >::reference

Definition at line 44 of file RefVector.h.

template<typename C, typename T, typename F>
typedef KeyVec::size_type edm::RefVector< C, T, F >::size_type

Definition at line 51 of file RefVector.h.

template<typename C, typename T, typename F>
typedef refhelper::RefVectorTrait<C, T, F>::ref_type edm::RefVector< C, T, F >::value_type

Definition at line 42 of file RefVector.h.

Constructor & Destructor Documentation

template<typename C, typename T, typename F>
edm::RefVector< C, T, F >::RefVector ( )
inline

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

Definition at line 56 of file RefVector.h.

56 : refVector_() {}
contents_type refVector_
Definition: RefVector.h:146
template<typename C, typename T, typename F>
edm::RefVector< C, T, F >::RefVector ( ProductID const &  id)
inline

Definition at line 58 of file RefVector.h.

58 : refVector_(id) {}
contents_type refVector_
Definition: RefVector.h:146

Member Function Documentation

template<typename C, typename T, typename F>
value_type const edm::RefVector< C, T, F >::at ( size_type  idx) const
inline

Retrieve an element of the RefVector.

Definition at line 71 of file RefVector.h.

Referenced by L25TauAnalyzer::analyze(), HPSPFRecoTauAlgorithm::buildOneProng(), HPSPFRecoTauAlgorithm::buildOneProngStrip(), HPSPFRecoTauAlgorithm::buildOneProngTwoStrips(), HPSPFRecoTauAlgorithm::buildThreeProngs(), PFTauElementsOperators::computeInsideOutContents(), HPSPFRecoTauAlgorithm::createMergedLorentzVector(), pat::Tau::embedIsolationPFCands(), pat::Tau::embedIsolationPFChargedHadrCands(), pat::Tau::embedIsolationPFGammaCands(), pat::Tau::embedIsolationPFNeutralHadrCands(), pat::Tau::embedIsolationTracks(), pat::Tau::embedSignalPFCands(), pat::Tau::embedSignalPFChargedHadrCands(), pat::Tau::embedSignalPFGammaCands(), pat::Tau::embedSignalPFNeutralHadrCands(), pat::Tau::embedSignalTracks(), VertexClassifierByProxy< reco::SecondaryVertexTagInfoCollection >::evaluate(), TrackClassifierByProxy< Collection >::evaluate(), PFCandidateStripMerger::mergeCandidates(), TauTagTools::sortRefsByOpeningDistance::operator()(), TauTagTools::filterChargedAndNeutralsByPt::operator()(), TauTagTools::refVectorPtSorter::operator()(), HPSPFRecoTauAlgorithm::refitThreeProng(), and TauTagTools::sortRefVectorByPt().

71  {
72  key_type const& key = refVector_.keys().at(idx);
73  RefCore const& prod = refVector_.refCore();
74  return value_type(prod, key);
75  }
value_type::key_type key_type
Definition: RefVector.h:47
contents_type refVector_
Definition: RefVector.h:146
RefCore const & refCore() const
Accessor for product ID and product getter.
Definition: RefVectorBase.h:37
keys_type const & keys() const
Accessor for vector of keys and pointers.
Definition: RefVectorBase.h:40
list key
Definition: combine.py:13
refhelper::RefVectorTrait< C, T, F >::ref_type value_type
Definition: RefVector.h:42
template<typename C , typename T , typename F >
RefVector< C, T, F >::const_iterator edm::RefVector< C, T, F >::begin ( void  ) const

Initialize an iterator over the RefVector.

Definition at line 238 of file RefVector.h.

References edm::RefVectorBase< T >::keys(), edm::RefVectorBase< T >::refCore(), and edm::RefVector< C, T, F >::refVector_.

Referenced by FWTauProxyBuilderBase::addConstituentTracks(), GenParticlePruner::addDaughterRefs(), GenParticlePruner::addMotherRefs(), pat::TriggerEvent::algorithmObjects(), reco::GsfElectron::ambiguousGsfTracksBegin(), L25TauAnalyzer::analyze(), HPSPFRecoTauAlgorithm::associateIsolationCandidates(), MuonAssociatorByHits::associateMuons(), RecoTrackRefSelector::begin(), reco::CompositeRefCandidate::begin(), CaloRecoTauAlgorithm::buildCaloTau(), HPSPFRecoTauAlgorithm::buildOneProngStrip(), HPSPFRecoTauAlgorithm::buildOneProngTwoStrips(), PFRecoTauAlgorithm::buildPFTau(), PFRecoTauTagInfoAlgorithm::buildPFTauTagInfo(), JetPlusTrackProducerAA::calculateBGtracksJet(), JetPlusTrackCorrector::calculateCorr(), reco::TauMassTagInfo::calculateTrkP4(), reco::CastorCluster::CastorCluster(), reco::CastorTower::CastorTower(), TagProbeFitTreeProducer::checkMother(), CommonHcalNoiseRBXData::CommonHcalNoiseRBXData(), reco::JetSignalVertexCompatibilityAlgo::compatibility(), pat::TriggerEvent::conditionInAlgorithm(), PFTauElementsOperators::copyCandRefsFilteredByPt(), JetPlusTrackCorrector::correctAA(), TrackingVertex::daughterTracks_begin(), TrackingParticle::decayVertices_begin(), PFTauExtractor::depositFromObject(), PFTauElementsOperators::discriminatorByIsolPFCandsEtSum(), PFTauElementsOperators::discriminatorByIsolPFChargedHadrCandsEtSum(), PFTauElementsOperators::discriminatorByIsolPFGammaCandsEtSum(), PFTauElementsOperators::discriminatorByIsolPFNeutrHadrCandsEtSum(), pat::GenericParticle::embedTracks(), edm::RefVector< C, T, F >::erase(), JetPlusTrackCorrector::excludeJta(), VertexFitterResult::fill(), reco::HcalNoiseInfoProducer::filldigis(), PFTauDiscriminants::PFTauDiscriminantManager::fillOutlierObjects(), JPTJetAnalyzer::fillSiStripSoNForTracks(), JPTJetAnalyzer::fillTrackHistograms(), edm::RefVector< C, T, F >::fillView(), TauTagTools::filteredPFChargedHadrCands(), TauTagTools::filteredPFChargedHadrCandsByNumTrkHits(), TauTagTools::filteredPFGammaCands(), TauTagTools::filteredPFNeutrHadrCands(), TauTagTools::filteredTracks(), TauTagTools::filteredTracksByNumTrkHits(), pat::TriggerEvent::filterInPath(), CaloRecoTauTagInfoAlgorithm::filterTracksByQualityBit(), GenParticlesHelper::findDescendents(), JPTJetAnalyzer::findPtFractionInCone(), GenParticlesHelper::findSisters(), JetPlusTrackCorrector::findTrack(), GenParticlePruner::flagDaughters(), GenParticlePruner::flagMothers(), TrackingParticle::genParticle_begin(), TrackingVertex::genVertices_begin(), InvariantMassAlgorithm::getMinimumClusterDR(), CaloRecoTauTagInfoAlgorithm::getNeutralEcalBasicClusters(), JPTJetTester::getSumPt(), TauLeadTrackExtractor< reco::PFTau >::getTrackPtSum(), GenParticlesHelper::hasAncestor(), edm::OneToMany< JetC, reco::TrackCollection >::insert(), ConvBremSeedProducer::isGsfTrack(), JetPlusTrackCorrector::jetDirFromTracks(), reco::IsolatedTauTagInfo::leadingSignalTrack(), main(), reco::tau::RecoTauIsolationMasking::mask(), JetPlusTrackCorrector::matchTracks(), TrackingTruthProducer::mergeBremsstrahlung(), pat::TriggerEvent::objectInAlgorithm(), pat::TriggerEvent::objectInPath(), ElementsInEllipse< reco::PFCandidate, reco::PFCandidateCollection >::operator()(), ElementsInAnnulus< math::XYZVector, DeltaR< math::XYZVector, math::XYZPoint >, Angle< math::XYZVector, math::XYZPoint >, std::pair< math::XYZPoint, float > >::operator()(), ElementsInCone< math::XYZVector, DeltaR< math::XYZVector, math::XYZPoint >, std::pair< math::XYZPoint, float > >::operator()(), TauConeIsolationAlgo< T, C, M >::operator()(), GhostTrackComputer::operator()(), CombinedSVComputer::operator()(), reco::tau::RecoTauElectronRejectionPlugin::operator()(), JoinCaloTowerRefVectorsWithoutDuplicates::operator()(), pat::TriggerEvent::pathObjects(), PFTauElementsOperators::PFGammaCandsInOutEllipse(), reco::PFIsolatedTauTagInfo::PFIsolatedTauTagInfo(), reco::EMIsolatedTauTagInfo::pIsol(), L25TauAnalyzer::printInfo(), VZeroProducer::produce(), TrackIPProducer::produce(), TauGenJetProducer::produce(), JetPlusTrackProducer::produce(), RecoTauCleanerImpl< Prod >::produce(), PFRecoTauDecayModeDeterminator::produce(), JetPlusTrackProducerAA::produce(), SecondaryVertexProducer::produce(), JetPlusTrackCorrector::rebuildJta(), TCTauAlgorithm::recalculateEnergy(), reco::TrackExtraBase::recHitsBegin(), reco::CastorTower::rechitsBegin(), GenParticlePruner::recursiveFlagDaughters(), GenParticlePruner::recursiveFlagMothers(), SoftLepton::refineJetAxis(), HPSPFRecoTauAlgorithm::removeCandidateFromRefVector(), TauMETAlgo::run(), reco::PFNuclearInteraction::secPFRecTracks_begin(), reco::NuclearInteraction::seeds_begin(), reco::CombinedTauTagInfo::signalTks_qsum(), TrackingVertex::sourceTracks_begin(), ConeIsolationAlgorithm::tag(), PFRecoTauDiscriminationByFlightPathSignificance::threeProngFlightPathSig(), reco::CastorCluster::towersBegin(), reco::TrackKinematics::TrackKinematics(), reco::IsolatedTauTagInfo::tracksInCone(), and reco::HcalNoiseRBX::uniqueTowers().

238  {
239  return iterator(refVector_.refCore(), refVector_.keys().begin());
240  }
contents_type refVector_
Definition: RefVector.h:146
RefCore const & refCore() const
Accessor for product ID and product getter.
Definition: RefVectorBase.h:37
refhelper::RefVectorTrait< C, T, F >::iterator_type iterator
Definition: RefVector.h:40
keys_type const & keys() const
Accessor for vector of keys and pointers.
Definition: RefVectorBase.h:40
template<typename C, typename T, typename F>
size_type edm::RefVector< C, T, F >::capacity ( ) const
inline

Capacity of the RefVector.

Definition at line 87 of file RefVector.h.

87 {return refVector_.capacity();}
contents_type refVector_
Definition: RefVector.h:146
size_type capacity() const
Capacity of vector.
Definition: RefVectorBase.h:54
template<typename C, typename T, typename F>
void edm::RefVector< C, T, F >::clear ( void  )
inline

Clear the vector.

Definition at line 128 of file RefVector.h.

Referenced by TrackIPTagPlotter::analyzeTag(), PFRecoTauAlgorithm::buildPFTau(), jpt::JetTracks::clear(), jpt::MatchedTracks::clear(), reco::GsfElectron::clearAmbiguousGsfTracks(), reco::CompositeRefCandidate::clearDaughters(), TrackingVertex::clearDaughterTracks(), TrackingParticle::clearDecayVertices(), TrackingVertex::clearParentTracks(), python.Vispa.Views.WidgetView.WidgetView::closeEvent(), python.Vispa.Views.BoxDecayView.BoxDecayView::closeEvent(), reco::CombinedTauTagInfo::CombinedTauTagInfo(), JetPlusTrackCorrector::excludeJta(), python.Vispa.Share.FindAlgorithm.FindAlgorithm::findUsingFindDialog(), PFCandidateStripMerger::mergeCandidates(), reco::tau::RecoTauElectronRejectionPlugin::operator()(), JoinCaloTowerRefVectorsWithoutDuplicates::operator()(), reco::PFCombinedTauTagInfo::PFCombinedTauTagInfo(), JetPlusTrackCorrector::rebuildJta(), RecoTrackRefSelector::select(), python.Vispa.Views.LineDecayView.LineDecayView::setDataObjects(), python.Vispa.Views.WidgetView.WidgetView::setDataObjects(), python.Vispa.Views.TreeView.TreeView::updateContent(), python.Vispa.Views.TableView.TableView::updateContent(), python.Vispa.Views.BoxDecayView.BoxDecayView::updateContent(), and python.Vispa.Views.PropertyView.PropertyView::updateContent().

128 {refVector_.clear();}
contents_type refVector_
Definition: RefVector.h:146
void clear()
clear the vector
Definition: RefVectorBase.h:65
template<typename C, typename T, typename F>
bool edm::RefVector< C, T, F >::empty ( ) const
inline
template<typename C , typename T , typename F >
RefVector< C, T, F >::const_iterator edm::RefVector< C, T, F >::end ( void  ) const

Termination of iteration.

Definition at line 243 of file RefVector.h.

References edm::RefVectorBase< T >::keys(), edm::RefVectorBase< T >::refCore(), and edm::RefVector< C, T, F >::refVector_.

Referenced by FWTauProxyBuilderBase::addConstituentTracks(), GenParticlePruner::addDaughterRefs(), GenParticlePruner::addMotherRefs(), pat::TriggerEvent::algorithmObjects(), pat::TriggerEvent::algorithmRef(), reco::GsfElectron::ambiguousGsfTracksEnd(), L25TauAnalyzer::analyze(), HPSPFRecoTauAlgorithm::associateIsolationCandidates(), MuonAssociatorByHits::associateMuons(), CaloRecoTauAlgorithm::buildCaloTau(), HPSPFRecoTauAlgorithm::buildOneProngStrip(), HPSPFRecoTauAlgorithm::buildOneProngTwoStrips(), PFRecoTauAlgorithm::buildPFTau(), PFRecoTauTagInfoAlgorithm::buildPFTauTagInfo(), JetPlusTrackProducerAA::calculateBGtracksJet(), JetPlusTrackCorrector::calculateCorr(), reco::TauMassTagInfo::calculateTrkP4(), reco::CastorCluster::CastorCluster(), reco::CastorTower::CastorTower(), TagProbeFitTreeProducer::checkMother(), CommonHcalNoiseRBXData::CommonHcalNoiseRBXData(), reco::JetSignalVertexCompatibilityAlgo::compatibility(), pat::TriggerEvent::conditionInAlgorithm(), pat::TriggerEvent::conditionRef(), PFTauElementsOperators::copyCandRefsFilteredByPt(), JetPlusTrackCorrector::correctAA(), Types.LuminosityBlockRange::cppID(), Types.EventRange::cppID(), TrackingVertex::daughterTracks_end(), TrackingParticle::decayVertices_end(), PFTauExtractor::depositFromObject(), PFTauElementsOperators::discriminatorByIsolPFCandsEtSum(), PFTauElementsOperators::discriminatorByIsolPFChargedHadrCandsEtSum(), PFTauElementsOperators::discriminatorByIsolPFGammaCandsEtSum(), PFTauElementsOperators::discriminatorByIsolPFNeutrHadrCandsEtSum(), pat::GenericParticle::embedTracks(), RecoTrackRefSelector::end(), reco::CompositeRefCandidate::end(), JetPlusTrackCorrector::excludeJta(), VertexFitterResult::fill(), reco::HcalNoiseInfoProducer::filldigis(), PFTauDiscriminants::PFTauDiscriminantManager::fillOutlierObjects(), JPTJetAnalyzer::fillSiStripSoNForTracks(), JPTJetAnalyzer::fillTrackHistograms(), edm::RefVector< C, T, F >::fillView(), TauTagTools::filteredPFChargedHadrCands(), TauTagTools::filteredPFChargedHadrCandsByNumTrkHits(), TauTagTools::filteredPFGammaCands(), TauTagTools::filteredPFNeutrHadrCands(), TauTagTools::filteredTracks(), TauTagTools::filteredTracksByNumTrkHits(), pat::TriggerEvent::filterInPath(), pat::TriggerEvent::filterRef(), CaloRecoTauTagInfoAlgorithm::filterTracksByQualityBit(), GenParticlesHelper::findDescendents(), JPTJetAnalyzer::findPtFractionInCone(), GenParticlesHelper::findSisters(), JetPlusTrackCorrector::findTrack(), GenParticlePruner::flagDaughters(), GenParticlePruner::flagMothers(), TrackingParticle::genParticle_end(), TrackingVertex::genVertices_end(), InvariantMassAlgorithm::getMinimumClusterDR(), CaloRecoTauTagInfoAlgorithm::getNeutralEcalBasicClusters(), JPTJetTester::getSumPt(), TauLeadTrackExtractor< reco::PFTau >::getTrackPtSum(), GenParticlesHelper::hasAncestor(), edm::OneToMany< JetC, reco::TrackCollection >::insert(), ConvBremSeedProducer::isGsfTrack(), JetPlusTrackCorrector::jetDirFromTracks(), reco::IsolatedTauTagInfo::leadingSignalTrack(), main(), reco::tau::RecoTauIsolationMasking::mask(), JetPlusTrackCorrector::matchTracks(), TrackingTruthProducer::mergeBremsstrahlung(), pat::TriggerEvent::objectInAlgorithm(), pat::TriggerEvent::objectInPath(), TauConeIsolationAlgo< T, C, M >::operator()(), ElementsInCone< math::XYZVector, DeltaR< math::XYZVector, math::XYZPoint >, std::pair< math::XYZPoint, float > >::operator()(), ElementsInAnnulus< math::XYZVector, DeltaR< math::XYZVector, math::XYZPoint >, Angle< math::XYZVector, math::XYZPoint >, std::pair< math::XYZPoint, float > >::operator()(), ElementsInEllipse< reco::PFCandidate, reco::PFCandidateCollection >::operator()(), CombinedSVComputer::operator()(), GhostTrackComputer::operator()(), reco::tau::RecoTauElectronRejectionPlugin::operator()(), JoinCaloTowerRefVectorsWithoutDuplicates::operator()(), pat::TriggerEvent::pathObjects(), pat::TriggerEvent::pathRef(), PFTauElementsOperators::PFGammaCandsInOutEllipse(), reco::PFIsolatedTauTagInfo::PFIsolatedTauTagInfo(), reco::EMIsolatedTauTagInfo::pIsol(), L25TauAnalyzer::printInfo(), VZeroProducer::produce(), TrackIPProducer::produce(), TauGenJetProducer::produce(), JetPlusTrackProducer::produce(), RecoTauCleanerImpl< Prod >::produce(), PFRecoTauDecayModeDeterminator::produce(), JetPlusTrackProducerAA::produce(), SecondaryVertexProducer::produce(), JetPlusTrackCorrector::rebuildJta(), TCTauAlgorithm::recalculateEnergy(), reco::TrackExtraBase::recHitsEnd(), reco::CastorTower::rechitsEnd(), GenParticlePruner::recursiveFlagDaughters(), GenParticlePruner::recursiveFlagMothers(), SoftLepton::refineJetAxis(), HPSPFRecoTauAlgorithm::removeCandidateFromRefVector(), TauMETAlgo::run(), reco::PFNuclearInteraction::secPFRecTracks_end(), reco::NuclearInteraction::seeds_end(), reco::CombinedTauTagInfo::signalTks_qsum(), TrackingVertex::sourceTracks_end(), ConeIsolationAlgorithm::tag(), PFRecoTauDiscriminationByFlightPathSignificance::threeProngFlightPathSig(), reco::CastorCluster::towersEnd(), reco::TrackKinematics::TrackKinematics(), reco::IsolatedTauTagInfo::tracksInCone(), and reco::HcalNoiseRBX::uniqueTowers().

243  {
244  return iterator(refVector_.refCore(), refVector_.keys().end());
245  }
contents_type refVector_
Definition: RefVector.h:146
RefCore const & refCore() const
Accessor for product ID and product getter.
Definition: RefVectorBase.h:37
refhelper::RefVectorTrait< C, T, F >::iterator_type iterator
Definition: RefVector.h:40
keys_type const & keys() const
Accessor for vector of keys and pointers.
Definition: RefVectorBase.h:40
template<typename C , typename T , typename F >
RefVector< C, T, F >::iterator edm::RefVector< C, T, F >::erase ( iterator const &  pos)
inline

Erase an element from the vector.

Definition at line 228 of file RefVector.h.

References edm::RefVector< C, T, F >::begin(), edm::RefVectorBase< T >::eraseAtIndex(), getHLTprescales::index, parseEventContent::prod, edm::RefVectorBase< T >::refCore(), and edm::RefVector< C, T, F >::refVector_.

Referenced by HPSPFRecoTauAlgorithm::removeCandidateFromRefVector().

228  {
230  typename contents_type::keys_type::iterator newPos =
231  refVector_.eraseAtIndex(index);
232  RefCore const& prod = refVector_.refCore();
233  //return typename RefVector<C, T, F>::iterator(prod, newPos);
234  return iterator(prod, newPos);
235  }
contents_type refVector_
Definition: RefVector.h:146
keys_type::iterator eraseAtIndex(size_type index)
erase an element from the vector
Definition: RefVectorBase.h:60
uint16_t size_type
const_iterator begin() const
Initialize an iterator over the RefVector.
Definition: RefVector.h:238
RefCore const & refCore() const
Accessor for product ID and product getter.
Definition: RefVectorBase.h:37
refhelper::RefVectorTrait< C, T, F >::iterator_type iterator
Definition: RefVector.h:40
template<typename C , typename T , typename F >
void edm::RefVector< C, T, F >::fillView ( ProductID const &  id,
std::vector< void const * > &  pointers,
helper_vector helpers 
) const

Definition at line 174 of file RefVector.h.

References edm::RefVector< C, T, F >::begin(), edm::RefVector< C, T, F >::end(), h, i, combine::key, edm::RefVector< C, T, F >::product(), edm::reftobase::RefVectorHolderBase::push_back(), edm::reftobase::RefVectorHolderBase::reserve(), and edm::RefVector< C, T, F >::size().

177  {
178  typedef Ref<C,T,F> ref_type;
179  typedef reftobase::RefHolder<ref_type> holder_type;
180 
181  pointers.reserve(this->size());
182  helpers.reserve(this->size());
183 
184  size_type key = 0;
185  for (const_iterator i=begin(), e=end(); i!=e; ++i, ++key) {
186  member_type const* address = i->isNull() ? 0 : &**i;
187  pointers.push_back(address);
188  holder_type h(ref_type(i->id(), address, i->key(), product() ));
189  helpers.push_back( & h );
190  }
191  }
int i
Definition: DBlmapReader.cc:9
char * address
Definition: mlp_lapack.h:14
C const * product() const
Accessor for product collection.
Definition: RefVector.h:269
const_iterator end() const
Termination of iteration.
Definition: RefVector.h:243
const_iterator begin() const
Initialize an iterator over the RefVector.
Definition: RefVector.h:238
KeyVec::size_type size_type
Definition: RefVector.h:51
iterator const_iterator
Definition: RefVector.h:41
list key
Definition: combine.py:13
size_type size() const
Size of the RefVector.
Definition: RefVector.h:84
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
template<typename C, typename T, typename F>
bool edm::RefVector< C, T, F >::hasProductCache ( ) const
inline

Checks if product is in memory.

Definition at line 137 of file RefVector.h.

137 {return refVector_.refCore().productPtr() != 0;}
contents_type refVector_
Definition: RefVector.h:146
RefCore const & refCore() const
Accessor for product ID and product getter.
Definition: RefVectorBase.h:37
void const * productPtr() const
Definition: RefCore.h:26
template<typename C, typename T, typename F>
ProductID edm::RefVector< C, T, F >::id ( void  ) const
inline

Accessor for product ID.

Definition at line 99 of file RefVector.h.

Referenced by edm::RefVector< TrackingRecHitCollection >::isNull(), and RecoTauJetRegionProducer::produce().

99 {return refVector_.refCore().id();}
contents_type refVector_
Definition: RefVector.h:146
RefCore const & refCore() const
Accessor for product ID and product getter.
Definition: RefVectorBase.h:37
ProductID id() const
Definition: RefCore.h:23
template<typename C, typename T, typename F>
bool edm::RefVector< C, T, F >::isAvailable ( ) const
inline

Checks if product collection is in memory or available in the Event. No type checking is done.

Definition at line 119 of file RefVector.h.

Referenced by EwkMuTauHistManager::fillHistograms().

119 {return refVector_.refCore().isAvailable();}
contents_type refVector_
Definition: RefVector.h:146
RefCore const & refCore() const
Accessor for product ID and product getter.
Definition: RefVectorBase.h:37
bool isAvailable() const
Definition: RefCore.cc:103
template<typename C, typename T, typename F>
bool edm::RefVector< C, T, F >::isNonnull ( ) const
inline

Checks for non-null.

Definition at line 108 of file RefVector.h.

108 {return !isNull();}
bool isNull() const
Checks for null.
Definition: RefVector.h:105
template<typename C, typename T, typename F>
bool edm::RefVector< C, T, F >::isNull ( ) const
inline

Checks for null.

Definition at line 105 of file RefVector.h.

Referenced by edm::RefVector< TrackingRecHitCollection >::isNonnull(), and edm::RefVector< TrackingRecHitCollection >::operator!().

105 {return !id().isValid();}
ProductID id() const
Accessor for product ID.
Definition: RefVector.h:99
bool isValid() const
Definition: ProductID.h:36
template<typename C, typename T, typename F>
bool edm::RefVector< C, T, F >::isTransient ( ) const
inline

Checks if product collection is tansient (i.e. non persistable)

Definition at line 122 of file RefVector.h.

122 {return refVector_.refCore().isTransient();}
contents_type refVector_
Definition: RefVector.h:146
RefCore const & refCore() const
Accessor for product ID and product getter.
Definition: RefVectorBase.h:37
bool isTransient() const
Definition: RefCore.h:64
template<typename C, typename T, typename F>
bool edm::RefVector< C, T, F >::operator! ( ) const
inline

Checks for null.

Definition at line 111 of file RefVector.h.

111 {return isNull();}
bool isNull() const
Checks for null.
Definition: RefVector.h:105
template<typename C, typename T, typename F>
RefVector< C, T, F > & edm::RefVector< C, T, F >::operator= ( RefVector< C, T, F > const &  rhs)
inline

Copy assignment.

Definition at line 159 of file RefVector.h.

References edm::RefVector< C, T, F >::swap(), and cond::rpcobtemp::temp.

159  {
160  RefVector<C, T, F> temp(rhs);
161  this->swap(temp);
162  return *this;
163  }
void swap(RefVector< C, T, F > &other)
Swap two vectors.
Definition: RefVector.h:152
template<typename C, typename T, typename F>
value_type const edm::RefVector< C, T, F >::operator[] ( size_type  idx) const
inline

Retrieve an element of the RefVector.

Definition at line 64 of file RefVector.h.

64  {
65  key_type const& key = refVector_.keys()[idx];
66  RefCore const& prod = refVector_.refCore();
67  return value_type(prod, key);
68  }
value_type::key_type key_type
Definition: RefVector.h:47
contents_type refVector_
Definition: RefVector.h:146
RefCore const & refCore() const
Accessor for product ID and product getter.
Definition: RefVectorBase.h:37
keys_type const & keys() const
Accessor for vector of keys and pointers.
Definition: RefVectorBase.h:40
list key
Definition: combine.py:13
refhelper::RefVectorTrait< C, T, F >::ref_type value_type
Definition: RefVector.h:42
template<typename C , typename T , typename F >
C const * edm::RefVector< C, T, F >::product ( ) const

Accessor for product collection.

Definition at line 269 of file RefVector.h.

References svgfig::template().

Referenced by TrackAssociatorByHits::associateRecoToSim(), TrackAssociatorByChi2::associateRecoToSim(), MuonAssociatorByHits::associateRecoToSimIndices(), TrackAssociatorByHits::associateSimToReco(), TrackAssociatorByChi2::associateSimToReco(), MuonAssociatorByHits::associateSimToRecoIndices(), edm::RefVector< C, T, F >::fillView(), and edm::Ref< C, T, F >::Ref().

269  {
270  return isNull() ? 0 : edm::template getProduct<C>(refVector_.refCore());
271  }
contents_type refVector_
Definition: RefVector.h:146
bool isNull() const
Checks for null.
Definition: RefVector.h:105
RefCore const & refCore() const
Accessor for product ID and product getter.
Definition: RefVectorBase.h:37
def template
Definition: svgfig.py:520
template<typename C, typename T, typename F>
EDProductGetter const* edm::RefVector< C, T, F >::productGetter ( ) const
inline

Accessor for product getter.

Definition at line 102 of file RefVector.h.

102 {return refVector_.refCore().productGetter();}
contents_type refVector_
Definition: RefVector.h:146
RefCore const & refCore() const
Accessor for product ID and product getter.
Definition: RefVectorBase.h:37
EDProductGetter const * productGetter() const
Definition: RefCore.h:47
template<typename C, typename T, typename F>
void edm::RefVector< C, T, F >::push_back ( value_type const &  ref)
inline

Add a Ref<C, T> to the RefVector.

Definition at line 60 of file RefVector.h.

Referenced by pat::TriggerEvent::acceptedAlgorithms(), pat::TriggerEvent::acceptedAlgorithmsGtl(), pat::TriggerEvent::acceptedConditions(), pat::TriggerEvent::acceptedFilters(), pat::TriggerEvent::acceptedPaths(), pat::TriggerEvent::acceptedPhysAlgorithms(), pat::TriggerEvent::acceptedPhysAlgorithmsGtl(), pat::TriggerEvent::acceptedTechAlgorithms(), pat::TriggerEvent::acceptedTechAlgorithmsGtl(), reco::TrackExtraBase::add(), reco::CastorTower::add(), reco::CastorCluster::add(), reco::GsfElectron::addAmbiguousGsfTrack(), reco::PhotonCore::addConversion(), reco::CompositeRefCandidate::addDaughter(), TrackingVertex::addDaughterTrack(), TrackingParticle::addDecayVertex(), reco::PhotonCore::addElectronPixelSeed(), reco::PFCandidate::addElementInBlock(), TrackingParticle::addGenParticle(), TrackingVertex::addGenVertex(), reco::CompositeRefCandidate::addMother(), TrackingVertex::addParentTrack(), pat::TriggerEvent::algorithmConditions(), pat::TriggerEvent::algorithmObjects(), pat::TriggerEvent::algorithmRefs(), RecoMuonValidator::analyze(), TrackIPTagPlotter::analyzeTag(), helper::SimpleJetTrackAssociator::associate(), JetTracksAssociationXtrpCalo::associateInputTracksToJet(), HPSPFRecoTauAlgorithm::associateIsolationCandidates(), MuonAssociatorByHits::associateMuons(), TrackAssociatorBase::associateRecoToSim(), TrackAssociatorBase::associateSimToReco(), helper::SimpleJetTrackAssociator::associateTransient(), CaloRecoTauAlgorithm::buildCaloTau(), HPSPFRecoTauAlgorithm::buildOneProng(), HPSPFRecoTauAlgorithm::buildOneProngStrip(), HPSPFRecoTauAlgorithm::buildOneProngTwoStrips(), PFRecoTauAlgorithm::buildPFTau(), PFRecoTauTagInfoAlgorithm::buildPFTauTagInfo(), HPSPFRecoTauAlgorithm::buildThreeProngs(), EcalHaloAlgo::Calculate(), CSCHaloAlgo::Calculate(), JetPlusTrackProducerAA::calculateBGtracksJet(), reco::CastorCluster::CastorCluster(), reco::CastorTower::CastorTower(), PFTauElementsOperators::computeInsideOutContents(), pat::TriggerEvent::conditionAlgorithms(), pat::TriggerEvent::conditionObjects(), pat::TriggerEvent::conditionRefs(), PFTauElementsOperators::copyCandRefsFilteredByPt(), JetPlusTrackCorrector::excludeJta(), pat::GenericParticle::fillInFrom(), PFTauViewRefSelector::filter(), FastElectronSeedProducer::filterClusters(), ElectronSeedProducer::filterClusters(), TauTagTools::filteredPFChargedHadrCands(), TauTagTools::filteredPFChargedHadrCandsByNumTrkHits(), TauTagTools::filteredPFGammaCands(), TauTagTools::filteredPFNeutrHadrCands(), TauTagTools::filteredTracks(), TauTagTools::filteredTracksByNumTrkHits(), pat::TriggerEvent::filterObjects(), pat::TriggerEvent::filterPaths(), pat::TriggerEvent::filterRefs(), CaloRecoTauTagInfoAlgorithm::filterTracksByQualityBit(), GenParticlesHelper::findDescendents(), GenParticlesHelper::findParticles(), GenParticlesHelper::findSisters(), reco::PFJet::getTrackRefs(), pat::Tau::isolationPFCands(), pat::Tau::isolationPFChargedHadrCands(), pat::Tau::isolationPFGammaCands(), pat::Tau::isolationPFNeutrHadrCands(), pat::Tau::isolationTracks(), MuonSegmentMatcher::matchDT(), JetPlusTrackCorrector::matchTracks(), PFCandidateStripMerger::mergeCandidates(), reco::tau::disc::notMainTrack(), pat::TriggerEvent::objectAlgorithms(), pat::TriggerEvent::objectConditions(), pat::TriggerEvent::objectFilters(), pat::TriggerEvent::objectPaths(), pat::TriggerEvent::objectRefs(), pat::TriggerEvent::objects(), ElementsInEllipse< reco::PFCandidate, reco::PFCandidateCollection >::operator()(), TauConeIsolationAlgo< T, C, M >::operator()(), ElementsInCone< math::XYZVector, DeltaR< math::XYZVector, math::XYZPoint >, std::pair< math::XYZPoint, float > >::operator()(), ElementsInAnnulus< math::XYZVector, DeltaR< math::XYZVector, math::XYZPoint >, Angle< math::XYZVector, math::XYZPoint >, std::pair< math::XYZPoint, float > >::operator()(), reco::tau::RecoTauPhotonFilter::operator()(), reco::tau::RecoTauTwoProngFilter::operator()(), JoinCaloTowerRefVectorsWithoutDuplicates::operator()(), pat::TriggerEvent::pathFilters(), pat::TriggerEvent::pathModules(), pat::TriggerEvent::pathObjects(), pat::TriggerEvent::pathRefs(), reco::PFTauTagInfo::PFCands(), PFTauElementsOperators::PFGammaCandsInOutEllipse(), reco::PFIsolatedTauTagInfo::PFIsolatedTauTagInfo(), reco::PFTauDecayMode::pfMasterClones(), pat::TriggerEvent::physAlgorithms(), JetTracksAssociationDRVertex::produce(), VZeroProducer::produce(), TrackIPProducer::produce(), JetTracksAssociationDRCalo::produce(), JetVetoedTracksAssociationDRVertex::produce(), CastorFastTowerProducer::produce(), CastorFastClusterProducer::produce(), PFDisplacedTrackerVertexProducer::produce(), CleanAndMergeProducer::produce(), PFNuclearProducer::produce(), PFTauViewRefMerger::produce(), PFRecoTauTagInfoProducer::produce(), PixelVertexProducer::produce(), CastorClusterProducer::produce(), SecondaryVertexProducer::produce(), JetPlusTrackCorrector::rebuildJta(), ConfigurableTertiaryTracksVertexFinder::reconstruct(), RecoTrackRefSelector::select(), reco::SecondaryVertexTagInfo::selectedTracks(), pat::Tau::signalPFCands(), pat::Tau::signalPFChargedHadrCands(), pat::Tau::signalPFGammaCands(), pat::Tau::signalPFNeutrHadrCands(), pat::Tau::signalTracks(), reco::TrackIPTagInfo::sortedTracks(), ConeIsolationAlgorithm::tag(), pat::TriggerEvent::techAlgorithms(), reco::IsolatedTauTagInfo::tracksInCone(), edm::OneToMany< JetC, reco::TrackCollection >::transientMap(), edm::OneToMany< JetC, reco::TrackCollection >::val(), and reco::SecondaryVertexTagInfo::vertexTracks().

61  {refVector_.pushBack(ref.refCore(), ref.key());}
contents_type refVector_
Definition: RefVector.h:146
void pushBack(RefCore const &product, KEY const &key)
Definition: RefVectorBase.h:48
template<typename C, typename T, typename F>
contents_type const& edm::RefVector< C, T, F >::refVector ( ) const
inline

Accessor for all data.

Definition at line 78 of file RefVector.h.

78 {return refVector_;}
contents_type refVector_
Definition: RefVector.h:146
template<typename C, typename T, typename F>
void edm::RefVector< C, T, F >::reserve ( size_type  n)
inline
template<typename C, typename T, typename F>
size_type edm::RefVector< C, T, F >::size ( void  ) const
inline

Size of the RefVector.

Definition at line 84 of file RefVector.h.

Referenced by GenParticlePruner::addDaughterRefs(), reco::PFCandidate::addElementInBlock(), GenParticlePruner::addMotherRefs(), reco::GsfElectron::ambiguousGsfTracksSize(), PhotonsWithConversionsAnalyzer::analyze(), HLTMonBTagIPSource::analyze(), HLTTauDQMTrkPlotter::analyze(), PhotonValidator::analyze(), L25TauAnalyzer::analyze(), ImpactParameterCalibration::analyze(), PhotonAnalyzer::analyze(), BeamHaloAnalyzer::analyze(), TrackIPTagPlotter::analyzeTag(), TrackAssociatorByHits::associateRecoToSim(), TrackAssociatorByPosition::associateRecoToSim(), TrackAssociatorByChi2::associateRecoToSim(), MuonAssociatorByHits::associateRecoToSimIndices(), TrackAssociatorByHits::associateSimToReco(), TrackAssociatorByPosition::associateSimToReco(), TrackAssociatorByChi2::associateSimToReco(), MuonAssociatorByHits::associateSimToRecoIndices(), PVPositionBuilder::average(), CaloRecoTauAlgorithm::buildCaloTau(), HPSPFRecoTauAlgorithm::buildOneProng(), HPSPFRecoTauAlgorithm::buildOneProngStrip(), HPSPFRecoTauAlgorithm::buildOneProngTwoStrips(), PFRecoTauAlgorithm::buildPFTau(), HPSPFRecoTauAlgorithm::buildPFTau(), HPSPFRecoTauAlgorithm::buildThreeProngs(), reco::TauMassTagInfo::calculateTrkP4(), reco::JPTJet::chargedMultiplicity(), PFTauElementsOperators::computeInsideOutContents(), JetPlusTrackCorrector::correctAA(), HPSPFRecoTauAlgorithm::createMergedLorentzVector(), reco::tau::disc::Dalitz2(), reco::PFTau::decayMode(), PFRecoTauDiscriminationByDeltaE::DeltaE(), CaloRecoTauDiscriminationByDeltaE::DeltaE(), reco::IsolatedTauTagInfo::discriminator(), PFTauElementsOperators::discriminatorByIsolPFCandsN(), PFTauElementsOperators::discriminatorByIsolPFChargedHadrCandsN(), PFTauElementsOperators::discriminatorByIsolPFGammaCandsN(), PFTauElementsOperators::discriminatorByIsolPFNeutrHadrCandsN(), TauElementsOperators::discriminatorByIsolTracksN(), reco::PFTau::dump(), JetPlusTrackCorrector::elecCorrection(), reco::JPTJet::elecMultiplicity(), pat::Jet::elecMultiplicity(), reco::PFCandidate::elementsInBlocks(), pat::Tau::embedIsolationPFCands(), pat::Tau::embedIsolationPFChargedHadrCands(), pat::Tau::embedIsolationPFGammaCands(), pat::Tau::embedIsolationPFNeutralHadrCands(), pat::Tau::embedIsolationTracks(), pat::Tau::embedSignalPFCands(), pat::Tau::embedSignalPFChargedHadrCands(), pat::Tau::embedSignalPFGammaCands(), pat::Tau::embedSignalPFNeutralHadrCands(), pat::Tau::embedSignalTracks(), pat::GenericParticle::embedTracks(), TrackClassifierByProxy< Collection >::evaluate(), VertexClassifierByProxy< reco::SecondaryVertexTagInfoCollection >::evaluate(), JetPlusTrackCorrector::excludeJta(), EwkMuTauHistManager::fillHistograms(), JPTJetAnalyzer::fillTrackHistograms(), edm::RefVector< C, T, F >::fillView(), FastElectronSeedProducer::filterClusters(), ElectronSeedProducer::filterClusters(), ElectronSeedProducer::filterSeeds(), DivisiveVertexFinder::findVertexes(), DivisiveVertexFinder::findVertexesAlt(), pat::Jet::genJet(), HLTMuonL2ToL1Map::getL1Keys(), reco::JetTrackMatch< JetC >::getTracks(), NuclearInteractionEDProducer::isInside(), reco::tau::disc::IsolationChargedAveragePtFraction(), PFTauQualityCutWrapper::isolationChargedObjects(), PFTauQualityCutWrapper::isolationGammaObjects(), HLTMuonL2ToL1Map::isTriggeredByL1(), reco::IsolatedTauTagInfo::leadingSignalTrack(), main(), reco::tau::disc::mainTrack(), JetPlusTrackCorrector::matchTracks(), PFCandidateStripMerger::mergeCandidates(), JetPlusTrackCorrector::muonCorrection(), reco::JPTJet::muonMultiplicity(), reco::tau::helpers::nCharged(), TrackingVertex::nDaughterTracks(), TrackingVertex::nGenVertices(), reco::tau::disc::notMainTrack(), TrackingVertex::nSourceTracks(), reco::CompositeRefCandidate::numberOfDaughters(), reco::EcalHaloData::NumberOfHaloSuperClusters(), reco::CSCHaloData::NumberOfHaloTracks(), reco::CompositeRefCandidate::numberOfMothers(), pat::GenericParticle::numberOfTracks(), CombinedSVComputer::operator()(), reco::tau::RecoTauElectronRejectionPlugin::operator()(), reco::tau::RecoTauTwoProngFilter::operator()(), operator<<(), reco::operator<<(), reco::tau::disc::OutlierN(), reco::tau::disc::OutlierNCharged(), JetPlusTrackCorrector::pionCorrection(), reco::JPTJet::print(), L25TauAnalyzer::printInfo(), reco::JPTJet::printJet(), PFTauElecRejectionBenchmark::process(), VZeroProducer::produce(), HLTTauProducer::produce(), CleanAndMergeProducer::produce(), TauGenJetProducer::produce(), RecoTauJetRegionProducer::produce(), PixelVertexProducer::produce(), RecoTauPiZeroProducer::produce(), RecoTauCleanerImpl< Prod >::produce(), PFRecoTauDecayModeDeterminator::produce(), reco::BeamHaloSummaryProducer::produce(), reco::TrackExtraBase::recHitsSize(), reco::CastorTower::rechitsSize(), PFRootEventManager::reconstructGenJets(), ElectronSeedGenerator::run(), FastElectronSeedGenerator::run(), reco::tau::disc::ScaledOpeningDeltaR(), reco::NuclearInteraction::seedsSize(), PFTauQualityCutWrapper::signalChargedObjects(), PFTauQualityCutWrapper::signalGammaObjects(), reco::CombinedTauTagInfo::signalTks_qsum(), RecoTrackRefSelector::size(), TauTagTools::sortRefVectorByPt(), CaloRecoTauDiscriminationByFlightPathSignificance::threeProngFlightPathSig(), CaloRecoTauDiscriminationByInvMass::threeProngInvMass(), reco::CastorCluster::towersSize(), reco::JetTracksAssociation::tracksP4(), VertexHistoryAnalyzer::vertexString(), TrackHistoryAnalyzer::vertexString(), and PVPositionBuilder::wtAverage().

84 {return refVector_.size();}
contents_type refVector_
Definition: RefVector.h:146
size_type size() const
Size of vector.
Definition: RefVectorBase.h:46
template<typename C, typename T, typename F>
void edm::RefVector< C, T, F >::swap ( RefVector< C, T, F > &  other)
inline

Member Data Documentation

template<typename C, typename T, typename F>
contents_type edm::RefVector< C, T, F >::refVector_
private