CMS 3D CMS Logo

reco::CompositePtrCandidate Class Reference

a reco::Candidate composed of daughters. More...

#include <DataFormats/Candidate/interface/CompositePtrCandidate.h>

Inheritance diagram for reco::CompositePtrCandidate:

reco::Candidate reco::Particle pat::Hemisphere reco::Jet pat::PATObject< reco::Jet > reco::BasicJet reco::CaloJet reco::GenJet reco::PFJet

List of all members.

Public Types

typedef std::vector< CandidatePtrdaughters
 collection of references to daughters
typedef std::vector< CandidatePtrmothers
 collection of references to daughters

Public Member Functions

void addDaughter (const CandidatePtr &)
 add a daughter via a reference
virtual iterator begin ()
 first daughter iterator
virtual const_iterator begin () const
 first daughter const_iterator
void clearDaughters ()
 clear daughter references
virtual CompositePtrCandidateclone () const
 returns a clone of the candidate
 CompositePtrCandidate (const Particle &p)
 constructor from a particle
 CompositePtrCandidate (Charge q, const PolarLorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values
 CompositePtrCandidate (Charge q, const LorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values
 CompositePtrCandidate ()
 default constructor
virtual Candidatedaughter (size_type)
 return daughter at a given position, i = 0, ... numberOfDaughters() - 1
virtual const Candidatedaughter (size_type) const
 return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode)
CandidatePtr daughterPtr (size_type i) const
 reference to daughter at given position
const daughtersdaughterPtrVector () const
 references to daughtes
virtual iterator end ()
 last daughter iterator
virtual const_iterator end () const
 last daughter const_iterator
virtual const Candidatemother (size_t i=0) const
 return pointer to mother
virtual size_t numberOfDaughters () const
 number of daughters
virtual size_t numberOfMothers () const
 number of mothers
virtual size_type numberOfSourceCandidatePtrs () const
 number of source candidates ( the candidates used to construct this Candidate).
virtual CandidatePtr sourceCandidatePtr (size_type i) const
 return a RefToBase to one of the source Candidates ( the candidates used to construct this Candidate).
virtual ~CompositePtrCandidate ()
 destructor

Private Types

typedef
candidate::const_iterator_imp_specific
< daughters
const_iterator_imp_specific
 const iterator implementation
typedef
candidate::iterator_imp_specific_dummy
< daughters
iterator_imp_specific
 iterator implementation

Private Member Functions

virtual bool overlap (const Candidate &) const
 check overlap with another candidate

Private Attributes

daughters dau
 collection of references to daughters


Detailed Description

a reco::Candidate composed of daughters.

The daughters has persistent references (edm::Ptr <...>) to reco::Candidate stored in a separate collection.

Author:
Luca Lista, INFN
Version:
Id
CompositePtrCandidate.h,v 1.4 2008/07/10 15:19:17 cbern Exp

Definition at line 20 of file CompositePtrCandidate.h.


Member Typedef Documentation

typedef candidate::const_iterator_imp_specific<daughters> reco::CompositePtrCandidate::const_iterator_imp_specific [private]

const iterator implementation

Definition at line 81 of file CompositePtrCandidate.h.

typedef std::vector<CandidatePtr> reco::CompositePtrCandidate::daughters

collection of references to daughters

Definition at line 23 of file CompositePtrCandidate.h.

typedef candidate::iterator_imp_specific_dummy<daughters> reco::CompositePtrCandidate::iterator_imp_specific [private]

iterator implementation

Definition at line 83 of file CompositePtrCandidate.h.

typedef std::vector<CandidatePtr> reco::CompositePtrCandidate::mothers

collection of references to daughters

Definition at line 25 of file CompositePtrCandidate.h.


Constructor & Destructor Documentation

reco::CompositePtrCandidate::CompositePtrCandidate (  )  [inline]

default constructor

Definition at line 27 of file CompositePtrCandidate.h.

Referenced by clone().

00027 : Candidate() { }

reco::CompositePtrCandidate::CompositePtrCandidate ( Charge  q,
const LorentzVector p4,
const Point vtx = Point( 0, 0, 0 ),
int  pdgId = 0,
int  status = 0,
bool  integerCharge = true 
) [inline]

constructor from values

Definition at line 29 of file CompositePtrCandidate.h.

00030                                                                                       :
00031       Candidate( q, p4, vtx, pdgId, status, integerCharge ) { }

reco::CompositePtrCandidate::CompositePtrCandidate ( Charge  q,
const PolarLorentzVector p4,
const Point vtx = Point( 0, 0, 0 ),
int  pdgId = 0,
int  status = 0,
bool  integerCharge = true 
) [inline]

constructor from values

Definition at line 33 of file CompositePtrCandidate.h.

00034                                                                                       :
00035       Candidate( q, p4, vtx, pdgId, status, integerCharge ) { }

reco::CompositePtrCandidate::CompositePtrCandidate ( const Particle p  )  [inline, explicit]

constructor from a particle

Definition at line 37 of file CompositePtrCandidate.h.

00037 : Candidate( p ) { }

CompositePtrCandidate::~CompositePtrCandidate (  )  [virtual]

destructor

Definition at line 7 of file CompositePtrCandidate.cc.

00007                                               { 
00008 }


Member Function Documentation

void reco::CompositePtrCandidate::addDaughter ( const CandidatePtr cand  )  [inline]

add a daughter via a reference

Definition at line 90 of file CompositePtrCandidate.h.

References dau.

Referenced by copyConstituents(), reco::Jet::Jet(), and cms::BasePilupSubtractionJetProducer::produce().

00090                                                                             { 
00091     dau.push_back( cand ); 
00092   }

Candidate::iterator CompositePtrCandidate::begin (  )  [virtual]

first daughter iterator

Implements reco::Candidate.

Definition at line 22 of file CompositePtrCandidate.cc.

00022                                                { 
00023   return iterator( new iterator_imp_specific ); 
00024 }

Candidate::const_iterator CompositePtrCandidate::begin (  )  const [virtual]

first daughter const_iterator

Implements reco::Candidate.

Definition at line 14 of file CompositePtrCandidate.cc.

References dau.

Referenced by reco::GenJet::getGenConstituent().

00014                                                            { 
00015   return const_iterator( new const_iterator_imp_specific( dau.begin() ) ); 
00016 }

void reco::CompositePtrCandidate::clearDaughters (  )  [inline]

clear daughter references

Definition at line 61 of file CompositePtrCandidate.h.

References dau.

00061 { dau.clear(); }

CompositePtrCandidate * CompositePtrCandidate::clone ( void   )  const [virtual]

returns a clone of the candidate

Implements reco::Candidate.

Reimplemented in reco::BasicJet, reco::CaloJet, reco::GenJet, and reco::PFJet.

Definition at line 10 of file CompositePtrCandidate.cc.

References CompositePtrCandidate().

Referenced by ChainedJetCorrector::correction().

00010                                                            { 
00011   return new CompositePtrCandidate( * this ); 
00012 }

Candidate * CompositePtrCandidate::daughter ( size_type  i  )  [virtual]

return daughter at a given position, i = 0, ... numberOfDaughters() - 1

Definition at line 38 of file CompositePtrCandidate.cc.

00038                                                          { 
00039   return 0;
00040 }

const Candidate * CompositePtrCandidate::daughter ( size_type  i  )  const [virtual]

return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode)

