CMS 3D CMS Logo

Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Static Private Attributes | Friends

reco::LeafRefCandidateT< T > Class Template Reference

#include <LeafRefCandidateT.h>

Inheritance diagram for reco::LeafRefCandidateT< T >:
reco::Candidate reco::RecoChargedRefCandidate reco::RecoPFClusterRefCandidate

List of all members.

Classes

struct  GCC11_FINAL

Public Types

typedef int Charge
 electric charge type
typedef CandidateCollection daughters
 collection of daughter candidates
typedef unsigned int index
 index type
typedef math::XYZTLorentzVector LorentzVector
 Lorentz vector.
typedef math::XYZPoint Point
 point in the space
typedef
math::PtEtaPhiMLorentzVector 
PolarLorentzVector
 Lorentz vector.
typedef math::XYZVector Vector
 point in the space

Public Member Functions

virtual const_iterator begin () const
 first daughter const_iterator
virtual iterator begin ()
 first daughter iterator
template<typename S >
daughter_iterator< S >::type beginFilter (const S &s) const
virtual Vector boostToCM () const GCC11_FINAL
virtual int charge () const GCC11_FINAL
 electric charge
virtual LeafRefCandidateT< T > * clone () const GCC11_FINAL
 returns a clone of the Candidate object
virtual const Candidatedaughter (size_type) const GCC11_FINAL
 return daughter at a given position (throws an exception)
virtual Candidatedaughter (size_type) GCC11_FINAL
 return daughter at a given position (throws an exception)
virtual Candidatedaughter (const std::string &s) GCC11_FINAL
 return daughter with a specified role name
virtual const Candidatedaughter (const std::string &s) const GCC11_FINAL
 return daughter with a specified role name
virtual const_iterator end () const
 last daughter const_iterator
virtual iterator end ()
 last daughter iterator
template<typename S >
daughter_iterator< S >::type endFilter (const S &s) const
virtual double energy () const GCC11_FINAL
 energy
virtual double et () const GCC11_FINAL
 transverse energy
virtual float eta () const GCC11_FINAL
 momentum pseudorapidity
template<typename C >
get () const
 get a component
template<typename C , typename Tag >
get () const
 get a component
template<typename C >
get (size_type i) const
 get a component
template<typename C , typename Tag >
get (size_type i) const
 get a component
virtual bool hasMasterClone () const GCC11_FINAL
 This only happens if the concrete Candidate type is ShallowCloneCandidate.
virtual bool hasMasterClonePtr () const GCC11_FINAL
virtual bool isCaloMuon () const GCC11_FINAL
virtual bool isConvertedPhoton () const GCC11_FINAL
virtual bool isElectron () const GCC11_FINAL
virtual bool isGlobalMuon () const GCC11_FINAL
virtual bool isJet () const GCC11_FINAL
virtual bool isMuon () const GCC11_FINAL
virtual bool isPhoton () const GCC11_FINAL
virtual bool isStandAloneMuon () const GCC11_FINAL
virtual bool isTrackerMuon () const GCC11_FINAL
 LeafRefCandidateT (const T &c, float m)
 LeafRefCandidateT ()
 default constructor
virtual float mass () const GCC11_FINAL
 mass
virtual float massSqr () const GCC11_FINAL
 mass squared
virtual const CandidateBaseRefmasterClone () const GCC11_FINAL
virtual const CandidatePtrmasterClonePtr () const GCC11_FINAL
template<typename Ref >
Ref masterRef () const
 cast master clone reference to a concrete type
virtual Vector momentum () const GCC11_FINAL
 spatial momentum vector
virtual const Candidatemother (size_type) const GCC11_FINAL
 return mother at a given position (throws an exception)
virtual double mt () const GCC11_FINAL
 transverse mass
virtual double mtSqr () const GCC11_FINAL
 transverse mass squared
template<typename C >
size_type numberOf () const
 number of components
template<typename C , typename Tag >
size_type numberOf () const
 number of components
virtual size_t numberOfDaughters () const GCC11_FINAL
 number of daughters
virtual size_t numberOfMothers () const GCC11_FINAL
 number of mothers
virtual size_t numberOfSourceCandidatePtrs () const GCC11_FINAL
virtual double p () const GCC11_FINAL
 magnitude of momentum vector
virtual const LorentzVectorp4 () const GCC11_FINAL
 four-momentum Lorentz vector
virtual int pdgId () const GCC11_FINAL
 pdg ID: dummy for now
virtual float phi () const GCC11_FINAL
 momentum azimuthal angle
virtual const PolarLorentzVectorpolarP4 () const GCC11_FINAL
 four-momentum Lorentz vector
virtual float pt () const GCC11_FINAL
 transverse momentum
