CMS 3D CMS Logo

reco::PFBlockElementGsfTrack Class Reference

Track Element. More...

#include <DataFormats/ParticleFlowReco/interface/PFBlockElementGsfTrack.h>

Inheritance diagram for reco::PFBlockElementGsfTrack:

reco::PFBlockElement

List of all members.

Public Member Functions

PFBlockElementclone () 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 GsfPFRecTrackGsftrackPF () const
reco::GsfTrackRef GsftrackRef () const
 
Returns:
reference to the corresponding GsfTrack

GsfPFRecTrackRef GsftrackRefPF () const
 
Returns:
reference to the corresponding PFGsfRecTrack

 PFBlockElementGsfTrack (const GsfPFRecTrackRef &gsfref, const math::XYZTLorentzVector &Pin, const math::XYZTLorentzVector &Pout)
 PFBlockElementGsfTrack ()
const math::XYZTLorentzVectorPin () const
const math::XYZPointFpositionAtECALEntrance () const
 
Returns:
position at ECAL entrance

const math::XYZTLorentzVectorPout () 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_


Detailed Description

Track Element.

this class contains a reference to a PFRecTrack

Definition at line 18 of file PFBlockElementGsfTrack.h.


Constructor & Destructor Documentation

reco::PFBlockElementGsfTrack::PFBlockElementGsfTrack (  )  [inline]

Definition at line 21 of file PFBlockElementGsfTrack.h.

Referenced by clone().

00021 {} 

PFBlockElementGsfTrack::PFBlockElementGsfTrack ( const GsfPFRecTrackRef gsfref,
const math::XYZTLorentzVector Pin,
const math::XYZTLorentzVector Pout 
)

Definition at line 13 of file PFBlockElementGsfTrack.cc.

References reco::PFTrajectoryPoint::ECALEntrance, edm::Ref< C, T, F >::isNull(), reco::PFTrajectoryPoint::isValid(), reco::PFTrajectoryPoint::position(), and positionAtECALEntrance_.

00013                                                                                                                                                    : 
00014   PFBlockElement( GSF ),
00015   GsftrackRefPF_( gsfref ), 
00016   GsftrackRef_( gsfref->gsfTrackRef() ),
00017   Pin_(Pin),
00018   Pout_(Pout) {
00019 
00020   if(gsfref.isNull() )
00021     throw cms::Exception("NullRef")
00022       <<" PFBlockElementGsfTrack constructed from a null reference to PFGsfRecTrack.";
00023   const reco::PFTrajectoryPoint& atECAL 
00024     = gsfref->extrapolatedPoint( reco::PFTrajectoryPoint::ECALEntrance );
00025   if( atECAL.isValid() ) 
00026     positionAtECALEntrance_.SetCoordinates( atECAL.position().x(),
00027                                             atECAL.position().y(),
00028                                             atECAL.position().z() );
00029 
00030 }


Member Function Documentation

PFBlockElement* reco::PFBlockElementGsfTrack::clone (  )  const [inline, virtual]

necessary to have the edm::OwnVector<PFBlockElement> working

Implements reco::PFBlockElement.

Definition at line 25 of file PFBlockElementGsfTrack.h.

References PFBlockElementGsfTrack().

00025 { 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.

Referenced by reco::operator<<().

const GsfPFRecTrack& reco::PFBlockElementGsfTrack::GsftrackPF (  )  const [inline]

Definition at line 50 of file PFBlockElementGsfTrack.h.

References GsftrackRefPF_.

00050 { return *GsftrackRefPF_;}

reco::GsfTrackRef reco::PFBlockElementGsfTrack::GsftrackRef (  )  const [inline]

Returns:
reference to the corresponding GsfTrack

Definition at line 36 of file PFBlockElementGsfTrack.h.

References GsftrackRef_.

Referenced by PFElectronAlgo::SetCandidates(), and PFElectronAlgo::SetIDOutputs().

00036                                         {
00037       return GsftrackRef_;
00038     }

GsfPFRecTrackRef reco::PFBlockElementGsfTrack::GsftrackRefPF (  )  const [inline]

Returns:
reference to the corresponding PFGsfRecTrack

Definition at line 31 of file PFBlockElementGsfTrack.h.

References GsftrackRefPF_.

Referenced by PFBlockAlgo::link().

00031                                            {
00032       return GsftrackRefPF_;
00033     }

const math::XYZTLorentzVector& reco::PFBlockElementGsfTrack::Pin (  )  const [inline]

Definition at line 52 of file PFBlockElementGsfTrack.h.

References Pin_.

00052 { return Pin_; }

const math::XYZPointF& reco::PFBlockElementGsfTrack::positionAtECALEntrance (  )  const [inline]

Returns:
position at ECAL entrance

Definition at line 44 of file PFBlockElementGsfTrack.h.

References positionAtECALEntrance_.

Referenced by PFElectronAlgo::SetIDOutputs().

00044                                                         {
00045       return positionAtECALEntrance_;
00046     }

const math::XYZTLorentzVector& reco::PFBlockElementGsfTrack::Pout (  )  const [inline]

Definition at line 53 of file PFBlockElementGsfTrack.h.

References Pout_.

Referenced by PFElectronAlgo::SetIDOutputs().

00053 { return Pout_; }


Member Data Documentation

reco::GsfTrackRef reco::PFBlockElementGsfTrack::GsftrackRef_ [private]

reference to the corresponding GSF track

Definition at line 60 of file PFBlockElementGsfTrack.h.

Referenced by GsftrackRef().

GsfPFRecTrackRef reco::PFBlockElementGsfTrack::GsftrackRefPF_ [private]

reference to the corresponding GSF track (transient)

Definition at line 57 of file PFBlockElementGsfTrack.h.

Referenced by GsftrackPF(), and GsftrackRefPF().

math::XYZTLorentzVector reco::PFBlockElementGsfTrack::Pin_ [private]

The CorrespondingKFTrackRef is needeed.

Definition at line 64 of file PFBlockElementGsfTrack.h.

Referenced by Pin().

math::XYZPointF reco::PFBlockElementGsfTrack::positionAtECALEntrance_ [private]

position at ECAL entrance

Definition at line 69 of file PFBlockElementGsfTrack.h.

Referenced by PFBlockElementGsfTrack(), and positionAtECALEntrance().

math::XYZTLorentzVector reco::PFBlockElementGsfTrack::Pout_ [private]

Definition at line 65 of file PFBlockElementGsfTrack.h.

Referenced by Pout().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:51:18 2009 for CMSSW by  doxygen 1.5.4