Definition at line 30 of file CompositePtrCandidate.cc.

References dau, and numberOfDaughters().

Referenced by pat::Jet::daughter(), reco::Jet::getJetConstituentsQuick(), and reco::PFJet::getPFConstituent().

00030                                                                      { 
00031   return ( i >= 0 && i < numberOfDaughters() ) ? & * dau[ i ] : 0;
00032 }

CandidatePtr reco::CompositePtrCandidate::daughterPtr ( size_type  i  )  const [inline]

reference to daughter at given position

Definition at line 63 of file CompositePtrCandidate.h.

References dau.

Referenced by reco::CaloJet::getCaloConstituent(), reco::Jet::getJetConstituents(), reco::Jet::print(), and sourceCandidatePtr().

00063 { return dau[ i ]; }

const daughters& reco::CompositePtrCandidate::daughterPtrVector (  )  const [inline]

references to daughtes

Definition at line 65 of file CompositePtrCandidate.h.

References dau.

00065 { return dau; }

Candidate::iterator CompositePtrCandidate::end (  )  [virtual]

last daughter iterator

Implements reco::Candidate.

Definition at line 26 of file CompositePtrCandidate.cc.

00026                                              { 
00027   return iterator( new iterator_imp_specific ); 
00028 }    

Candidate::const_iterator CompositePtrCandidate::end (  )  const [virtual]