virtual double px () const GCC11_FINAL
 x coordinate of momentum vector
virtual double py () const GCC11_FINAL
 y coordinate of momentum vector
virtual double pz () const GCC11_FINAL
 z coordinate of momentum vector
virtual double rapidity () const GCC11_FINAL
 rapidity
virtual void setMass (double m) GCC11_FINAL
 set particle mass
virtual CandidatePtr sourceCandidatePtr (size_type i) const GCC11_FINAL
virtual double theta () const GCC11_FINAL
 momentum polar angle
virtual const Pointvertex () const GCC11_FINAL
 vertex position
virtual double vx () const GCC11_FINAL
 x coordinate of vertex position
virtual double vy () const GCC11_FINAL
 y coordinate of vertex position
virtual double vz () const GCC11_FINAL
 z coordinate of vertex position
virtual double y () const GCC11_FINAL
 rapidity
virtual ~LeafRefCandidateT ()
 destructor

Protected Member Functions

void cacheCartesian () const
 set internal cache
void cachePolar () const
 set internal cache
void clearCache () const
 clear internal cache
virtual bool overlap (const Candidate &) const
 check overlap with another Candidate
virtual bool overlap (const LeafRefCandidateT &) const

Protected Attributes

edm::BoolCache cacheCartesianFixed_
edm::BoolCache cachePolarFixed_
 has cache been set?
float mass_
 mass hypothesis
LorentzVector p4Cartesian_
 internal cache for p4
PolarLorentzVector p4Polar_
 internal cache for p4
T ref_

Private Types

typedef
candidate::const_iterator_imp_specific
< daughters
const_iterator_imp_specific
typedef
candidate::iterator_imp_specific
< daughters
iterator_imp_specific

Private Member Functions

virtual void fillVertexCovariance (CovarianceMatrix &v) const GCC11_FINAL
virtual bool longLived () const GCC11_FINAL
 is long lived?
virtual bool massConstraint () const GCC11_FINAL
 do mass constraint?
virtual void setCharge (Charge q) GCC11_FINAL
virtual void setLongLived () GCC11_FINAL
 set long lived flag
virtual void setMassConstraint () GCC11_FINAL
 set mass constraint flag
virtual void setP4 (const LorentzVector &p4) GCC11_FINAL
 set 4-momentum
virtual void setP4 (const PolarLorentzVector &p4) GCC11_FINAL
 set 4-momentum
virtual void setPdgId (int pdgId) GCC11_FINAL
virtual void setPz (double pz) GCC11_FINAL
virtual void setStatus (int status) GCC11_FINAL
 set status word
virtual void setThreeCharge (Charge qx3) GCC11_FINAL
 set electric charge
virtual void setVertex (const Point &vertex) GCC11_FINAL
 set vertex
virtual int status () const GCC11_FINAL
 status word
virtual int threeCharge () const GCC11_FINAL
 electric charge
virtual double vertexChi2 () const GCC11_FINAL
 chi-squares
virtual double vertexCovariance (int i, int j) const GCC11_FINAL
 (i, j)-th element of error matrix, i, j = 0, ... 2
CovarianceMatrix vertexCovariance () const GCC11_FINAL
 fill SMatrix
virtual double vertexNdof () const GCC11_FINAL
virtual double vertexNormalizedChi2 () const GCC11_FINAL
 chi-squared divided by n.d.o.f.

Static Private Attributes

static const unsigned int longLivedTag
static const unsigned int massConstraintTag

Friends

class ::OverlapChecker
struct component
class ShallowCloneCandidate
class ShallowClonePtrCandidate

Detailed Description

template<class T>
class reco::LeafRefCandidateT< T >

particle candidate with no constituent nor daughters, that takes the 3-vector from a constituent T (where T satisfies T->pt(), etc, like a TrackRef), and the mass is set

Author:
Luca Lista, INFN

Definition at line 21 of file LeafRefCandidateT.h.


Member Typedef Documentation

template<class T>
typedef int reco::LeafRefCandidateT< T >::Charge

electric charge type

Reimplemented from reco::Candidate.

Definition at line 26 of file LeafRefCandidateT.h.

Definition at line 267 of file LeafRefCandidateT.h.

template<class T>
typedef CandidateCollection reco::LeafRefCandidateT< T >::daughters

collection of daughter candidates

Definition at line 24 of file LeafRefCandidateT.h.

template<class T>
typedef unsigned int reco::LeafRefCandidateT< T >::index

index type

Reimplemented from reco::Candidate.

Definition at line 36 of file LeafRefCandidateT.h.

Definition at line 269 of file LeafRefCandidateT.h.

Lorentz vector.

Reimplemented from reco::Candidate.

