#include <PFBlockElementGsfTrack.h>
Public Member Functions | |
PFBlockElement * | clone () const |
necessary to have the edm::OwnVector<PFBlockElement> working | |
void | Dump (std::ostream &out=std::cout, const char *tab=" ") const |
print the object inside the element | |
const GsfPFRecTrack & | GsftrackPF () const |
reco::GsfTrackRef | GsftrackRef () const |
GsfPFRecTrackRef | GsftrackRefPF () const |
bool | isSecondary () const |
PFBlockElementGsfTrack (const GsfPFRecTrackRef &gsfref, const math::XYZTLorentzVector &Pin, const math::XYZTLorentzVector &Pout) | |
PFBlockElementGsfTrack () | |
const math::XYZTLorentzVector & | Pin () const |
const math::XYZPointF & | positionAtECALEntrance () const |
const math::XYZTLorentzVector & | Pout () const |
virtual void | setTrackType (TrackType trType, bool value) |
the trackType | |
virtual bool | trackType (TrackType trType) const |
Private Attributes | |
reco::GsfTrackRef | GsftrackRef_ |
reference to the corresponding GSF track | |
GsfPFRecTrackRef | GsftrackRefPF_ |
reference to the corresponding GSF track (transient) | |
math::XYZTLorentzVector | Pin_ |
The CorrespondingKFTrackRef is needeed. | |
math::XYZPointF | positionAtECALEntrance_ |
position at ECAL entrance | |
math::XYZTLorentzVector | Pout_ |
unsigned int | trackType_ |
Track Element.
this class contains a reference to a PFRecTrack
Definition at line 18 of file PFBlockElementGsfTrack.h.
reco::PFBlockElementGsfTrack::PFBlockElementGsfTrack | ( | ) | [inline] |
PFBlockElementGsfTrack::PFBlockElementGsfTrack | ( | const GsfPFRecTrackRef & | gsfref, |
const math::XYZTLorentzVector & | Pin, | ||
const math::XYZTLorentzVector & | Pout | ||
) |
Definition at line 13 of file PFBlockElementGsfTrack.cc.
References reco::PFBlockElement::DEFAULT, reco::PFTrajectoryPoint::ECALEntrance, edm::Ref< C, T, F >::isNull(), reco::PFTrajectoryPoint::isValid(), reco::PFTrajectoryPoint::position(), positionAtECALEntrance_, and setTrackType().
: PFBlockElement( GSF ), GsftrackRefPF_( gsfref ), GsftrackRef_( gsfref->gsfTrackRef() ), Pin_(Pin), Pout_(Pout), trackType_(0){ if(gsfref.isNull() ) throw cms::Exception("NullRef") <<" PFBlockElementGsfTrack constructed from a null reference to PFGsfRecTrack."; const reco::PFTrajectoryPoint& atECAL = gsfref->extrapolatedPoint( reco::PFTrajectoryPoint::ECALEntrance ); if( atECAL.isValid() ) positionAtECALEntrance_.SetCoordinates( atECAL.position().x(), atECAL.position().y(), atECAL.position().z() ); setTrackType( DEFAULT, true ); }
PFBlockElement* reco::PFBlockElementGsfTrack::clone | ( | ) | const [inline, virtual] |
necessary to have the edm::OwnVector<PFBlockElement> working
Implements reco::PFBlockElement.
Definition at line 27 of file PFBlockElementGsfTrack.h.
References PFBlockElementGsfTrack().
{ return new PFBlockElementGsfTrack(*this); }
void reco::PFBlockElementGsfTrack::Dump | ( | std::ostream & | out = std::cout , |
const char * | tab = " " |
||
) | const [virtual] |
print the object inside the element
Reimplemented from reco::PFBlockElement.
const GsfPFRecTrack& reco::PFBlockElementGsfTrack::GsftrackPF | ( | ) | const [inline] |
Definition at line 67 of file PFBlockElementGsfTrack.h.
References GsftrackRefPF_.
{ return *GsftrackRefPF_;}
reco::GsfTrackRef reco::PFBlockElementGsfTrack::GsftrackRef | ( | ) | const [inline] |
Definition at line 53 of file PFBlockElementGsfTrack.h.
References GsftrackRef_.
Referenced by PFElectronAlgo::SetActive(), PFElectronAlgo::SetCandidates(), PFElectronAlgo::SetIDOutputs(), and PFElectronAlgo::SetLinks().
{ return GsftrackRef_; }
GsfPFRecTrackRef reco::PFBlockElementGsfTrack::GsftrackRefPF | ( | ) | const [inline] |
Definition at line 48 of file PFBlockElementGsfTrack.h.
References GsftrackRefPF_.
Referenced by PFElectronTranslator::getAmbiguousGsfTracks(), PFElectronAlgo::isPrimaryTrack(), PFBlockAlgo::link(), and DisplayManager::loadGPFBlocks().
{ return GsftrackRefPF_; }
bool reco::PFBlockElementGsfTrack::isSecondary | ( | ) | const [inline, virtual] |
Reimplemented from reco::PFBlockElement.
Definition at line 43 of file PFBlockElementGsfTrack.h.
References reco::PFBlockElement::T_FROM_GAMMACONV, and trackType().
{ return trackType(T_FROM_GAMMACONV); }
const math::XYZTLorentzVector& reco::PFBlockElementGsfTrack::Pin | ( | ) | const [inline] |
const math::XYZPointF& reco::PFBlockElementGsfTrack::positionAtECALEntrance | ( | ) | const [inline] |
Definition at line 61 of file PFBlockElementGsfTrack.h.
References positionAtECALEntrance_.
Referenced by PFElectronAlgo::SetCandidates(), PFElectronAlgo::SetIDOutputs(), and PFElectronAlgo::SetLinks().
{ return positionAtECALEntrance_; }
const math::XYZTLorentzVector& reco::PFBlockElementGsfTrack::Pout | ( | ) | const [inline] |
Definition at line 70 of file PFBlockElementGsfTrack.h.
References Pout_.
Referenced by PFElectronAlgo::SetIDOutputs(), and PFElectronAlgo::SetLinks().
{ return Pout_; }
virtual void reco::PFBlockElementGsfTrack::setTrackType | ( | TrackType | trType, |
bool | value | ||
) | [inline, virtual] |
the trackType
Reimplemented from reco::PFBlockElement.
Definition at line 38 of file PFBlockElementGsfTrack.h.
References trackType_.
Referenced by PFBlockElementGsfTrack().
{ if(value) trackType_ = trackType_ | (1<<trType); else trackType_ = trackType_ ^ (1<<trType); }
virtual bool reco::PFBlockElementGsfTrack::trackType | ( | TrackType | trType | ) | const [inline, virtual] |
Reimplemented from reco::PFBlockElement.
Definition at line 33 of file PFBlockElementGsfTrack.h.
References trackType_.
Referenced by isSecondary(), PFBlockAlgo::link(), and PFElectronAlgo::SetLinks().
{ return (trackType_>>trType) & 1; }
reference to the corresponding GSF track
Definition at line 79 of file PFBlockElementGsfTrack.h.
Referenced by GsftrackRef().
reference to the corresponding GSF track (transient)
Definition at line 76 of file PFBlockElementGsfTrack.h.
Referenced by GsftrackPF(), and GsftrackRefPF().
The CorrespondingKFTrackRef is needeed.
Definition at line 83 of file PFBlockElementGsfTrack.h.
Referenced by Pin().
position at ECAL entrance
Definition at line 89 of file PFBlockElementGsfTrack.h.
Referenced by PFBlockElementGsfTrack(), and positionAtECALEntrance().
Definition at line 84 of file PFBlockElementGsfTrack.h.
Referenced by Pout().
unsigned int reco::PFBlockElementGsfTrack::trackType_ [private] |
Definition at line 85 of file PFBlockElementGsfTrack.h.
Referenced by setTrackType(), and trackType().