last daughter const_iterator

Implements reco::Candidate.

Definition at line 18 of file CompositePtrCandidate.cc.

References dau.

Referenced by reco::GenJet::getGenConstituent().

00018                                                          { 
00019   return const_iterator( new const_iterator_imp_specific( dau.end() ) ); 
00020 }    

virtual const Candidate* reco::CompositePtrCandidate::mother ( size_t  i = 0  )  const [virtual]

return pointer to mother

Implements reco::Candidate.

size_t CompositePtrCandidate::numberOfDaughters (  )  const [virtual]

number of daughters

Implements reco::Candidate.

Definition at line 42 of file CompositePtrCandidate.cc.

References dau.

Referenced by daughter(), reco::CaloJet::getCaloConstituents(), reco::GenJet::getGenConstituents(), reco::Jet::getJetConstituents(), reco::Jet::getJetConstituentsQuick(), reco::PFJet::getPFConstituents(), reco::PFJet::getTrackRefs(), reco::Jet::nConstituents(), pat::Jet::numberOfDaughters(), numberOfSourceCandidatePtrs(), and reco::Jet::print().

00042                                                       { 
00043   return dau.size(); 
00044 }

size_t CompositePtrCandidate::numberOfMothers (  )  const [virtual]

number of mothers

Implements reco::Candidate.

Definition at line 46 of file CompositePtrCandidate.cc.

00046                                                     { 
00047   return 0;
00048 }

size_t CompositePtrCandidate::numberOfSourceCandidatePtrs (  )  const [virtual]

number of source candidates ( the candidates used to construct this Candidate).

for CompositeRefBaseCandidates, the source candidates are the daughters.

Reimplemented from reco::Candidate.

Definition at line 50 of file CompositePtrCandidate.cc.

References numberOfDaughters().

00050                                                                 { 
00051   return numberOfDaughters(); 
00052 }

bool CompositePtrCandidate::overlap ( const Candidate c2  )  const [private, virtual]

check overlap with another candidate

Implements reco::Candidate.

Reimplemented in reco::BasicJet, reco::CaloJet, reco::GenJet, and reco::PFJet.

Definition at line 58 of file CompositePtrCandidate.cc.

References Exception.

00058                                                                 {
00059   throw cms::Exception( "Error" ) << "can't check overlap internally for CompositePtrCanddate";
00060 }

CandidatePtr CompositePtrCandidate::sourceCandidatePtr ( size_type  i  )  const [virtual]

return a RefToBase to one of the source Candidates ( the candidates used to construct this Candidate).

for CompositeRefBaseCandidates, the source candidates are the daughters.

Definition at line 54 of file CompositePtrCandidate.cc.

References daughterPtr().

00054                                                                           {
00055   return daughterPtr(i);
00056 }


Member Data Documentation

daughters reco::CompositePtrCandidate::dau [private]

collection of references to daughters

Definition at line 85 of file CompositePtrCandidate.h.

Referenced by addDaughter(), begin(), clearDaughters(), daughter(), daughterPtr(), daughterPtrVector(), end(), reco::CaloJet::getCaloConstituent(), and numberOfDaughters().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:51:01 2009 for CMSSW by  doxygen 1.5.4