Definition at line 28 of file LeafRefCandidateT.h.

template<class T>
typedef math::XYZPoint reco::LeafRefCandidateT< T >::Point

point in the space

Reimplemented from reco::Candidate.

Definition at line 32 of file LeafRefCandidateT.h.

Lorentz vector.

Reimplemented from reco::Candidate.

Definition at line 30 of file LeafRefCandidateT.h.

template<class T>
typedef math::XYZVector reco::LeafRefCandidateT< T >::Vector

point in the space

Reimplemented from reco::Candidate.

Definition at line 34 of file LeafRefCandidateT.h.


Constructor & Destructor Documentation

template<class T>
reco::LeafRefCandidateT< T >::LeafRefCandidateT ( ) [inline]

default constructor

Definition at line 39 of file LeafRefCandidateT.h.

                        : 
      mass_(0), 
      cachePolarFixed_( false ) { }
template<class T>
reco::LeafRefCandidateT< T >::LeafRefCandidateT ( const T c,
float  m 
) [inline, explicit]

Definition at line 43 of file LeafRefCandidateT.h.

                                                      :
      ref_(c),
      mass_( m ),
      cachePolarFixed_( false ), cacheCartesianFixed_( false ) {}
template<class T>
virtual reco::LeafRefCandidateT< T >::~LeafRefCandidateT ( ) [inline, virtual]

destructor

Definition at line 49 of file LeafRefCandidateT.h.

{}

Member Function Documentation

template<class T >
Candidate::const_iterator reco::LeafRefCandidateT< T >::begin ( void  ) const [virtual]

first daughter const_iterator

Implements reco::Candidate.

Definition at line 310 of file LeafRefCandidateT.h.

Referenced by reco::LeafRefCandidateT< T >::beginFilter().

template<class T >
Candidate::iterator reco::LeafRefCandidateT< T >::begin ( void  ) [virtual]

first daughter iterator

Implements reco::Candidate.

Definition at line 320 of file LeafRefCandidateT.h.

                                                  { 
    return iterator( new iterator_imp_specific ); 
  }
template<class T>
template<typename S >
daughter_iterator<S>::type reco::LeafRefCandidateT< T >::beginFilter ( const S &  s) const [inline]

Reimplemented from reco::Candidate.

Definition at line 208 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::begin(), and reco::LeafRefCandidateT< T >::end().

                                                                         {
      return boost::make_filter_iterator(s, begin(), end());
    }
template<class T>
virtual Vector reco::LeafRefCandidateT< T >::boostToCM ( ) const [inline, virtual]

boost vector to boost a Lorentz vector to the particle center of mass system

Implements reco::Candidate.

Definition at line 95 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::cacheCartesian(), and reco::LeafRefCandidateT< T >::p4Cartesian_.

{ cacheCartesian(); return p4Cartesian_.BoostToCM(); }
template<class T>
void reco::LeafRefCandidateT< T >::cacheCartesian ( ) const [inline, protected]
template<class T>
void reco::LeafRefCandidateT< T >::cachePolar ( ) const [inline, protected]
template<class T>
virtual int reco::LeafRefCandidateT< T >::charge ( ) const [inline, virtual]

electric charge

Implements reco::Candidate.

Definition at line 83 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::ref_.

{ return ref_->charge(); }
template<class T>
void reco::LeafRefCandidateT< T >::clearCache ( ) const [inline, protected]
template<class T>
virtual LeafRefCandidateT<T>* reco::LeafRefCandidateT< T >::clone ( void  ) const [inline, virtual]

returns a clone of the Candidate object

Implements reco::Candidate.

Definition at line 146 of file LeafRefCandidateT.h.

                                                              {
      return new LeafRefCandidateT<T>( *this );
    }
template<class T>
virtual Candidate* reco::LeafRefCandidateT< T >::daughter ( size_type  ) [inline, virtual]

return daughter at a given position (throws an exception)

Implements reco::Candidate.

Definition at line 67 of file LeafRefCandidateT.h.

{ return 0; }
template<class T>
virtual Candidate* reco::LeafRefCandidateT< T >::daughter ( const std::string &  s) [inline, virtual]

return daughter with a specified role name

Implements reco::Candidate.

Definition at line 69 of file LeafRefCandidateT.h.

{ return 0; }
template<class T>
virtual const Candidate* reco::LeafRefCandidateT< T >::daughter ( const std::string &  s) const [inline, virtual]

return daughter with a specified role name

Implements reco::Candidate.

Definition at line 71 of file LeafRefCandidateT.h.

{ return 0; }
template<class T>
virtual const Candidate* reco::LeafRefCandidateT< T >::daughter ( size_type  ) const [inline, virtual]

