CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
reco::GsfElectronCore Class Reference

#include <GsfElectronCore.h>

Public Member Functions

GsfElectronCoreclone () const
 
float ctfGsfOverlap () const
 
TrackRef ctfTrack () const
 
bool ecalDrivenSeed () const
 
 GsfElectronCore ()
 
 GsfElectronCore (const GsfTrackRef &)
 
const GsfTrackRefgsfTrack () const
 
const SuperClusterRefpflowSuperCluster () const
 
void setCtfTrack (const TrackRef &closestCtfTrack, float ctfGsfOverlap)
 
void setGsfTrack (const GsfTrackRef &gsfTrack)
 
void setPflowSuperCluster (const SuperClusterRef &scl)
 
void setSuperCluster (const SuperClusterRef &scl)
 
const SuperClusterRefsuperCluster () const
 
bool trackerDrivenSeed () const
 
 ~GsfElectronCore ()
 

Private Attributes

TrackRef closestCtfTrack_
 
float ctfGsfOverlap_
 
GsfTrackRef gsfTrack_
 
bool isEcalDrivenSeed_
 
bool isTrackerDrivenSeed_
 
SuperClusterRef pflowSuperCluster_
 
SuperClusterRef superCluster_
 

Detailed Description

Definition at line 28 of file GsfElectronCore.h.

Constructor & Destructor Documentation

GsfElectronCore::GsfElectronCore ( )

Definition at line 12 of file GsfElectronCore.cc.

Referenced by clone().

GsfElectronCore::GsfElectronCore ( const GsfTrackRef gsfTrack)

Definition at line 17 of file GsfElectronCore.cc.

References edm::RefToBase< T >::castTo(), edm::RefToBase< T >::isNull(), and edm::Ref< C, T, F >::isNull().

18  : gsfTrack_(gsfTrack), ctfGsfOverlap_(0.), isEcalDrivenSeed_(false), isTrackerDrivenSeed_(false)
19  {
20  edm::RefToBase<TrajectorySeed> seed = gsfTrack_->extra()->seedRef() ;
21  if (seed.isNull())
22  { edm::LogError("GsfElectronCore")<<"The GsfTrack has no seed ?!" ; }
23  else
24  {
25  ElectronSeedRef elseed = seed.castTo<ElectronSeedRef>() ;
26  if (elseed.isNull())
27  { edm::LogError("GsfElectronCore")<<"The GsfTrack seed is not an ElectronSeed ?!" ; }
28  else
29  {
30  if (elseed->isEcalDriven()) isEcalDrivenSeed_ = true ;
31  if (elseed->isTrackerDriven()) isTrackerDrivenSeed_ = true ;
32  }
33  }
34  }
bool isNull() const
Checks for null.
Definition: RefToBase.h:270
bool isNull() const
Checks for null.
Definition: Ref.h:247
REF castTo() const
cast to a concrete type
Definition: RefToBase.h:241
reco::GsfElectronCore::~GsfElectronCore ( )
inline

Definition at line 37 of file GsfElectronCore.h.

37 {}

Member Function Documentation

GsfElectronCore * GsfElectronCore::clone ( void  ) const

Definition at line 36 of file GsfElectronCore.cc.

References GsfElectronCore().

37  { return new GsfElectronCore(*this) ; }
float reco::GsfElectronCore::ctfGsfOverlap ( ) const
inline

Definition at line 44 of file GsfElectronCore.h.

References ctfGsfOverlap_.

Referenced by ConversionFinder::getConversionInfos(), and setCtfTrack().

44 { return ctfGsfOverlap_ ; } // measure the fraction of common hits between the GSF and CTF tracks
TrackRef reco::GsfElectronCore::ctfTrack ( ) const
inline

Definition at line 43 of file GsfElectronCore.h.

References closestCtfTrack_.

Referenced by ConversionFinder::getConversionInfos().

43 { return closestCtfTrack_ ; } // get the CTF track best matching the GTF associated to this electron
bool reco::GsfElectronCore::ecalDrivenSeed ( ) const
inline
const GsfTrackRef& reco::GsfElectronCore::gsfTrack ( ) const
inline
const SuperClusterRef& reco::GsfElectronCore::pflowSuperCluster ( ) const
inline

Definition at line 55 of file GsfElectronCore.h.

References pflowSuperCluster_.

55 { return pflowSuperCluster_ ; }
SuperClusterRef pflowSuperCluster_
void reco::GsfElectronCore::setCtfTrack ( const TrackRef closestCtfTrack,
float  ctfGsfOverlap 
)
inline
void reco::GsfElectronCore::setGsfTrack ( const GsfTrackRef gsfTrack)
inline

Definition at line 49 of file GsfElectronCore.h.

References gsfTrack(), and gsfTrack_.

Referenced by ElectronRecalibSuperClusterAssociator::produce().

49 { gsfTrack_ = gsfTrack ; }
const GsfTrackRef & gsfTrack() const
void reco::GsfElectronCore::setPflowSuperCluster ( const SuperClusterRef scl)
inline

Definition at line 56 of file GsfElectronCore.h.

References pflowSuperCluster_.

Referenced by PFElectronTranslator::createGsfElectronCores().

56 { pflowSuperCluster_ = scl ; }
SuperClusterRef pflowSuperCluster_
void reco::GsfElectronCore::setSuperCluster ( const SuperClusterRef scl)
inline
const SuperClusterRef& reco::GsfElectronCore::superCluster ( ) const
inline

Definition at line 41 of file GsfElectronCore.h.

References edm::Ref< C, T, F >::isNull(), pflowSuperCluster_, and superCluster_.

bool isNull() const
Checks for null.
Definition: Ref.h:247
SuperClusterRef pflowSuperCluster_
SuperClusterRef superCluster_
bool reco::GsfElectronCore::trackerDrivenSeed ( ) const
inline

Definition at line 46 of file GsfElectronCore.h.

References isTrackerDrivenSeed_.

46 { return isTrackerDrivenSeed_ ; }

Member Data Documentation

TrackRef reco::GsfElectronCore::closestCtfTrack_
private

Definition at line 63 of file GsfElectronCore.h.

Referenced by ctfTrack(), and setCtfTrack().

float reco::GsfElectronCore::ctfGsfOverlap_
private

Definition at line 64 of file GsfElectronCore.h.

Referenced by ctfGsfOverlap(), and setCtfTrack().

GsfTrackRef reco::GsfElectronCore::gsfTrack_
private

Definition at line 60 of file GsfElectronCore.h.

Referenced by gsfTrack(), and setGsfTrack().

bool reco::GsfElectronCore::isEcalDrivenSeed_
private

Definition at line 65 of file GsfElectronCore.h.

Referenced by ecalDrivenSeed().

bool reco::GsfElectronCore::isTrackerDrivenSeed_
private

Definition at line 66 of file GsfElectronCore.h.

Referenced by trackerDrivenSeed().

SuperClusterRef reco::GsfElectronCore::pflowSuperCluster_
private

Definition at line 62 of file GsfElectronCore.h.

Referenced by pflowSuperCluster(), setPflowSuperCluster(), and superCluster().

SuperClusterRef reco::GsfElectronCore::superCluster_
private

Definition at line 61 of file GsfElectronCore.h.

Referenced by setSuperCluster(), and superCluster().