CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Types | Public Member Functions | Protected Member Functions | Static 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

Classes

struct  daughter_iterator
 

Public Types

typedef int Charge
 electric charge type More...
 
typedef CandidateCollection daughters
 collection of daughter candidates More...
 
typedef unsigned int index
 
typedef math::XYZTLorentzVector LorentzVector
 Lorentz vector. More...
 
typedef math::XYZPoint Point
 point in the space More...
 
typedef
math::PtEtaPhiMLorentzVector 
PolarLorentzVector
 Lorentz vector. More...
 
typedef math::XYZVector Vector
 point in the space More...
 
- Public Types inherited from reco::Candidate
enum  { dimension = 3 }
 
enum  { size = dimension * (dimension + 1)/2 }
 matix size More...
 
typedef int Charge
 electric charge type More...
 
typedef candidate::const_iterator const_iterator
 
typedef math::Error< dimension >
::type 
CovarianceMatrix
 covariance error matrix (3x3) More...
 
typedef unsigned int index
 index type More...
 
typedef candidate::iterator iterator
 
typedef math::XYZTLorentzVector LorentzVector
 Lorentz vector. More...
 
typedef math::XYZPoint Point
 point in the space More...
 
typedef
math::PtEtaPhiMLorentzVector 
PolarLorentzVector
 Lorentz vector. More...
 
typedef size_t size_type
 
typedef math::XYZVector Vector
 point in the space More...
 

Public Member Functions

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

Protected Member Functions

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

Static Protected Member Functions

static short Class_Version ()
 

Protected Attributes

edm::BoolCache cacheCartesianFixed_
 
edm::BoolCache cachePolarFixed_
 has cache been set? More...
 
float mass_
 mass hypothesis More...
 
LorentzVector p4Cartesian_
 internal cache for p4 More...
 
PolarLorentzVector p4Polar_
 internal cache for p4 More...
 
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? More...
 
virtual bool massConstraint () const
 do mass constraint? More...
 
virtual void setCharge (Charge q)
 
virtual void setLongLived ()
 set long lived flag More...
 
virtual void setMassConstraint ()
 set mass constraint flag More...
 
virtual void setP4 (const LorentzVector &p4)
 set 4-momentum More...
 
virtual void setP4 (const PolarLorentzVector &p4)
 set 4-momentum More...
 
virtual void setPdgId (int pdgId)
 
virtual void setPz (double pz)
 
virtual void setStatus (int status)
 set status word More...
 
virtual void setThreeCharge (Charge qx3)
 set electric charge More...
 
virtual void setVertex (const Point &vertex)
 set vertex More...
 
virtual int status () const
 status word More...
 
virtual int threeCharge () const
 electric charge More...
 
virtual double vertexChi2 () const
 chi-squares More...
 
virtual double vertexCovariance (int i, int j) const
 (i, j)-th element of error matrix, i, j = 0, ... 2 More...
 
CovarianceMatrix vertexCovariance () const
 fill SMatrix More...
 
virtual double vertexNdof () const
 
virtual double vertexNormalizedChi2 () const
 chi-squared divided by n.d.o.f. More...
 

Static Private Attributes

static const unsigned int longLivedTag
 
static const unsigned int massConstraintTag
 

Friends

class ::OverlapChecker
 
template<typename , typename , typename >
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

Definition at line 26 of file LeafRefCandidateT.h.

Definition at line 269 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

Definition at line 36 of file LeafRefCandidateT.h.

Definition at line 271 of file LeafRefCandidateT.h.

Lorentz vector.

Definition at line 28 of file LeafRefCandidateT.h.

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

point in the space

Definition at line 32 of file LeafRefCandidateT.h.

Lorentz vector.

Definition at line 30 of file LeafRefCandidateT.h.

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

point in the space

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.

39  :
40  mass_(0),
41  cachePolarFixed_( false ) { }
edm::BoolCache cachePolarFixed_
has cache been set?
float mass_
mass hypothesis
template<class T>
reco::LeafRefCandidateT< T >::LeafRefCandidateT ( const T c,
float  m 
)
inlineexplicit

Definition at line 43 of file LeafRefCandidateT.h.