return daughter at a given position (throws an exception)

Implements reco::Candidate.

Definition at line 61 of file LeafRefCandidateT.h.

{ return 0; }
template<class T >
Candidate::const_iterator reco::LeafRefCandidateT< T >::end ( void  ) const [virtual]

last daughter const_iterator

Implements reco::Candidate.

Definition at line 315 of file LeafRefCandidateT.h.

Referenced by reco::LeafRefCandidateT< T >::beginFilter(), and reco::LeafRefCandidateT< T >::endFilter().

template<class T >
Candidate::iterator reco::LeafRefCandidateT< T >::end ( void  ) [virtual]

last daughter iterator

Implements reco::Candidate.

Definition at line 325 of file LeafRefCandidateT.h.

                                                { 
    return iterator( new iterator_imp_specific ); 
  }
template<class T>
template<typename S >
daughter_iterator<S>::type reco::LeafRefCandidateT< T >::endFilter ( const S &  s) const [inline]

Reimplemented from reco::Candidate.

Definition at line 212 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::end().

                                                                       {
      return boost::make_filter_iterator(s, end(), end());
    }
template<class T>
virtual double reco::LeafRefCandidateT< T >::energy ( ) const [inline, virtual]
template<class T>
virtual double reco::LeafRefCandidateT< T >::et ( ) const [inline, virtual]

transverse energy

Implements reco::Candidate.

Definition at line 101 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::cachePolar(), and reco::LeafRefCandidateT< T >::p4Polar_.

{ cachePolar(); return p4Polar_.Et(); }
template<class T>
virtual float reco::LeafRefCandidateT< T >::eta ( ) const [inline, virtual]

momentum pseudorapidity

Implements reco::Candidate.

Definition at line 123 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::ref_.

{ return ref_->eta(); }
template<class T>
virtual void reco::LeafRefCandidateT< T >::fillVertexCovariance ( CovarianceMatrix v) const [inline, private, virtual]

Implements reco::Candidate.

Definition at line 303 of file LeafRefCandidateT.h.

{ return ; }
template<class T>
template<typename C >
C reco::LeafRefCandidateT< T >::get ( void  ) const [inline]

get a component

Reimplemented from reco::Candidate.

Definition at line 172 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::hasMasterClone(), and reco::LeafRefCandidateT< T >::masterClone().

                                       {
      if ( hasMasterClone() ) return masterClone()->template get<C>();
      else return reco::get<C>( * this );
    }
template<class T>
template<typename C , typename Tag >
C reco::LeafRefCandidateT< T >::get ( void  ) const [inline]

get a component

Reimplemented from reco::Candidate.

Definition at line 177 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::hasMasterClone(), and reco::LeafRefCandidateT< T >::masterClone().

                                                     {
      if ( hasMasterClone() ) return masterClone()->template get<C, Tag>();
      else return reco::get<C, Tag>( * this );
    }
template<class T>
template<typename C >
C reco::LeafRefCandidateT< T >::get ( size_type  i) const [inline]

get a component

Reimplemented from reco::Candidate.

Definition at line 182 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::hasMasterClone(), i, and reco::LeafRefCandidateT< T >::masterClone().

                                                    {
      if ( hasMasterClone() ) return masterClone()->template get<C>( i );
      else return reco::get<C>( * this, i );
    }
template<class T>
template<typename C , typename Tag >
C reco::LeafRefCandidateT< T >::get ( size_type  i) const [inline]

get a component

Reimplemented from reco::Candidate.

Definition at line 187 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::hasMasterClone(), i, and reco::LeafRefCandidateT< T >::masterClone().

                                                                  {
      if ( hasMasterClone() ) return masterClone()->template get<C, Tag>( i );
      else return reco::get<C, Tag>( * this, i );
    }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::hasMasterClone ( ) const [inline, virtual]

This only happens if the concrete Candidate type is ShallowCloneCandidate.

Implements reco::Candidate.

Definition at line 152 of file LeafRefCandidateT.h.

Referenced by reco::LeafRefCandidateT< T >::get(), and reco::LeafRefCandidateT< T >::numberOf().

