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  daughter_iterator

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
virtual int charge () const
 electric charge
virtual LeafRefCandidateT< T > * clone () const
 returns a clone of the Candidate object
virtual const Candidatedaughter (size_type) const
 return daughter at a given position (throws an exception)
virtual Candidatedaughter (size_type)
 return daughter at a given position (throws an exception)
virtual Candidatedaughter (const std::string &s)
 return daughter with a specified role name
virtual const Candidatedaughter (const std::string &s) const
 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
 energy
virtual double et () const
 transverse energy
virtual double eta () const
 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
 This only happens if the concrete Candidate type is ShallowCloneCandidate.
virtual bool hasMasterClonePtr () const
virtual bool isCaloMuon () const
virtual bool isConvertedPhoton () const
virtual bool isElectron () const
virtual bool isGlobalMuon () const
virtual bool isJet () const
virtual bool isMuon () const
virtual bool isPhoton () const
virtual bool isStandAloneMuon () const
virtual bool isTrackerMuon () const
 LeafRefCandidateT (const T &c, float m)
 LeafRefCandidateT ()
 default constructor
virtual double mass () const
 mass
virtual double massSqr () const
 mass squared
virtual const CandidateBaseRefmasterClone () const
virtual const CandidatePtrmasterClonePtr () const
template<typename Ref >
Ref masterRef () const
 cast master clone reference to a concrete type
virtual Vector momentum () const
 spatial momentum vector
virtual const Candidatemother (size_type) const
 return mother at a given position (throws an exception)
virtual double mt () const
 transverse mass
virtual double mtSqr () const
 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
 number of daughters
virtual size_t numberOfMothers () const
 number of mothers
virtual size_t numberOfSourceCandidatePtrs () const
virtual double p () const
 magnitude of momentum vector
virtual const LorentzVectorp4 () const
 four-momentum Lorentz vector
virtual int pdgId () const
 pdg ID: dummy for now
virtual double phi () const
 momentum azimuthal angle
virtual const PolarLorentzVectorpolarP4 () const
 four-momentum Lorentz vector
virtual double pt () const
 transverse momentum
virtual double px () const
 x coordinate of momentum vector
virtual double py () const
 y coordinate of momentum vector
virtual double pz () const
 z coordinate of momentum vector
virtual double rapidity () const
 rapidity
virtual void setMass (double m)
 set particle mass
virtual CandidatePtr sourceCandidatePtr (size_type i) const
virtual double theta () const
 momentum polar angle
virtual const Pointvertex () const
 vertex position
virtual double vx () const
 x coordinate of vertex position
virtual double vy () const
 y coordinate of vertex position
virtual double vz () const
 z coordinate of vertex position
virtual double y () const
 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
virtual bool longLived () const
 is long lived?
virtual bool massConstraint () const
 do mass constraint?
virtual void setCharge (Charge q)
virtual void setLongLived ()
 set long lived flag
virtual void setMassConstraint ()
 set mass constraint flag
virtual void setP4 (const LorentzVector &p4)
 set 4-momentum
virtual void setP4 (const PolarLorentzVector &p4)
 set 4-momentum
virtual void setPdgId (int pdgId)
virtual void setPz (double pz)
virtual void setStatus (int status)
 set status word
virtual void setThreeCharge (Charge qx3)
 set electric charge
virtual void setVertex (const Point &vertex)
 set vertex
virtual int status () const
 status word
virtual int threeCharge () const
 electric charge
virtual double vertexChi2 () const
 chi-squares
virtual double vertexCovariance (int i, int j) const
 (i, j)-th element of error matrix, i, j = 0, ... 2
CovarianceMatrix vertexCovariance () const
 fill SMatrix
virtual double vertexNdof () const
virtual double vertexNormalizedChi2 () const
 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
Version:
Id:
LeafRefCandidateT.h,v 1.2 2011/10/27 19:54:25 wmtan Exp

Definition at line 22 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 27 of file LeafRefCandidateT.h.

Definition at line 268 of file LeafRefCandidateT.h.

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

collection of daughter candidates

Definition at line 25 of file LeafRefCandidateT.h.

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

index type

Reimplemented from reco::Candidate.

Definition at line 37 of file LeafRefCandidateT.h.

Definition at line 270 of file LeafRefCandidateT.h.

Lorentz vector.

Reimplemented from reco::Candidate.