43  :
44  ref_(c),
45  mass_( m ),
46  cachePolarFixed_( false ), cacheCartesianFixed_( false ) {}
edm::BoolCache cachePolarFixed_
has cache been set?
float mass_
mass hypothesis
edm::BoolCache cacheCartesianFixed_
template<class T>
virtual reco::LeafRefCandidateT< T >::~LeafRefCandidateT ( )
inlinevirtual

destructor

Definition at line 49 of file LeafRefCandidateT.h.

49 {}

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 312 of file LeafRefCandidateT.h.

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

312  {
314  }
candidate::const_iterator const_iterator
Definition: Candidate.h:35
candidate::const_iterator_imp_specific< daughters > const_iterator_imp_specific
template<class T >
Candidate::iterator reco::LeafRefCandidateT< T >::begin ( void  )
virtual

first daughter iterator

Implements reco::Candidate.

Definition at line 322 of file LeafRefCandidateT.h.

322  {
323  return iterator( new iterator_imp_specific );
324  }
candidate::iterator_imp_specific< daughters > iterator_imp_specific
candidate::iterator iterator
Definition: Candidate.h:36
template<class T>
template<typename S >
daughter_iterator<S>::type reco::LeafRefCandidateT< T >::beginFilter ( const S s) const
inline

Definition at line 208 of file LeafRefCandidateT.h.

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

208  {
209  return boost::make_filter_iterator(s, begin(), end());
210  }
virtual const_iterator begin() const
first daughter const_iterator
virtual const_iterator end() const
last daughter const_iterator
template<class T>
virtual Vector reco::LeafRefCandidateT< T >::boostToCM ( ) const
inlinevirtual

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_.

95 { cacheCartesian(); return p4Cartesian_.BoostToCM(); }
LorentzVector p4Cartesian_
internal cache for p4
void cacheCartesian() const
set internal cache
template<class T>
void reco::LeafRefCandidateT< T >::cacheCartesian ( ) const
inlineprotected
template<class T>
void reco::LeafRefCandidateT< T >::cachePolar ( ) const
inlineprotected
template<class T>
virtual int reco::LeafRefCandidateT< T >::charge ( ) const
inlinevirtual

electric charge

Implements reco::Candidate.

Definition at line 83 of file LeafRefCandidateT.h.

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

83 { return ref_->charge(); }
template<class T>
static short reco::LeafRefCandidateT< T >::Class_Version ( )
inlinestaticprotected

Definition at line 265 of file LeafRefCandidateT.h.

267 :
268  // const iterator implementation
template<class T>
void reco::LeafRefCandidateT< T >::clearCache ( ) const
inlineprotected

clear internal cache

Definition at line 253 of file LeafRefCandidateT.h.

References reco::LeafRefCandidateT< T >::cacheCartesianFixed_, and reco::LeafRefCandidateT< T >::cachePolarFixed_.

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

253  {
254  cachePolarFixed_ = false;
255  cacheCartesianFixed_ = false;
256  }
edm::BoolCache cachePolarFixed_
has cache been set?
edm::BoolCache cacheCartesianFixed_
template<class T>
virtual LeafRefCandidateT<T>* reco::LeafRefCandidateT< T >::clone ( void  ) const
inlinevirtual

returns a clone of the Candidate object

Implements reco::Candidate.

Definition at line 146 of file LeafRefCandidateT.h.

146  {
147  return new LeafRefCandidateT<T>( *this );
148  }
template<class T>
virtual const Candidate* reco::LeafRefCandidateT< T >::daughter ( size_type  ) const
inlinevirtual

return daughter at a given position (throws an exception)

Implements reco::Candidate.

Definition at line 61 of file LeafRefCandidateT.h.

61 { return 0; }
template<class T>
virtual Candidate* reco::LeafRefCandidateT< T >::daughter ( size_type  )
inlinevirtual

return daughter at a given position (throws an exception)

Implements reco::Candidate.

Definition at line 67 of file LeafRefCandidateT.h.

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

return daughter with a specified role name

Implements reco::Candidate.

Definition at line 69 of file LeafRefCandidateT.h.

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

return daughter with a specified role name

Implements reco::Candidate.

Definition at line 71 of file LeafRefCandidateT.h.