{ return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::hasMasterClonePtr ( ) const [inline, virtual]

returns true if this candidate has a ptr to a master clone. This only happens if the concrete Candidate type is ShallowClonePtrCandidate

Implements reco::Candidate.

Definition at line 160 of file LeafRefCandidateT.h.

{ return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::isCaloMuon ( ) const [inline, virtual]

Implements reco::Candidate.

Definition at line 222 of file LeafRefCandidateT.h.

{ return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::isConvertedPhoton ( ) const [inline, virtual]

Implements reco::Candidate.

Definition at line 224 of file LeafRefCandidateT.h.

{ return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::isElectron ( ) const [inline, virtual]

Implements reco::Candidate.

Definition at line 217 of file LeafRefCandidateT.h.

{ return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::isGlobalMuon ( ) const [inline, virtual]

Implements reco::Candidate.

Definition at line 220 of file LeafRefCandidateT.h.

{ return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::isJet ( ) const [inline, virtual]

Implements reco::Candidate.

Definition at line 225 of file LeafRefCandidateT.h.

{ return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::isMuon ( ) const [inline, virtual]

Implements reco::Candidate.

Definition at line 218 of file LeafRefCandidateT.h.

{ return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::isPhoton ( ) const [inline, virtual]

Implements reco::Candidate.

Definition at line 223 of file LeafRefCandidateT.h.

{ return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::isStandAloneMuon ( ) const [inline, virtual]

Implements reco::Candidate.

Definition at line 219 of file LeafRefCandidateT.h.

{ return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::isTrackerMuon ( ) const [inline, virtual]

Implements reco::Candidate.

Definition at line 221 of file LeafRefCandidateT.h.

{ return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::longLived ( ) const [inline, private, virtual]

is long lived?

Implements reco::Candidate.

Definition at line 294 of file LeafRefCandidateT.h.

{ return false; }
template<class T>
virtual float reco::LeafRefCandidateT< T >::mass ( ) const [inline, virtual]

mass

Implements reco::Candidate.

Definition at line 103 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::mass_.

{ return mass_; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::massConstraint ( ) const [inline, private, virtual]

do mass constraint?

Implements reco::Candidate.

Definition at line 297 of file LeafRefCandidateT.h.

{ return false; }  
template<class T>
virtual float reco::LeafRefCandidateT< T >::massSqr ( ) const [inline, virtual]

mass squared

Implements reco::Candidate.

Definition at line 105 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::mass_.

{ return mass_ * mass_; }
template<class T>
virtual const CandidateBaseRef& reco::LeafRefCandidateT< T >::masterClone ( ) const [inline, virtual]

returns ptr to master clone, if existing. Throws an exception unless the concrete Candidate type is ShallowCloneCandidate

Implements reco::Candidate.

Definition at line 155 of file LeafRefCandidateT.h.

Referenced by reco::LeafRefCandidateT< T >::get(), and reco::LeafRefCandidateT< T >::numberOf().

                                                                      { 
      static CandidateBaseRef dummyRef; return dummyRef; 
    }
template<class T>
virtual const CandidatePtr& reco::LeafRefCandidateT< T >::masterClonePtr ( ) const [inline, virtual]

returns ptr to master clone, if existing. Throws an exception unless the concrete Candidate type is ShallowClonePtrCandidate

Implements reco::Candidate.

Definition at line 163 of file LeafRefCandidateT.h.

                                                                     { 
      static CandidatePtr dummyPtr; return dummyPtr; 
    }
template<class T>
template<typename Ref >
Ref reco::LeafRefCandidateT< T >::masterRef ( ) const [inline]

cast master clone reference to a concrete type

Reimplemented from reco::Candidate.

Definition at line 169 of file LeafRefCandidateT.h.

{ Ref dummyRef; return dummyRef; }
template<class T>
virtual Vector reco::LeafRefCandidateT< T >::momentum ( ) const [inline, virtual]

spatial momentum vector

Implements reco::Candidate.

Definition at line 92 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::cacheCartesian(), and reco::LeafRefCandidateT< T >::p4Cartesian_.

{ cacheCartesian(); return p4Cartesian_.Vect(); }
template<class T>
virtual const Candidate* reco::LeafRefCandidateT< T >::mother ( size_type  ) const [inline, virtual]

return mother at a given position (throws an exception)

Implements reco::Candidate.

Definition at line 65 of file LeafRefCandidateT.h.

{ return 0; }
template<class T>
virtual double reco::LeafRefCandidateT< T >::mt ( ) const [inline, virtual]

transverse mass

Implements reco::Candidate.

Definition at line 107 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::cachePolar(), and reco::LeafRefCandidateT< T >::p4Polar_.

{ cachePolar(); return p4Polar_.Mt(); }
template<class T>
virtual double reco::LeafRefCandidateT< T >::mtSqr ( ) const [inline, virtual]

transverse mass squared

Implements reco::Candidate.

Definition at line 109 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::cachePolar(), and reco::LeafRefCandidateT< T >::p4Polar_.

{ cachePolar(); return p4Polar_.Mt2(); }
template<class T>
template<typename C >
size_type reco::LeafRefCandidateT< T >::numberOf ( ) const [inline]

number of components

Reimplemented from reco::Candidate.

Definition at line 192 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::hasMasterClone(), and reco::LeafRefCandidateT< T >::masterClone().

                                                    {
      if ( hasMasterClone() ) return masterClone()->template numberOf<C>();
      else return reco::numberOf<C>( * this );
    }
template<class T>
template<typename C , typename Tag >
size_type reco::LeafRefCandidateT< T >::numberOf ( ) const [inline]

number of components

Reimplemented from reco::Candidate.

Definition at line 197 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::hasMasterClone(), and reco::LeafRefCandidateT< T >::masterClone().

                                                                  {
      if ( hasMasterClone() ) return masterClone()->template numberOf<C, Tag>();
      else return reco::numberOf<C, Tag>( * this );
    }
template<class T>
virtual size_t reco::LeafRefCandidateT< T >::numberOfDaughters ( ) const [inline, virtual]

number of daughters

Implements reco::Candidate.

Definition at line 59 of file LeafRefCandidateT.h.

{ return 0; }
template<class T>
virtual size_t reco::LeafRefCandidateT< T >::numberOfMothers ( ) const [inline, virtual]

number of mothers

Implements reco::Candidate.

Definition at line 63 of file LeafRefCandidateT.h.

{ return 0; }
template<class T>
virtual size_t reco::LeafRefCandidateT< T >::numberOfSourceCandidatePtrs ( ) const [inline, virtual]

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

Implements reco::Candidate.

Definition at line 74 of file LeafRefCandidateT.h.

{ return 0;}
template<class T >
bool reco::LeafRefCandidateT< T >::overlap ( const Candidate o) const [protected, virtual]

check overlap with another Candidate

Implements reco::Candidate.

Definition at line 331 of file LeafRefCandidateT.h.

References reco::Candidate::charge(), DeDxDiscriminatorTools::charge(), reco::Candidate::p4(), p4, and reco::Candidate::vertex().

                                                                 { 
    return  p4() == o.p4() && vertex() == o.vertex() && charge() == o.charge();
  }
template<class T >
bool reco::LeafRefCandidateT< T >::overlap ( const LeafRefCandidateT< T > &  o) const [protected, virtual]

Definition at line 337 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::ref_.

                                                                          { 
    return  ref_ == o.ref_;
  }
template<class T>
virtual double reco::LeafRefCandidateT< T >::p ( ) const [inline, virtual]

magnitude of momentum vector

Implements reco::Candidate.

Definition at line 97 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::cacheCartesian(), and reco::LeafRefCandidateT< T >::p4Cartesian_.

{ cacheCartesian(); return p4Cartesian_.P(); }
template<class T>
virtual const LorentzVector& reco::LeafRefCandidateT< T >::p4 ( ) const [inline, virtual]

four-momentum Lorentz vector

Implements reco::Candidate.

Definition at line 88 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::cacheCartesian(), and reco::LeafRefCandidateT< T >::p4Cartesian_.

template<class T>
virtual int reco::LeafRefCandidateT< T >::pdgId ( ) const [inline, virtual]

pdg ID: dummy for now

Implements reco::Candidate.

Definition at line 85 of file LeafRefCandidateT.h.

{ return 0; }
template<class T>
virtual float reco::LeafRefCandidateT< T >::phi ( ) const [inline, virtual]

momentum azimuthal angle

Implements reco::Candidate.

Definition at line 119 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::ref_.

{ return ref_->phi(); }
template<class T>
virtual const PolarLorentzVector& reco::LeafRefCandidateT< T >::polarP4 ( ) const [inline, virtual]

four-momentum Lorentz vector

Implements reco::Candidate.

Definition at line 90 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::cachePolar(), and reco::LeafRefCandidateT< T >::p4Polar_.

{ cachePolar(); return p4Polar_; }
template<class T>
virtual float reco::LeafRefCandidateT< T >::pt ( ) const [inline, virtual]

transverse momentum

Implements reco::Candidate.

Definition at line 117 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::ref_.

{ return ref_->pt(); } 
template<class T>
virtual double reco::LeafRefCandidateT< T >::px ( ) const [inline, virtual]

x coordinate of momentum vector

Implements reco::Candidate.

Definition at line 111 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::cacheCartesian(), and reco::LeafRefCandidateT< T >::p4Cartesian_.

{ cacheCartesian(); return p4Cartesian_.Px(); }
template<class T>
virtual double reco::LeafRefCandidateT< T >::py ( ) const [inline, virtual]

y coordinate of momentum vector

Implements reco::Candidate.

Definition at line 113 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::cacheCartesian(), and reco::LeafRefCandidateT< T >::p4Cartesian_.

{ cacheCartesian(); return p4Cartesian_.Py(); }
template<class T>
virtual double reco::LeafRefCandidateT< T >::pz ( ) const [inline, virtual]

z coordinate of momentum vector

Implements reco::Candidate.

Definition at line 115 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::cacheCartesian(), and reco::LeafRefCandidateT< T >::p4Cartesian_.

{ cacheCartesian(); return p4Cartesian_.Pz(); }
template<class T>
virtual double reco::LeafRefCandidateT< T >::rapidity ( ) const [inline, virtual]

rapidity

Implements reco::Candidate.

Definition at line 125 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::cachePolar(), and reco::LeafRefCandidateT< T >::p4Polar_.

Referenced by reco::LeafRefCandidateT< T >::y().

{ cachePolar(); return p4Polar_.Rapidity(); }
template<class T>
virtual void reco::LeafRefCandidateT< T >::setCharge ( Charge  q) [inline, private, virtual]

Hide these from all users:

Implements reco::Candidate.

Definition at line 276 of file LeafRefCandidateT.h.

{ return; }                                         
template<class T>
virtual void reco::LeafRefCandidateT< T >::setLongLived ( ) [inline, private, virtual]

set long lived flag

Implements reco::Candidate.

Definition at line 293 of file LeafRefCandidateT.h.

{ return; }                                      
template<class T>
virtual void reco::LeafRefCandidateT< T >::setMass ( double  m) [inline, virtual]

set particle mass

Implements reco::Candidate.

Definition at line 130 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::clearCache(), m, and reco::LeafRefCandidateT< T >::mass_.

                                                  {
      mass_ = m;
      clearCache();
    }
template<class T>
virtual void reco::LeafRefCandidateT< T >::setMassConstraint ( ) [inline, private, virtual]

set mass constraint flag

Implements reco::Candidate.

Definition at line 296 of file LeafRefCandidateT.h.

{ return;}
template<class T>
virtual void reco::LeafRefCandidateT< T >::setP4 ( const LorentzVector p4) [inline, private, virtual]

set 4-momentum

Implements reco::Candidate.

Definition at line 279 of file LeafRefCandidateT.h.

                                                                {
      return;
    }
template<class T>
virtual void reco::LeafRefCandidateT< T >::setP4 ( const PolarLorentzVector p4) [inline, private, virtual]

set 4-momentum

Implements reco::Candidate.

Definition at line 282 of file LeafRefCandidateT.h.

                                                                     {
      return;
    }
template<class T>
virtual void reco::LeafRefCandidateT< T >::setPdgId ( int  pdgId) [inline, private, virtual]

Implements reco::Candidate.

Definition at line 289 of file LeafRefCandidateT.h.

{ return; }                                              
template<class T>
virtual void reco::LeafRefCandidateT< T >::setPz ( double  pz) [inline, private, virtual]

Implements reco::Candidate.

Definition at line 285 of file LeafRefCandidateT.h.

                                                 {
      return;
    }                            
template<class T>
virtual void reco::LeafRefCandidateT< T >::setStatus ( int  status) [inline, private, virtual]

set status word

Implements reco::Candidate.

Definition at line 291 of file LeafRefCandidateT.h.

{ return; }
template<class T>
virtual void reco::LeafRefCandidateT< T >::setThreeCharge ( Charge  qx3) [inline, private, virtual]

set electric charge

Implements reco::Candidate.

Definition at line 278 of file LeafRefCandidateT.h.

{ return; }
template<class T>
virtual void reco::LeafRefCandidateT< T >::setVertex ( const Point vertex) [inline, private, virtual]

set vertex

Implements reco::Candidate.

Definition at line 288 of file LeafRefCandidateT.h.

{ return; }
template<class T>
virtual CandidatePtr reco::LeafRefCandidateT< T >::sourceCandidatePtr ( size_type  i) const [inline, virtual]

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

Reimplemented from reco::Candidate.

Definition at line 77 of file LeafRefCandidateT.h.

                                                                              {
      static CandidatePtr dummyPtr;
      return dummyPtr;
    }
template<class T>
virtual int reco::LeafRefCandidateT< T >::status ( ) const [inline, private, virtual]

status word

Implements reco::Candidate.

Definition at line 290 of file LeafRefCandidateT.h.

{ return 0; }                                      
template<class T>
virtual double reco::LeafRefCandidateT< T >::theta ( ) const [inline, virtual]

momentum polar angle

Implements reco::Candidate.

Definition at line 121 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::ref_.

{ return ref_->theta(); }
template<class T>
virtual int reco::LeafRefCandidateT< T >::threeCharge ( ) const [inline, private, virtual]

electric charge

Implements reco::Candidate.

Definition at line 277 of file LeafRefCandidateT.h.

{ return 0; }
template<class T>
virtual const Point& reco::LeafRefCandidateT< T >::vertex ( ) const [inline, virtual]

vertex position

Implements reco::Candidate.

Definition at line 136 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::ref_.

{ return ref_->vertex(); }
template<class T>
virtual double reco::LeafRefCandidateT< T >::vertexChi2 ( ) const [inline, private, virtual]

chi-squares

Implements reco::Candidate.

Definition at line 298 of file LeafRefCandidateT.h.

{ return 0.; }
template<class T>
virtual double reco::LeafRefCandidateT< T >::vertexCovariance ( int  i,
int  j 
) const [inline, private, virtual]

(i, j)-th element of error matrix, i, j = 0, ... 2

Implements reco::Candidate.

Definition at line 301 of file LeafRefCandidateT.h.

{ return 0.; }
template<class T>
CovarianceMatrix reco::LeafRefCandidateT< T >::vertexCovariance ( ) const [inline, private, virtual]

fill SMatrix

Reimplemented from reco::Candidate.

Definition at line 302 of file LeafRefCandidateT.h.

References m.

{ CovarianceMatrix m; return m; }
template<class T>
virtual double reco::LeafRefCandidateT< T >::vertexNdof ( ) const [inline, private, virtual]

Number of degrees of freedom Meant to be Double32_t for soft-assignment fitters: tracks may contribute to the vertex with fractional weights. The ndof is then = to the sum of the track weights. see e.g. CMS NOTE-2006/032, CMS NOTE-2004/002

Implements reco::Candidate.

Definition at line 299 of file LeafRefCandidateT.h.

{ return 0.; }
template<class T>
virtual double reco::LeafRefCandidateT< T >::vertexNormalizedChi2 ( ) const [inline, private, virtual]

chi-squared divided by n.d.o.f.

Implements reco::Candidate.

Definition at line 300 of file LeafRefCandidateT.h.

{ return 0.; }
template<class T>
virtual double reco::LeafRefCandidateT< T >::vx ( ) const [inline, virtual]

x coordinate of vertex position

Implements reco::Candidate.

Definition at line 138 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::ref_.

{ return ref_->vx(); }
template<class T>
virtual double reco::LeafRefCandidateT< T >::vy ( ) const [inline, virtual]

y coordinate of vertex position

Implements reco::Candidate.

Definition at line 140 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::ref_.

{ return ref_->vy(); }
template<class T>
virtual double reco::LeafRefCandidateT< T >::vz ( ) const [inline, virtual]

z coordinate of vertex position

Implements reco::Candidate.

Definition at line 142 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::ref_.

{ return ref_->vz(); }
template<class T>
virtual double reco::LeafRefCandidateT< T >::y ( ) const [inline, virtual]

rapidity

Implements reco::Candidate.

Definition at line 127 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::rapidity().

{ return rapidity(); }

Friends And Related Function Documentation

template<class T>
friend class ::OverlapChecker [friend]

Reimplemented from reco::Candidate.

Definition at line 261 of file LeafRefCandidateT.h.

template<class T>
friend struct component [friend]

Reimplemented from reco::Candidate.

Definition at line 260 of file LeafRefCandidateT.h.

template<class T>
friend class ShallowCloneCandidate [friend]

Reimplemented from reco::Candidate.

Definition at line 262 of file LeafRefCandidateT.h.

template<class T>
friend class ShallowClonePtrCandidate [friend]

Reimplemented from reco::Candidate.

Definition at line 263 of file LeafRefCandidateT.h.


Member Data Documentation

template<class T>
edm::BoolCache reco::LeafRefCandidateT< T >::cacheCartesianFixed_ [mutable, protected]
template<class T>
edm::BoolCache reco::LeafRefCandidateT< T >::cachePolarFixed_ [mutable, protected]

has cache been set?

Definition at line 238 of file LeafRefCandidateT.h.

Referenced by reco::LeafRefCandidateT< T >::cachePolar(), and reco::LeafRefCandidateT< T >::clearCache().

template<class T>
const unsigned int reco::LeafRefCandidateT< T >::longLivedTag [static, private]

Definition at line 292 of file LeafRefCandidateT.h.

template<class T>
float reco::LeafRefCandidateT< T >::mass_ [protected]
template<class T>
const unsigned int reco::LeafRefCandidateT< T >::massConstraintTag [static, private]

Definition at line 295 of file LeafRefCandidateT.h.

template<class T>
LorentzVector reco::LeafRefCandidateT< T >::p4Cartesian_ [mutable, protected]
template<class T>
PolarLorentzVector reco::LeafRefCandidateT< T >::p4Polar_ [mutable, protected]
template<class T>
T reco::LeafRefCandidateT< T >::ref_ [protected]