Definition at line 29 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 33 of file LeafRefCandidateT.h.

Lorentz vector.

Reimplemented from reco::Candidate.

Definition at line 31 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 35 of file LeafRefCandidateT.h.


Constructor & Destructor Documentation

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

default constructor

Definition at line 40 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 44 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 50 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 311 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 321 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 209 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 96 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 84 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 147 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 68 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 70 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 72 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 62 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 316 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 326 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 213 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 102 of file LeafRefCandidateT.h.

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

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

momentum pseudorapidity

Implements reco::Candidate.

Definition at line 124 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 304 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 173 of file LeafRefCandidateT.h.

References funct::C, edm::RefToBase< T >::get(), reco::LeafRefCandidateT< T >::hasMasterClone(), and reco::LeafRefCandidateT< T >::masterClone().

                                       {
      if ( hasMasterClone() ) return masterClone()->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 178 of file LeafRefCandidateT.h.

References funct::C, edm::RefToBase< T >::get(), reco::LeafRefCandidateT< T >::hasMasterClone(), and reco::LeafRefCandidateT< T >::masterClone().

                                                     {
      if ( hasMasterClone() ) return masterClone()->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 183 of file LeafRefCandidateT.h.

References funct::C, edm::RefToBase< T >::get(), reco::LeafRefCandidateT< T >::hasMasterClone(), i, and reco::LeafRefCandidateT< T >::masterClone().

                                                    {
      if ( hasMasterClone() ) return masterClone()->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 188 of file LeafRefCandidateT.h.

References funct::C, edm::RefToBase< T >::get(), reco::LeafRefCandidateT< T >::hasMasterClone(), i, and reco::LeafRefCandidateT< T >::masterClone().

                                                                  {
      if ( hasMasterClone() ) return masterClone()->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 153 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 161 of file LeafRefCandidateT.h.

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

Implements reco::Candidate.

Definition at line 223 of file LeafRefCandidateT.h.

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

Implements reco::Candidate.

Definition at line 225 of file LeafRefCandidateT.h.

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

Implements reco::Candidate.

Definition at line 218 of file LeafRefCandidateT.h.

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

Implements reco::Candidate.

Definition at line 221 of file LeafRefCandidateT.h.

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

Implements reco::Candidate.

Definition at line 226 of file LeafRefCandidateT.h.

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

Implements reco::Candidate.

Definition at line 219 of file LeafRefCandidateT.h.

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

Implements reco::Candidate.

Definition at line 224 of file LeafRefCandidateT.h.

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

Implements reco::Candidate.

Definition at line 220 of file LeafRefCandidateT.h.

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

Implements reco::Candidate.

Definition at line 222 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 295 of file LeafRefCandidateT.h.

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

mass

Implements reco::Candidate.

Definition at line 104 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 298 of file LeafRefCandidateT.h.

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

mass squared

Implements reco::Candidate.

Definition at line 106 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 156 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 164 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 170 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 93 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 66 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 108 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 110 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 193 of file LeafRefCandidateT.h.

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

                                                    {
      if ( hasMasterClone() ) return masterClone()->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 198 of file LeafRefCandidateT.h.

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

                                                                  {
      if ( hasMasterClone() ) return masterClone()->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 60 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 64 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 75 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 332 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 338 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 98 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 89 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 86 of file LeafRefCandidateT.h.

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

momentum azimuthal angle

Implements reco::Candidate.

Definition at line 120 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 91 of file LeafRefCandidateT.h.

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

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

transverse momentum

Implements reco::Candidate.

Definition at line 118 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 112 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 114 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 116 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 126 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 277 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 294 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 131 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 297 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 280 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 283 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 290 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 286 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 292 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 279 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 289 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 78 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 291 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 122 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 278 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 137 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 299 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 302 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 303 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 300 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 301 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 139 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 141 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 143 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 128 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 262 of file LeafRefCandidateT.h.

template<class T>
friend struct component [friend]

Reimplemented from reco::Candidate.

Definition at line 261 of file LeafRefCandidateT.h.

template<class T>
friend class ShallowCloneCandidate [friend]

Reimplemented from reco::Candidate.

Definition at line 263 of file LeafRefCandidateT.h.

template<class T>
friend class ShallowClonePtrCandidate [friend]

Reimplemented from reco::Candidate.

Definition at line 264 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 239 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 293 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 296 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]