71 { 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 317 of file LeafRefCandidateT.h.

Referenced by reco::LeafRefCandidateT< T >::beginFilter(), Types.LuminosityBlockRange::cppID(), Types.EventRange::cppID(), and reco::LeafRefCandidateT< T >::endFilter().

317  {
319  }
candidate::const_iterator const_iterator
Definition: Candidate.h:35
candidate::const_iterator_imp_specific< daughters > const_iterator_imp_specific
template<class T >
Candidate::iterator reco::LeafRefCandidateT< T >::end ( void  )
virtual

last daughter iterator

Implements reco::Candidate.

Definition at line 327 of file LeafRefCandidateT.h.

Referenced by Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().

327  {
328  return iterator( new iterator_imp_specific );
329  }
candidate::iterator_imp_specific< daughters > iterator_imp_specific
candidate::iterator iterator
Definition: Candidate.h:36
template<class T>
template<typename S >
daughter_iterator<S>::type reco::LeafRefCandidateT< T >::endFilter ( const S s) const
inline

Definition at line 212 of file LeafRefCandidateT.h.

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

212  {
213  return boost::make_filter_iterator(s, end(), end());
214  }
virtual const_iterator end() const
last daughter const_iterator
template<class T>
virtual double reco::LeafRefCandidateT< T >::energy ( ) const
inlinevirtual

energy

Implements reco::Candidate.

Definition at line 99 of file LeafRefCandidateT.h.

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

99 { cacheCartesian(); return p4Cartesian_.E(); }
LorentzVector p4Cartesian_
internal cache for p4
void cacheCartesian() const
set internal cache
template<class T>
virtual double reco::LeafRefCandidateT< T >::et ( ) const
inlinevirtual

transverse energy

Implements reco::Candidate.

Definition at line 101 of file LeafRefCandidateT.h.

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

101 { cachePolar(); return p4Polar_.Et(); }
PolarLorentzVector p4Polar_
internal cache for p4
void cachePolar() const
set internal cache
template<class T>
virtual float reco::LeafRefCandidateT< T >::eta ( ) const
inlinevirtual

momentum pseudorapidity

Implements reco::Candidate.

Definition at line 123 of file LeafRefCandidateT.h.

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

123 { return ref_->eta(); }
template<class T>
virtual void reco::LeafRefCandidateT< T >::fillVertexCovariance ( CovarianceMatrix v) const
inlineprivatevirtual

Implements reco::Candidate.

Definition at line 305 of file LeafRefCandidateT.h.

References mathSSE::return().

305 { return ; }
return((rh^lh)&mask)
template<class T>
template<typename C >
C reco::LeafRefCandidateT< T >::get ( void  ) const
inline
template<class T>
template<typename C , typename Tag >
C reco::LeafRefCandidateT< T >::get ( void  ) const
inline
template<class T>
template<typename C >
C reco::LeafRefCandidateT< T >::get ( size_type  i) const
inline
template<class T>
template<typename C , typename Tag >
C reco::LeafRefCandidateT< T >::get ( size_type  i) const
inline
template<class T>
virtual bool reco::LeafRefCandidateT< T >::hasMasterClone ( ) const
inlinevirtual

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().

152 { return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::hasMasterClonePtr ( ) const
inlinevirtual

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.

160 { return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::isCaloMuon ( ) const
inlinevirtual

Implements reco::Candidate.

Definition at line 222 of file LeafRefCandidateT.h.

222 { return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::isConvertedPhoton ( ) const
inlinevirtual

Implements reco::Candidate.

Definition at line 224 of file LeafRefCandidateT.h.

224 { return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::isElectron ( ) const
inlinevirtual

Implements reco::Candidate.

Definition at line 217 of file LeafRefCandidateT.h.

217 { return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::isGlobalMuon ( ) const
inlinevirtual

Implements reco::Candidate.

Definition at line 220 of file LeafRefCandidateT.h.

220 { return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::isJet ( ) const
inlinevirtual

Implements reco::Candidate.

Definition at line 225 of file LeafRefCandidateT.h.

225 { return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::isMuon ( ) const
inlinevirtual

Implements reco::Candidate.

Definition at line 218 of file LeafRefCandidateT.h.

218 { return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::isPhoton ( ) const
inlinevirtual

Implements reco::Candidate.

Definition at line 223 of file LeafRefCandidateT.h.

223 { return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::isStandAloneMuon ( ) const
inlinevirtual

Implements reco::Candidate.

Definition at line 219 of file LeafRefCandidateT.h.

219 { return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::isTrackerMuon ( ) const
inlinevirtual

Implements reco::Candidate.

Definition at line 221 of file LeafRefCandidateT.h.

221 { return false; }
template<class T>
virtual bool reco::LeafRefCandidateT< T >::longLived ( ) const
inlineprivatevirtual

is long lived?

Implements reco::Candidate.

Definition at line 296 of file LeafRefCandidateT.h.

296 { return false; }
template<class T>
virtual float reco::LeafRefCandidateT< T >::mass ( ) const
inlinevirtual

mass

Implements reco::Candidate.

Definition at line 103 of file LeafRefCandidateT.h.

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

103 { return mass_; }
float mass_
mass hypothesis
template<class T>
virtual bool reco::LeafRefCandidateT< T >::massConstraint ( ) const
inlineprivatevirtual

do mass constraint?

Implements reco::Candidate.

Definition at line 299 of file LeafRefCandidateT.h.

299 { return false; }
template<class T>
virtual float reco::LeafRefCandidateT< T >::massSqr ( ) const
inlinevirtual

mass squared

Implements reco::Candidate.

Definition at line 105 of file LeafRefCandidateT.h.

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

105 { return mass_ * mass_; }
float mass_
mass hypothesis
template<class T>
virtual const CandidateBaseRef& reco::LeafRefCandidateT< T >::masterClone ( ) const
inlinevirtual

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().

155  {
156  static const CandidateBaseRef dummyRef; return dummyRef;
157  }
edm::RefToBase< Candidate > CandidateBaseRef
persistent reference to an object in a collection of Candidate objects
Definition: CandidateFwd.h:31
template<class T>
virtual const CandidatePtr& reco::LeafRefCandidateT< T >::masterClonePtr ( ) const
inlinevirtual

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.

163  {
164  static const CandidatePtr dummyPtr; return dummyPtr;
165  }
edm::Ptr< Candidate > CandidatePtr
persistent reference to an object in a collection of Candidate objects
Definition: CandidateFwd.h:25
template<class T>
template<typename Ref >
Ref reco::LeafRefCandidateT< T >::masterRef ( ) const
inline

cast master clone reference to a concrete type

Definition at line 169 of file LeafRefCandidateT.h.

169 { Ref dummyRef; return dummyRef; }
template<class T>
virtual Vector reco::LeafRefCandidateT< T >::momentum ( ) const
inlinevirtual

spatial momentum vector

Implements reco::Candidate.

Definition at line 92 of file LeafRefCandidateT.h.

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

92 { cacheCartesian(); return p4Cartesian_.Vect(); }
LorentzVector p4Cartesian_
internal cache for p4
void cacheCartesian() const
set internal cache
template<class T>
virtual const Candidate* reco::LeafRefCandidateT< T >::mother ( size_type  ) const
inlinevirtual

return mother at a given position (throws an exception)

Implements reco::Candidate.

Definition at line 65 of file LeafRefCandidateT.h.

65 { return 0; }
template<class T>
virtual double reco::LeafRefCandidateT< T >::mt ( ) const
inlinevirtual

transverse mass

Implements reco::Candidate.

Definition at line 107 of file LeafRefCandidateT.h.

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

107 { cachePolar(); return p4Polar_.Mt(); }
PolarLorentzVector p4Polar_
internal cache for p4
void cachePolar() const
set internal cache
template<class T>
virtual double reco::LeafRefCandidateT< T >::mtSqr ( ) const
inlinevirtual

transverse mass squared

Implements reco::Candidate.

Definition at line 109 of file LeafRefCandidateT.h.

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

109 { cachePolar(); return p4Polar_.Mt2(); }
PolarLorentzVector p4Polar_
internal cache for p4
void cachePolar() const
set internal cache
template<class T>
template<typename C >
size_type reco::LeafRefCandidateT< T >::numberOf ( ) const
inline

number of components

Definition at line 192 of file LeafRefCandidateT.h.

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

192  {
193  if ( hasMasterClone() ) return masterClone()->template numberOf<C>();
194  else return reco::numberOf<C>( * this );
195  }
virtual const CandidateBaseRef & masterClone() const
virtual bool hasMasterClone() const
This only happens if the concrete Candidate type is ShallowCloneCandidate.
template<class T>
template<typename C , typename Tag >
size_type reco::LeafRefCandidateT< T >::numberOf ( ) const
inline

number of components

Definition at line 197 of file LeafRefCandidateT.h.

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

197  {
198  if ( hasMasterClone() ) return masterClone()->template numberOf<C, Tag>();
199  else return reco::numberOf<C, Tag>( * this );
200  }
virtual const CandidateBaseRef & masterClone() const
virtual bool hasMasterClone() const
This only happens if the concrete Candidate type is ShallowCloneCandidate.
template<class T>
virtual size_t reco::LeafRefCandidateT< T >::numberOfDaughters ( ) const
inlinevirtual

number of daughters

Implements reco::Candidate.

Definition at line 59 of file LeafRefCandidateT.h.

59 { return 0; }
template<class T>
virtual size_t reco::LeafRefCandidateT< T >::numberOfMothers ( ) const
inlinevirtual

number of mothers

Implements reco::Candidate.

Definition at line 63 of file LeafRefCandidateT.h.

63 { return 0; }
template<class T>
virtual size_t reco::LeafRefCandidateT< T >::numberOfSourceCandidatePtrs ( ) const
inlinevirtual

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

Implements reco::Candidate.

Definition at line 74 of file LeafRefCandidateT.h.

74 { return 0;}
template<class T >
bool reco::LeafRefCandidateT< T >::overlap ( const Candidate o) const
protectedvirtual

check overlap with another Candidate

Implements reco::Candidate.

Definition at line 333 of file LeafRefCandidateT.h.

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

333  {
334  return p4() == o.p4() && vertex() == o.vertex() && charge() == o.charge();
335  }
virtual int charge() const
electric charge
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
virtual const Point & vertex() const
vertex position
template<class T >
bool reco::LeafRefCandidateT< T >::overlap ( const LeafRefCandidateT< T > &  o) const
protectedvirtual

Definition at line 339 of file LeafRefCandidateT.h.

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

339  {
340  return ref_ == o.ref_;
341  }
template<class T>
virtual double reco::LeafRefCandidateT< T >::p ( ) const
inlinevirtual

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_.

97 { cacheCartesian(); return p4Cartesian_.P(); }
LorentzVector p4Cartesian_
internal cache for p4
void cacheCartesian() const
set internal cache
template<class T>
virtual const LorentzVector& reco::LeafRefCandidateT< T >::p4 ( ) const
inlinevirtual

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_.

88 { cacheCartesian(); return p4Cartesian_; }
LorentzVector p4Cartesian_
internal cache for p4
void cacheCartesian() const
set internal cache
template<class T>
virtual int reco::LeafRefCandidateT< T >::pdgId ( ) const
inlinevirtual

pdg ID: dummy for now

Implements reco::Candidate.

Definition at line 85 of file LeafRefCandidateT.h.

85 { return 0; }
template<class T>
virtual float reco::LeafRefCandidateT< T >::phi ( ) const
inlinevirtual

momentum azimuthal angle

Implements reco::Candidate.

Definition at line 119 of file LeafRefCandidateT.h.

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

119 { return ref_->phi(); }
template<class T>
virtual const PolarLorentzVector& reco::LeafRefCandidateT< T >::polarP4 ( ) const
inlinevirtual

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_.

90 { cachePolar(); return p4Polar_; }
PolarLorentzVector p4Polar_
internal cache for p4
void cachePolar() const
set internal cache
template<class T>
virtual float reco::LeafRefCandidateT< T >::pt ( ) const
inlinevirtual

transverse momentum

Implements reco::Candidate.

Definition at line 117 of file LeafRefCandidateT.h.

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

117 { return ref_->pt(); }
template<class T>
virtual double reco::LeafRefCandidateT< T >::px ( ) const
inlinevirtual

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_.

111 { cacheCartesian(); return p4Cartesian_.Px(); }
LorentzVector p4Cartesian_
internal cache for p4
void cacheCartesian() const
set internal cache
template<class T>
virtual double reco::LeafRefCandidateT< T >::py ( ) const
inlinevirtual

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_.

113 { cacheCartesian(); return p4Cartesian_.Py(); }
LorentzVector p4Cartesian_
internal cache for p4
void cacheCartesian() const
set internal cache
template<class T>
virtual double reco::LeafRefCandidateT< T >::pz ( ) const
inlinevirtual

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_.

115 { cacheCartesian(); return p4Cartesian_.Pz(); }
LorentzVector p4Cartesian_
internal cache for p4
void cacheCartesian() const
set internal cache
template<class T>
virtual double reco::LeafRefCandidateT< T >::rapidity ( ) const
inlinevirtual

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().

125 { cachePolar(); return p4Polar_.Rapidity(); }
PolarLorentzVector p4Polar_
internal cache for p4
void cachePolar() const
set internal cache
template<class T>
virtual void reco::LeafRefCandidateT< T >::setCharge ( Charge  q)
inlineprivatevirtual

Hide these from all users:

Implements reco::Candidate.

Definition at line 278 of file LeafRefCandidateT.h.

278 { return; }
template<class T>
virtual void reco::LeafRefCandidateT< T >::setLongLived ( )
inlineprivatevirtual

set long lived flag

Implements reco::Candidate.

Definition at line 295 of file LeafRefCandidateT.h.

295 { return; }
template<class T>
virtual void reco::LeafRefCandidateT< T >::setMass ( double  m)
inlinevirtual

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_.

130  {
131  mass_ = m;
132  clearCache();
133  }
void clearCache() const
clear internal cache
float mass_
mass hypothesis
template<class T>
virtual void reco::LeafRefCandidateT< T >::setMassConstraint ( )
inlineprivatevirtual

set mass constraint flag

Implements reco::Candidate.

Definition at line 298 of file LeafRefCandidateT.h.

298 { return;}
template<class T>
virtual void reco::LeafRefCandidateT< T >::setP4 ( const LorentzVector p4)
inlineprivatevirtual

set 4-momentum

Implements reco::Candidate.

Definition at line 281 of file LeafRefCandidateT.h.

281  {
282  return;
283  }
template<class T>
virtual void reco::LeafRefCandidateT< T >::setP4 ( const PolarLorentzVector p4)
inlineprivatevirtual

set 4-momentum

Implements reco::Candidate.

Definition at line 284 of file LeafRefCandidateT.h.

284  {
285  return;
286  }
template<class T>
virtual void reco::LeafRefCandidateT< T >::setPdgId ( int  pdgId)
inlineprivatevirtual

Implements reco::Candidate.

Definition at line 291 of file LeafRefCandidateT.h.

291 { return; }
template<class T>
virtual void reco::LeafRefCandidateT< T >::setPz ( double  pz)
inlineprivatevirtual

Implements reco::Candidate.

Definition at line 287 of file LeafRefCandidateT.h.

287  {
288  return;
289  }
template<class T>
virtual void reco::LeafRefCandidateT< T >::setStatus ( int  status)
inlineprivatevirtual

set status word

Implements reco::Candidate.

Definition at line 293 of file LeafRefCandidateT.h.

293 { return; }
template<class T>
virtual void reco::LeafRefCandidateT< T >::setThreeCharge ( Charge  qx3)
inlineprivatevirtual

set electric charge

Implements reco::Candidate.

Definition at line 280 of file LeafRefCandidateT.h.

280 { return; }
template<class T>
virtual void reco::LeafRefCandidateT< T >::setVertex ( const Point vertex)
inlineprivatevirtual

set vertex

Implements reco::Candidate.

Definition at line 290 of file LeafRefCandidateT.h.

290 { return; }
template<class T>
virtual CandidatePtr reco::LeafRefCandidateT< T >::sourceCandidatePtr ( size_type  i) const
inlinevirtual

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.

77  {
78  static const CandidatePtr dummyPtr;
79  return dummyPtr;
80  }
edm::Ptr< Candidate > CandidatePtr
persistent reference to an object in a collection of Candidate objects
Definition: CandidateFwd.h:25
template<class T>
virtual int reco::LeafRefCandidateT< T >::status ( ) const
inlineprivatevirtual

status word

Implements reco::Candidate.

Definition at line 292 of file LeafRefCandidateT.h.

292 { return 0; }
template<class T>
virtual double reco::LeafRefCandidateT< T >::theta ( ) const
inlinevirtual

momentum polar angle

Implements reco::Candidate.

Definition at line 121 of file LeafRefCandidateT.h.

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

121 { return ref_->theta(); }
template<class T>
virtual int reco::LeafRefCandidateT< T >::threeCharge ( ) const
inlineprivatevirtual

electric charge

Implements reco::Candidate.

Definition at line 279 of file LeafRefCandidateT.h.

279 { return 0; }
template<class T>
virtual const Point& reco::LeafRefCandidateT< T >::vertex ( ) const
inlinevirtual

vertex position

Implements reco::Candidate.

Definition at line 136 of file LeafRefCandidateT.h.

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

136 { return ref_->vertex(); }
template<class T>
virtual double reco::LeafRefCandidateT< T >::vertexChi2 ( ) const
inlineprivatevirtual

chi-squares

Implements reco::Candidate.

Definition at line 300 of file LeafRefCandidateT.h.

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

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

Implements reco::Candidate.

Definition at line 303 of file LeafRefCandidateT.h.

303 { return 0.; }
template<class T>
CovarianceMatrix reco::LeafRefCandidateT< T >::vertexCovariance ( ) const
inlineprivatevirtual

fill SMatrix

Reimplemented from reco::Candidate.

Definition at line 304 of file LeafRefCandidateT.h.

References m.

template<class T>
virtual double reco::LeafRefCandidateT< T >::vertexNdof ( ) const
inlineprivatevirtual

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 301 of file LeafRefCandidateT.h.

301 { return 0.; }
template<class T>
virtual double reco::LeafRefCandidateT< T >::vertexNormalizedChi2 ( ) const
inlineprivatevirtual

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

Implements reco::Candidate.

Definition at line 302 of file LeafRefCandidateT.h.

302 { return 0.; }
template<class T>
virtual double reco::LeafRefCandidateT< T >::vx ( ) const
inlinevirtual

x coordinate of vertex position

Implements reco::Candidate.

Definition at line 138 of file LeafRefCandidateT.h.

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

138 { return ref_->vx(); }
template<class T>
virtual double reco::LeafRefCandidateT< T >::vy ( ) const
inlinevirtual

y coordinate of vertex position

Implements reco::Candidate.

Definition at line 140 of file LeafRefCandidateT.h.

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

140 { return ref_->vy(); }
template<class T>
virtual double reco::LeafRefCandidateT< T >::vz ( ) const
inlinevirtual

z coordinate of vertex position

Implements reco::Candidate.

Definition at line 142 of file LeafRefCandidateT.h.

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

142 { return ref_->vz(); }
template<class T>
virtual double reco::LeafRefCandidateT< T >::y ( ) const
inlinevirtual

Friends And Related Function Documentation

template<class T>
friend class ::OverlapChecker
friend

Definition at line 261 of file LeafRefCandidateT.h.

template<class T>
template<typename , typename , typename >
friend struct component
friend

Definition at line 260 of file LeafRefCandidateT.h.

template<class T>
friend class ShallowCloneCandidate
friend

Definition at line 262 of file LeafRefCandidateT.h.

template<class T>
friend class ShallowClonePtrCandidate
friend

Definition at line 263 of file LeafRefCandidateT.h.

Member Data Documentation

template<class T>
edm::BoolCache reco::LeafRefCandidateT< T >::cacheCartesianFixed_
mutableprotected
template<class T>
edm::BoolCache reco::LeafRefCandidateT< T >::cachePolarFixed_
mutableprotected

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
staticprivate

Definition at line 294 of file LeafRefCandidateT.h.

template<class T>
float reco::LeafRefCandidateT< T >::mass_
protected
template<class T>
const unsigned int reco::LeafRefCandidateT< T >::massConstraintTag
staticprivate

Definition at line 297 of file LeafRefCandidateT.h.

template<class T>
LorentzVector reco::LeafRefCandidateT< T >::p4Cartesian_
mutableprotected
template<class T>
PolarLorentzVector reco::LeafRefCandidateT< T >::p4Polar_
mutableprotected
template<class T>
T reco::LeafRefCandidateT< T >::ref_
protected