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

void addConversion (const reco::ConversionRef &r)
 add single ConversionRef to the vector of Refs More...
 
void addOneLegConversion (const reco::ConversionRef &r)
 add single ConversionRef to the vector of Refs More...
 
GsfElectronCoreclone () const
 
reco::ConversionRefVector conversions () const
 get vector of references to Conversion's More...
 
reco::ConversionRefVector conversionsOneLeg () const
 get vector of references to one leg Conversion's More...
 
float ctfGsfOverlap () const
 
TrackRef ctfTrack () const
 
bool ecalDrivenSeed () const
 
 GsfElectronCore ()
 
 GsfElectronCore (const GsfTrackRef &)
 
const GsfTrackRefgsfTrack () const
 
const SuperClusterRefparentSuperCluster () const
 
void setCtfTrack (const TrackRef &closestCtfTrack, float ctfGsfOverlap)
 
void setGsfTrack (const GsfTrackRef &gsfTrack)
 
void setParentSuperCluster (const SuperClusterRef &scl)
 
void setSuperCluster (const SuperClusterRef &scl)
 
const SuperClusterRefsuperCluster () const
 
bool trackerDrivenSeed () const
 
 ~GsfElectronCore ()
 

Private Attributes

TrackRef closestCtfTrack_
 
reco::ConversionRefVector conversions_
 
reco::ConversionRefVector conversionsOneLeg_
 
float ctfGsfOverlap_
 
GsfTrackRef gsfTrack_
 
bool isEcalDrivenSeed_
 
bool isTrackerDrivenSeed_
 
SuperClusterRef parentSuperCluster_
 
SuperClusterRef superCluster_
 

Detailed Description

Definition at line 29 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(), edm::Ref< C, T, F >::isNull(), and fileCollector::seed.

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: Ref.h:249
REF castTo() const
Definition: RefToBase.h:278
bool isNull() const
Checks for null.
Definition: RefToBase.h:321
reco::GsfElectronCore::~GsfElectronCore ( )
inline

Definition at line 38 of file GsfElectronCore.h.

38 {}

Member Function Documentation

void reco::GsfElectronCore::addConversion ( const reco::ConversionRef r)
inline

add single ConversionRef to the vector of Refs

Definition at line 61 of file GsfElectronCore.h.

References conversions_, and edm::RefVector< C, T, F >::push_back().

Referenced by GEDGsfElectronCoreProducer::produceElectronCore().

61 { conversions_.push_back(r); }
reco::ConversionRefVector conversions_
void push_back(value_type const &ref)
Add a Ref&lt;C, T&gt; to the RefVector.
Definition: RefVector.h:62
void reco::GsfElectronCore::addOneLegConversion ( const reco::ConversionRef r)
inline

add single ConversionRef to the vector of Refs

Definition at line 63 of file GsfElectronCore.h.

References conversionsOneLeg_, and edm::RefVector< C, T, F >::push_back().

Referenced by GEDGsfElectronCoreProducer::produceElectronCore().

void push_back(value_type const &ref)
Add a Ref&lt;C, T&gt; to the RefVector.
Definition: RefVector.h:62
reco::ConversionRefVector conversionsOneLeg_
GsfElectronCore * GsfElectronCore::clone ( void  ) const

Definition at line 36 of file GsfElectronCore.cc.

References GsfElectronCore().

37  { return new GsfElectronCore(*this) ; }
reco::ConversionRefVector reco::GsfElectronCore::conversions ( ) const
inline

get vector of references to Conversion's

Definition at line 50 of file GsfElectronCore.h.

References conversions_.

50 {return conversions_;}
reco::ConversionRefVector conversions_
reco::ConversionRefVector reco::GsfElectronCore::conversionsOneLeg ( ) const
inline

get vector of references to one leg Conversion's

Definition at line 52 of file GsfElectronCore.h.

References conversionsOneLeg_.

52 {return conversionsOneLeg_;}
reco::ConversionRefVector conversionsOneLeg_
float reco::GsfElectronCore::ctfGsfOverlap ( ) const
inline

Definition at line 45 of file GsfElectronCore.h.

References ctfGsfOverlap_.

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

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

Definition at line 44 of file GsfElectronCore.h.

References closestCtfTrack_.

Referenced by ConversionFinder::getConversionInfos().

44 { 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::parentSuperCluster ( ) const
inline

Definition at line 66 of file GsfElectronCore.h.

References parentSuperCluster_.

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

Definition at line 55 of file GsfElectronCore.h.

References gsfTrack(), and gsfTrack_.

55 { gsfTrack_ = gsfTrack ; }
const GsfTrackRef & gsfTrack() const
void reco::GsfElectronCore::setParentSuperCluster ( const SuperClusterRef scl)
inline
void reco::GsfElectronCore::setSuperCluster ( const SuperClusterRef scl)
inline
const SuperClusterRef& reco::GsfElectronCore::superCluster ( ) const
inline
bool reco::GsfElectronCore::trackerDrivenSeed ( ) const
inline

Definition at line 47 of file GsfElectronCore.h.

References isTrackerDrivenSeed_.

47 { return isTrackerDrivenSeed_ ; }

Member Data Documentation

TrackRef reco::GsfElectronCore::closestCtfTrack_
private

Definition at line 74 of file GsfElectronCore.h.

Referenced by ctfTrack(), and setCtfTrack().

reco::ConversionRefVector reco::GsfElectronCore::conversions_
private

Definition at line 76 of file GsfElectronCore.h.

Referenced by addConversion(), and conversions().

reco::ConversionRefVector reco::GsfElectronCore::conversionsOneLeg_
private

Definition at line 78 of file GsfElectronCore.h.

Referenced by addOneLegConversion(), and conversionsOneLeg().

float reco::GsfElectronCore::ctfGsfOverlap_
private

Definition at line 79 of file GsfElectronCore.h.

Referenced by ctfGsfOverlap(), and setCtfTrack().

GsfTrackRef reco::GsfElectronCore::gsfTrack_
private

Definition at line 71 of file GsfElectronCore.h.

Referenced by gsfTrack(), and setGsfTrack().

bool reco::GsfElectronCore::isEcalDrivenSeed_
private

Definition at line 80 of file GsfElectronCore.h.

Referenced by ecalDrivenSeed().

bool reco::GsfElectronCore::isTrackerDrivenSeed_
private

Definition at line 81 of file GsfElectronCore.h.

Referenced by trackerDrivenSeed().

SuperClusterRef reco::GsfElectronCore::parentSuperCluster_
private

Definition at line 73 of file GsfElectronCore.h.

Referenced by parentSuperCluster(), setParentSuperCluster(), and superCluster().

SuperClusterRef reco::GsfElectronCore::superCluster_
private

Definition at line 72 of file GsfElectronCore.h.

Referenced by setSuperCluster(), and superCluster().